Installs and runs Lightning Terminal (litd) — a Docker bundle of lnd, loop, pool, tapd, and faraday. Supports watch-only with remote signer, standalone mode, and regtest. Use for Lightning payments, channel/liquidity management, or taproot assets.
How this skill is triggered — by the user, by Claude, or both
Slash command
/lightning-agent-tools:lndThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Install and operate a Lightning Terminal (litd) node for agent-driven payments.
profiles/debug.envprofiles/default.envprofiles/regtest.envprofiles/taproot.envprofiles/wumbo.envreferences/security.mdscripts/create-wallet.shscripts/docker-start.shscripts/docker-stop.shscripts/import-credentials.shscripts/install.shscripts/lncli.shscripts/start-lnd.shscripts/stop-lnd.shscripts/unlock-wallet.shtemplates/docker-compose-regtest.ymltemplates/docker-compose-watchonly.ymltemplates/docker-compose.ymltemplates/litd-regtest.conf.templatetemplates/litd-watchonly.conf.templateInstall and operate a Lightning Terminal (litd) node for agent-driven payments. litd bundles lnd with loop, pool, tapd, and faraday — giving agents access to liquidity management, channel marketplace, and taproot assets in a single container.
Default: Docker container, neutrino backend, SQLite storage, testnet. No full
Bitcoin node required. Use --network mainnet for real coins.
Default mode: watch-only with remote signer. Private keys stay on a separate
signer container — the agent never touches key material. For quick testing, use
--mode standalone (keys on disk, less secure).
# 1. Install litd image
skills/lnd/scripts/install.sh
# 2. Start litd + signer containers
skills/lnd/scripts/start-lnd.sh --watchonly
# 3. Set up signer wallet (first run only)
skills/lightning-security-module/scripts/setup-signer.sh --container litd-signer
# 4. Import credentials and create watch-only wallet
skills/lnd/scripts/import-credentials.sh --bundle ~/.lnget/signer/credentials-bundle
skills/lnd/scripts/create-wallet.sh
# 5. Check status
skills/lnd/scripts/lncli.sh getinfo
# 1. Install litd image
skills/lnd/scripts/install.sh
# 2. Start litd container
skills/lnd/scripts/start-lnd.sh
# 3. Create standalone wallet (generates seed — keys on disk)
skills/lnd/scripts/create-wallet.sh --mode standalone
# 4. Check status
skills/lnd/scripts/lncli.sh getinfo
Warning: Standalone mode stores the seed mnemonic and wallet passphrase on disk. Do not use for mainnet funds you cannot afford to lose.
# Start litd + bitcoind for local development
skills/lnd/scripts/start-lnd.sh --regtest
# Create wallet and mine some blocks
skills/lnd/scripts/create-wallet.sh --container litd --mode standalone
docker exec litd-bitcoind bitcoin-cli -regtest -generate 101
| Mode | Command | Containers | Use Case |
|---|---|---|---|
| Standalone | start-lnd.sh | litd | Testing, development |
| Watch-only | start-lnd.sh --watchonly | litd + litd-signer | Production |
| Regtest | start-lnd.sh --regtest | litd + litd-bitcoind | Local dev |
Profiles customize litd behavior without editing compose files:
# List available profiles
skills/lnd/scripts/docker-start.sh --list-profiles
# Start with a profile
skills/lnd/scripts/start-lnd.sh --profile taproot
skills/lnd/scripts/start-lnd.sh --profile debug
| Profile | Purpose |
|---|---|
default | Standard operation (info logging) |
debug | Trace logging, verbose subsystems |
taproot | Simple taproot channels enabled |
wumbo | Large channels up to 10 BTC |
regtest | Regtest network preset |
Default is testnet. Override with --network:
# Testnet (default — no real coins)
skills/lnd/scripts/start-lnd.sh
# Mainnet (real coins — use with remote signer)
skills/lnd/scripts/start-lnd.sh --network mainnet --watchonly
# Signet (testing network)
skills/lnd/scripts/start-lnd.sh --network signet
litd integrates multiple daemons. Access them via the --cli flag:
# lnd CLI (default)
skills/lnd/scripts/lncli.sh getinfo
# Loop — liquidity management (submarine swaps)
skills/lnd/scripts/lncli.sh --cli loop quote out 100000
# Pool — channel marketplace
skills/lnd/scripts/lncli.sh --cli pool accounts list
# Taproot Assets (tapd)
skills/lnd/scripts/lncli.sh --cli tapcli assets list
# Lightning Terminal (litd)
skills/lnd/scripts/lncli.sh --cli litcli getinfo
# Faraday — channel analytics
skills/lnd/scripts/lncli.sh --cli frcli revenue
Default: pulls the litd Docker image.
skills/lnd/scripts/install.sh
This pulls lightninglabs/lightning-terminal:v0.16.0-alpha from Docker Hub and
verifies the image. The litd image includes lncli, litcli, loop, pool, tapcli,
and frcli.
skills/lnd/scripts/install.sh --source
Requires Go toolchain. Builds lnd and lncli with all build tags.
For running without Docker, use --native:
# Start natively
skills/lnd/scripts/start-lnd.sh --native --mode standalone
# Stop natively
skills/lnd/scripts/stop-lnd.sh --native
Native mode uses the config template at skills/lnd/templates/lnd.conf.template
and runs lnd as a background process.
Connect to a remote lnd node with connection credentials:
skills/lnd/scripts/lncli.sh \
--rpcserver remote-host:10009 \
--tlscertpath ~/remote-tls.cert \
--macaroonpath ~/remote-admin.macaroon \
getinfo
For read-only access without direct gRPC connectivity, use the
lightning-mcp-server skill with Lightning Node Connect (LNC). LNC uses
encrypted WebSocket tunnels — no TLS certs, macaroons, or open ports needed.
Just a pairing phrase from Lightning Terminal.
skills/lightning-mcp-server/scripts/install.sh
skills/lightning-mcp-server/scripts/configure.sh
skills/lightning-mcp-server/scripts/setup-claude-config.sh
Imports account xpubs from the remote signer — no seed or private keys on this machine.
# Import credentials bundle from signer
skills/lnd/scripts/import-credentials.sh --bundle <credentials-bundle>
# Create watch-only wallet (auto-detects litd container)
skills/lnd/scripts/create-wallet.sh
Generates a seed locally. Use only for testing.
skills/lnd/scripts/create-wallet.sh --mode standalone
Handles the full wallet creation flow via REST API:
/v1/genseed to generate a 24-word seed mnemonic/v1/initwallet with the passphrase and seed~/.lnget/lnd/wallet-password.txt (mode 0600)~/.lnget/lnd/seed.txt (mode 0600)skills/lnd/scripts/unlock-wallet.sh
Auto-unlock is enabled by default in the container via
--wallet-unlock-password-file. Manual unlock is only needed if auto-unlock
is disabled.
skills/lnd/scripts/create-wallet.sh --mode standalone --recover --seed-file ~/.lnget/lnd/seed.txt
# Docker standalone (default)
skills/lnd/scripts/start-lnd.sh
# Docker watch-only (production)
skills/lnd/scripts/start-lnd.sh --watchonly
# Docker with profile
skills/lnd/scripts/start-lnd.sh --profile taproot
# Mainnet
skills/lnd/scripts/start-lnd.sh --network mainnet
# Stop (preserve data)
skills/lnd/scripts/stop-lnd.sh
# Stop and clean (remove volumes)
skills/lnd/scripts/stop-lnd.sh --clean
# Stop all litd containers
skills/lnd/scripts/stop-lnd.sh --all
All commands auto-detect the litd container:
skills/lnd/scripts/lncli.sh getinfo
skills/lnd/scripts/lncli.sh walletbalance
skills/lnd/scripts/lncli.sh channelbalance
skills/lnd/scripts/lncli.sh newaddress p2tr
skills/lnd/scripts/lncli.sh walletbalance
skills/lnd/scripts/lncli.sh connect <pubkey>@<host>:9735
skills/lnd/scripts/lncli.sh openchannel --node_key=<pubkey> --local_amt=1000000
skills/lnd/scripts/lncli.sh listchannels
skills/lnd/scripts/lncli.sh closechannel --funding_txid=<txid> --output_index=<n>
skills/lnd/scripts/lncli.sh addinvoice --amt=1000 --memo="test payment"
skills/lnd/scripts/lncli.sh decodepayreq <bolt11_invoice>
skills/lnd/scripts/lncli.sh sendpayment --pay_req=<bolt11_invoice>
skills/lnd/scripts/lncli.sh listpayments
Use the macaroon-bakery skill for least-privilege agent credentials:
skills/macaroon-bakery/scripts/bake.sh --role pay-only
skills/macaroon-bakery/scripts/bake.sh --role invoice-only
skills/macaroon-bakery/scripts/bake.sh --inspect <path-to-macaroon>
The Docker compose templates pass configuration via command-line arguments. For
advanced customization, mount a custom litd.conf:
skills/lnd/templates/litd.conf.templateskills/lnd/templates/lnd.conf.templateNote: litd requires lnd. prefix for lnd flags (e.g., lnd.bitcoin.active).
Standalone lnd does not use the prefix.
--network mainnet)| Container | Purpose | Ports |
|---|---|---|
litd | Main Lightning Terminal | 8443, 10009, 9735, 8080 |
litd-signer | Remote signer (lnd) | 10012, 10013 |
litd-bitcoind | Bitcoin Core (regtest only) | 18443, 28332, 28333 |
| Port | Service | Description |
|---|---|---|
| 8443 | litd UI | Lightning Terminal web UI |
| 9735 | Lightning | Peer-to-peer Lightning Network |
| 10009 | gRPC | lncli and programmatic access |
| 8080 | REST | REST API (wallet, etc.) |
| 10012 | Signer gRPC | Remote signer RPC |
| 10013 | Signer REST | Signer REST API |
| Path | Purpose |
|---|---|
~/.lnget/lnd/wallet-password.txt | Wallet unlock passphrase (0600) |
~/.lnget/lnd/seed.txt | 24-word mnemonic backup (0600, standalone only) |
~/.lnget/lnd/signer-credentials/ | Imported signer credentials (watch-only) |
versions.env | Pinned container image versions |
skills/lnd/templates/ | Docker compose and config templates |
skills/lnd/profiles/ | Profile .env files |
Container image versions are pinned in versions.env at the repo root:
LITD_VERSION=v0.16.0-alpha
LND_VERSION=v0.20.0-beta
Override at runtime:
LITD_VERSION=v0.17.0-alpha skills/lnd/scripts/start-lnd.sh
Once litd is running with a funded wallet and open channels:
lnget config init
lnget ln status
lnget --max-cost 1000 https://api.example.com/paid-data
See references/security.md for detailed guidance.
Default model (watch-only with remote signer):
lightning-security-module skillStandalone model (testing only):
Macaroon security:
macaroon-bakery skillRun skills/lnd/scripts/create-wallet.sh to create the wallet.
Run skills/lnd/scripts/unlock-wallet.sh. Auto-unlock is enabled by default.
Neutrino needs time to sync headers:
skills/lnd/scripts/lncli.sh getinfo | jq '{synced_to_chain, block_height}'
docker logs litd
docker logs litd-signer
docker ps | grep litd-signer
docker logs litd-signer
npx claudepluginhub lightninglabs/lightning-agent-tools --plugin lightning-agent-toolsSets up Bitcoin Lightning nodes on Ubuntu with litd (Lightning Terminal), Neutrino or bitcoind backends, and remote signer architecture for production.
Explain Bitcoin Lightning channel factories and the SuperScalar protocol for scalable onboarding using shared UTXOs, Taproot, and MuSig2.
Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.