LNbits Wallet Manager
Enable the assistant to safely and effectively manage an LNbits Lightning Network wallet.
🛑 CRITICAL SECURITY PROTOCOLS 🛑
- NEVER Expose Secrets: Do NOT display Admin Keys, User IDs, or Wallet IDs.
- Explicit Confirmation: You MUST ask for "Yes/No" confirmation before paying.
- Format: "I am about to send [Amount] sats to [Memo/Dest]. Proceed? (y/n)"
- Check Balance First: Always call
balancebeforepayto prevent errors.
Usage
0. Setup / Create Wallet
If the user does not have an LNbits wallet, you can create one for them on the demo server.
python3 {baseDir}/scripts/lnbits_cli.py create --name "My Wallet"
Action:
- Run the command.
- Capture the
adminkey(Admin Key) andbase_url(defaults to https://demo.lnbits.com). - IMPORTANT: Instruct the user to save these credentials securely:
"I've created a new wallet! Please add these to your Moltbot configuration or
.envfile:export LNBITS_BASE_URL=https://demo.lnbits.comexport LNBITS_API_KEY=<adminkey>"
1. Check Balance
Get the current wallet balance in Satoshis.
python3 {baseDir}/scripts/lnbits_cli.py balance
2. Create Invoice (Receive)
Generate a Bolt11 invoice to receive funds.
- amount: Amount in Satoshis (Integer).
- memo: Optional description.
python3 {baseDir}/scripts/lnbits_cli.py invoice --amount 1000 --memo "Pizza"
3. Pay Invoice (Send)
⚠️ REQUIRES CONFIRMATION: Decode first, verify balance, ask user, then execute.
# Step 1: Decode to verify amount/memo
python3 {baseDir}/scripts/lnbits_cli.py decode <bolt11_string>
# Step 2: Pay (Only after user CONFIRMS)
python3 {baseDir}/scripts/lnbits_cli.py pay <bolt11_string>
Error Handling
If the CLI returns a JSON error (e.g., {"error": "Insufficient funds"}), summarize it clearly for the user. Do not show raw stack traces.