✓ Verified ✍️ Content Creation ✓ Enhanced Data

Lnbits With Qrcode

Manage LNbits Lightning Wallet (Balance, Pay, Invoice)

Rating
4.8 (84 reviews)
Downloads
737 downloads
Version
1.0.0

Overview

Manage LNbits Lightning Wallet (Balance, Pay, Invoice)

Complete Documentation

View Source →

LNbits Wallet Manager

Enable the assistant to safely and effectively manage an LNbits Lightning Network wallet.

🛑 CRITICAL 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 balance before pay to prevent errors.
  • ALWAYS Include Invoice + QR: When generating an invoice, you MUST: (a) show the payment_request text for copying, and (b) output MEDIA: followed by the qr_file path on ONE line. NEVER skip this.

Usage

0. Setup / Create Wallet

If the user does not have an LNbits wallet, you can create one for them on the demo server.

bash
python3 {baseDir}/scripts/lnbits_cli.py create --name "My Wallet"

Action:

  • Run the command. The CLI prints JSON containing adminkey and base_url to stdout (visible in the terminal).
  • NEVER Expose Secrets (applies here): Do NOT repeat, quote, or display the adminkey or any secret from the output in your chat response. The user sees the command output in their terminal; that is the only place the key should appear.
  • Instruct the user in plain language only, e.g.:
> "A new wallet was created. The command output above contains your adminkey and base_url. Copy those values from the terminal and add them to your configuration or .env as LNBITS_API_KEY and LNBITS_BASE_URL. Do not paste the adminkey here or in any chat."

1. Check Balance

Get the current wallet balance in Satoshis.

bash
python3 {baseDir}/scripts/lnbits_cli.py balance

2. Create Invoice (Receive)

Generate a Bolt11 invoice to receive funds. QR code is always included by default.
  • amount: Amount in Satoshis (Integer).
  • memo: Optional description.
  • --no-qr: Skip QR code generation (if not needed).
bash
# Invoice with QR code (default)
python3 {baseDir}/scripts/lnbits_cli.py invoice --amount 1000 --memo "Pizza"

# Invoice without QR code
python3 {baseDir}/scripts/lnbits_cli.py invoice --amount 1000 --memo "Pizza" --no-qr

⚠️ MANDATORY RESPONSE FORMAT: When generating an invoice, your response MUST include:

  • Invoice text for copying: Show the full payment_request string so user can copy it
  • QR code image: Output MEDIA: followed by the qr_file path on ONE line
EXACT FORMAT (follow precisely):
text
Here is your 100 sat invoice:

lnbc1u1p5abc123...

MEDIA:./clawd/.lnbits_qr/invoice_xxx.png

CRITICAL: The MEDIA: and file path MUST be on the SAME LINE. This sends the QR code image to the user.

2b. Generate QR Code from Existing Invoice

Convert any Bolt11 string to a QR code image file.

bash
python3 {baseDir}/scripts/lnbits_cli.py qr <bolt11_string>

Returns: {"qr_file": "./.lnbits_qr/invoice_xxx.png", "bolt11": "..."}

3. Pay Invoice (Send)

⚠️ REQUIRES CONFIRMATION: Decode first, verify balance, ask user, then execute.

bash
# 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.

Installation

Terminal bash

openclaw install lnbits-with-qrcode
    
Copied!

💻Code Examples

python3 {baseDir}/scripts/lnbits_cli.py create --name "My Wallet"

python3-basedirscriptslnbitsclipy-create---name-my-wallet.txt
**Action**:
1.  Run the command. The CLI prints JSON containing `adminkey` and `base_url` to stdout (visible in the terminal).
2.  **NEVER Expose Secrets (applies here)**: Do NOT repeat, quote, or display the `adminkey` or any secret from the output in your chat response. The user sees the command output in their terminal; that is the only place the key should appear.
3.  Instruct the user in plain language only, e.g.:
    > "A new wallet was created. The command output above contains your **adminkey** and **base_url**. Copy those values from the terminal and add them to your configuration or `.env` as `LNBITS_API_KEY` and `LNBITS_BASE_URL`. Do not paste the adminkey here or in any chat."

### 1. Check Balance
Get the current wallet balance in Satoshis.

python3 {baseDir}/scripts/lnbits_cli.py balance

python3-basedirscriptslnbitsclipy-balance.txt
### 2. Create Invoice (Receive)
Generate a Bolt11 invoice to receive funds. **QR code is always included by default.**
*   **amount**: Amount in Satoshis (Integer).
*   **memo**: Optional description.
*   **--no-qr**: Skip QR code generation (if not needed).

python3 {baseDir}/scripts/lnbits_cli.py invoice --amount 1000 --memo "Pizza" --no-qr

python3-basedirscriptslnbitsclipy-invoice---amount-1000---memo-pizza---no-qr.txt
**⚠️ MANDATORY RESPONSE FORMAT**: When generating an invoice, your response MUST include:

1. **Invoice text for copying**: Show the full `payment_request` string so user can copy it
2. **QR code image**: Output `MEDIA:` followed by the `qr_file` path on ONE line

**EXACT FORMAT** (follow precisely):

MEDIA:./clawd/.lnbits_qr/invoice_xxx.png

mediaclawdlnbitsqrinvoicexxxpng.txt
**CRITICAL**: The `MEDIA:` and file path MUST be on the SAME LINE. This sends the QR code image to the user.

### 2b. Generate QR Code from Existing Invoice
Convert any Bolt11 string to a QR code image file.

python3 {baseDir}/scripts/lnbits_cli.py qr <bolt11_string>

python3-basedirscriptslnbitsclipy-qr-bolt11string.txt
Returns: `{"qr_file": "./.lnbits_qr/invoice_xxx.png", "bolt11": "..."}`

### 3. Pay Invoice (Send)
**⚠️ REQUIRES CONFIRMATION**: Decode first, verify balance, ask user, then execute.
example.sh
# Invoice with QR code (default)
python3 {baseDir}/scripts/lnbits_cli.py invoice --amount 1000 --memo "Pizza"

# Invoice without QR code
python3 {baseDir}/scripts/lnbits_cli.py invoice --amount 1000 --memo "Pizza" --no-qr
example.txt
Here is your 100 sat invoice:

lnbc1u1p5abc123...

MEDIA:./clawd/.lnbits_qr/invoice_xxx.png
example.sh
# 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>

Tags

#speech_and-transcription #code

Quick Info

Category Content Creation
Model Claude 3.5
Complexity One-Click
Author jamestsetsekas
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install lnbits-with-qrcode