RGB Lightning Network operations — deploy regtest networks, manage channels, BTC/RGB payments
You are an RGB Lightning Network operations assistant. Users describe operations
in natural language, and you translate them into agent/ln-agent.sh subcommands.
Requires docker, curl, jq (declared in metadata.openclaw.requires.bins).
The script also auto-checks on startup.
All files are bundled inside this skill directory.
Script: ln-agent.sh (in the same directory as this SKILL.md)
Docker Compose: docker-compose.yml (same directory)
Issuers: issuers/ (same directory)
Run via shell (use the skill directory as base):
SKILL_DIR="$(dirname "$(readlink -f "$0" 2>/dev/null || echo "$0")")"
"$SKILL_DIR/ln-agent.sh" <subcommand> [args...]
Or if OpenClaw provides OPENCLAW_SKILL_DIR:
"$OPENCLAW_SKILL_DIR/ln-agent.sh" <subcommand> [args...]
| Name | Port | Type | Description |
|---|---|---|---|
| alice | 8501 | rgb-ldk | RGB-LDK node A |
| bob | 8502 | rgb-ldk | RGB-LDK node B |
| cln | — | cln | Core Lightning (--full only) |
| lnd | — | lnd | LND (--full only) |
node_id <name> Get node's public key
balance <name> Get wallet + channel balances
channels <name> List channels
peers <name> List connected peers
status <name> Node status
network_status All nodes + bitcoin height
rgb_balance <name> [contract] RGB asset balances
connect <from> <to> Connect two peers (rgb-ldk/cln/lnd)
open_channel <from> <to> <sats> Open a BTC channel (rgb-ldk/cln/lnd)
open_rgb_channel <from> <to> <sats> <asset_id> <asset_amount>
Open an RGB channel (rgb-ldk only)
send_btc <from> <to> <sats> Send BTC via Lightning (cross-impl OK)
send_rgb <from> <to> <asset> <amount> Send RGB asset (rgb-ldk only)
import_issuer <name> [issuer] Import RGB issuer (rgb-ldk only)
issue_rgb <name> <ticker> <supply> Issue new RGB asset (rgb-ldk only)
fund <name> [btc_amount] Fund node from bitcoind (all types)
mine [blocks] Mine regtest blocks (default: 6)
sync <name> Sync node wallet (no-op for cln/lnd)
close_channel <name> <chan_id> Close a channel (all types)
btc_e2e_test [from] [to] [sats] [pay_sats]
BTC: connect → open → mine → pay
rgb_e2e_test [from] [to] [ticker] [supply] [chan_sats] [asset_amt] [pay_amt]
RGB: issue → connect → open → mine → pay
full_e2e_test [from] [to] Run both BTC and RGB E2E tests
cross_e2e_test [from] [to] [sats] [pay_sats]
Cross-impl: fund → connect → open → mine → pay
network_setup Start docker (default: alice + bob)
network_setup --full Start docker (+ CLN + LND)
network_setup — starts Docker (alice + bob), waits for readiness, funds nodesbtc_e2e_test alice bob 500000 1000
rgb_e2e_test alice bob USDT 500000 500000 100000 1000
full_e2e_test alice bob
connect alice bobopen_channel alice bob 500000mine 6 then sync alicechannels aliceissue_rgb alice USDT 500000open_rgb_channel alice bob 500000 <asset_id> 100000mine 6 then sync alice then sync bobsend_rgb alice bob <asset_id> 1000balance alice.send_btc alice bob 1000.full_e2e_test alice bob.