Install
openclaw skills install mdk-agent-walletClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Self-custodial Bitcoin Lightning wallet for AI agents. Use when the agent needs to send or receive bitcoin payments, check its balance, generate invoices, or manage its wallet. Supports bolt11, bolt12, LNURL, and lightning addresses. Zero config — one command to initialize.
openclaw skills install mdk-agent-walletSelf-custodial Lightning wallet for AI agents, built by MoneyDevKit. One command to init. All output is JSON.
Source: @moneydevkit/agent-wallet on npm · GitHub
This skill runs @moneydevkit/agent-wallet — an npm package published by MoneyDevKit. What it does:
~/.mdk-wallet/config.json — this IS your private key. Treat it like a password.localhost:3456 — HTTP server for wallet operations. Binds to localhost only (not externally accessible).~/.mdk-wallet/.No data is sent to external servers beyond standard Lightning protocol operations. You can verify this by inspecting the source code or the published npm tarball.
Recommended: Pin a version (npx @moneydevkit/agent-wallet@0.11.0) in production.
# Initialize wallet (generates mnemonic)
npx @moneydevkit/agent-wallet init
# Get balance
npx @moneydevkit/agent-wallet balance
# Create invoice
npx @moneydevkit/agent-wallet receive 1000
# Pay someone
npx @moneydevkit/agent-wallet send user@getalby.com 500
The CLI automatically starts a daemon on first command. The daemon:
localhost:3456~/.mdk-wallet/No webhook endpoint needed — the daemon handles everything locally.
npx @moneydevkit/agent-wallet init
This command:
~/.mdk-wallet/config.jsonThe wallet is ready immediately. No API keys, no signup, no accounts. The agent holds its own keys.
npx @moneydevkit/agent-wallet init --show
Returns { "mnemonic": "...", "network": "mainnet", "walletId": "..." }.
Note: init will refuse to overwrite an existing wallet. To reinitialize:
npx @moneydevkit/agent-wallet stop
rm -rf ~/.mdk-wallet # WARNING: backup mnemonic first!
npx @moneydevkit/agent-wallet init
All commands return JSON on stdout. Exit 0 on success, 1 on error.
| Command | Description |
|---|---|
init | Generate mnemonic, create config |
init --show | Show config (mnemonic redacted) |
start | Start the daemon |
balance | Get balance in sats |
receive <amount> | Generate invoice |
receive | Generate variable-amount invoice |
receive <amount> --description "..." | Invoice with custom description |
receive-bolt12 | Generate a BOLT12 offer (variable amount, reusable) |
send <destination> [amount] | Pay bolt11, bolt12, lnurl, or lightning address |
payments | List payment history |
status | Check if daemon is running |
stop | Stop the daemon |
restart | Restart the daemon |
npx @moneydevkit/agent-wallet balance
→ { "balance_sats": 3825 }
# Fixed amount
npx @moneydevkit/agent-wallet receive 1000
# Variable amount (payer chooses)
npx @moneydevkit/agent-wallet receive
# With description
npx @moneydevkit/agent-wallet receive 1000 --description "payment for service"
→ { "invoice": "lnbc...", "payment_hash": "...", "expires_at": "..." }
npx @moneydevkit/agent-wallet receive-bolt12
→ { "offer": "lno1..." }
BOLT12 offers are reusable and don't expire — share one offer and receive unlimited payments to it. Unlike BOLT11 invoices, the payer chooses the amount.
npx @moneydevkit/agent-wallet send <destination> [amount_sats]
Destination auto-detection:
lnbc10n1... (amount encoded, no arg needed)lno1...user@example.comlnurl1...For lightning addresses and LNURL, amount is required:
npx @moneydevkit/agent-wallet send user@getalby.com 500
npx @moneydevkit/agent-wallet payments
→ { "payments": [{ "paymentHash": "...", "amountSats": 1000, "direction": "inbound"|"outbound", "timestamp": ..., "destination": "..." }] }
# Stop the running daemon
npx @moneydevkit/agent-wallet stop
# Run with @latest to pull the newest version
npx @moneydevkit/agent-wallet@latest start
Your wallet config and payment history in ~/.mdk-wallet/ are preserved across upgrades.
:3456. Auto-starts, persists to disk.Want to accept payments from customers? Use the moneydevkit skill to add checkouts to any website. Agent-wallet handles agent-to-agent payments; moneydevkit handles customer-to-agent payments. Together they give your agent full payment superpowers.