Skip to content

Commit 1232f96

Browse files
committed
docs: Document daemon channel commands
Record the operator and client commands needed to exercise the native Ark channel lifecycle locally.
1 parent 7a7cd76 commit 1232f96

1 file changed

Lines changed: 38 additions & 4 deletions

File tree

docs/daemon_cli_guide.md

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -281,11 +281,10 @@ alias wave='wavecli --no-tls --no-macaroons'
281281
### Command tree
282282

283283
The everyday wallet verbs and daemon introspection make up the default
284-
`--help` face. The advanced `ark`, `recovery`, and `dev` subtrees are
284+
`--help` face. The advanced `ark`, `channel`, `recovery`, and `dev` subtrees are
285285
hidden from `--help` (set `WAVELENGTH_DEV=1` to reveal them under an "Advanced"
286-
group) but stay fully runnable in every build — `wavecli ark …` works
287-
with or without the env var. `WAVELENGTH_DEV` only changes visibility; it never
288-
gates execution.
286+
group) but stay fully runnable in every build. `WAVELENGTH_DEV` only changes
287+
visibility; it never gates execution.
289288

290289
The `swap` subtree was retired — `send`/`recv --offchain` and `activity`
291290
cover it, and a stale `wavecli swap …` fails with a hint toward
@@ -313,6 +312,10 @@ wavecli
313312
│ ├── sweep [list] — broadcast requires approval
314313
│ ├── fees {estimate|history}
315314
│ └── listtransactions
315+
├── channel — Ark-backed native Lightning channels (hidden)
316+
│ ├── create / get
317+
│ ├── send / receive / pay
318+
│ └── close / force-close
316319
├── recovery {list|status|escalate|cancel} — daemon-owned vHTLC recovery rows (hidden)
317320
└── dev — generated low-level RPC (hidden; no wavewalletrpc)
318321
└── daemon <Method> — call any waverpc.DaemonService method
@@ -383,6 +386,37 @@ wavecli recv --offchain --amt 5000 --memo coffee
383386
wavecli dev daemon NewAddress
384387
```
385388

389+
### `channel` (development)
390+
391+
Promote wallet VTXO value into an unpublished native Lightning channel, use it
392+
for private or public payments, and choose cooperative or unilateral closure.
393+
Creation intentionally takes only the desired channel capacity; the daemon
394+
owns OOR preparation, backing reserve, private-channel policy, and activation.
395+
Channel IDs accept either the base64 value printed by protobuf JSON or 32-byte
396+
hex.
397+
398+
```bash
399+
wavecli channel create 100000
400+
wavecli channel get <channel-id>
401+
wavecli channel send <channel-id> 10000
402+
wavecli channel receive <channel-id> 5000
403+
wavecli channel pay <bolt11> --max-fee-sat 1000
404+
wavecli channel close <channel-id>
405+
wavecli channel force-close <channel-id>
406+
```
407+
408+
`recv --offchain` uses an active channel directly when it has enough inbound
409+
liquidity. Otherwise an eligible single-part payment can manifest an
410+
overfunded, hub-owned channel before the same payment hash is delivered over
411+
it. After completion, `activity inspect <payment-hash> --format json` reports
412+
the manifested `channel_id` and reserved alias SCID. A receive that reused an
413+
existing channel has an empty `channel_id`.
414+
415+
Payments that use the ordinary vHTLC fallback still settle into the wallet;
416+
they are not implicitly converted into channels. Any ordinary wallet VTXO,
417+
including value received through that fallback, can later be promoted with
418+
`wavecli channel create <amount-sat>`.
419+
386420
### `ark board` / `dev daemon Board`
387421

388422
Trigger the client to join the next round with any confirmed boarding

0 commit comments

Comments
 (0)