Skip to main content
Bitcoin

Decode Lightning Invoices Privately

A Lightning invoice is a payment request encoded as a BOLT11 string. It looks like a wall of random characters, but it contains the amount, destination, expiry, description, and routing hints. This tool decodes any invoice instantly so you can see exactly what you're being asked to pay — and whether you should. Pay 5 sats for an AI explanation and get 5 free follow-up questions to dig deeper into any detail.

Free decodeAI explanation 5 sats5 follow-up questionsNo account requiredNo data retentionL402 / MCP

Why Decode Before You Pay

Lightning payments are instant and irreversible. Once you pay an invoice, the sats are gone. There's no chargeback, no dispute process, no undo. Decoding the invoice first lets you verify the amount, check the expiry, read the description, and confirm the destination before committing.

Invoices also reveal information about the payee — their node public key, sometimes their alias, and routing hints that expose their channel partners. If you're sharing invoices in public (support tickets, forums, social media), you're leaking your node's network topology. Decoding helps you understand what's exposed before you share.

What the Decoder Shows You

Amount

The exact amount requested in satoshis and BTC. Some invoices leave the amount blank (amountless invoices) — the decoder flags this so you know you'd be choosing how much to send.

Expiry

When the invoice expires, shown as both a duration and an absolute timestamp. Expired invoices can't be paid — the decoder tells you immediately if the invoice is still valid. The current date is injected into the AI explanation so the model correctly evaluates timestamps without flagging future dates incorrectly.

Destination & Description

The payee's node public key and the human-readable description embedded in the invoice. Know who you're paying and what for before the sats leave your wallet.

Routing Hints & Network

Routing hints reveal channel partners of the destination node. The decoder also shows the network (mainnet, testnet, signet) so you don't accidentally pay a testnet invoice with real sats.

Output Example

Paste any BOLT11 invoice string and get back structured JSON like this.

decoded-invoice.json
{
  "network": "mainnet",
  "amount_sats": 1000,
  "amount_btc": "0.00001000",
  "timestamp": "2026-03-17T10:30:00Z",
  "expiry_seconds": 3600,
  "expires_at": "2026-03-17T11:30:00Z",
  "is_expired": false,
  "destination": "03e7156ae33b0a208d0744199163177e909e80176e55d97a2f221ede0f934dd9ad",
  "payment_hash": "a1b2c3d4e5f6...",
  "description": "Sats4AI - AI Chat - llama-4-scout",
  "min_final_cltv_expiry": 18,
  "routing_hints": [
    {
      "node_id": "02abc...",
      "short_channel_id": "800000x1000x1",
      "fee_base_msat": 1000,
      "fee_rate": 1
    }
  ]
}

AI Explanation + Follow-up Questions

The raw decode gives you every field, but not everyone speaks BOLT11 fluently. For 5 sats, the AI reads the decoded data and produces a plain-English explanation: what the invoice is requesting, whether the expiry is unusual, what the routing hints reveal about the destination node, and anything that looks off.

5 free follow-up questions included. After the paid explanation, you can ask 5 additional questions about the same invoice at no extra cost. Each follow-up answer is appended below the original explanation with a divider, so the full conversation stays in one panel. Responses use a fast model with reasoning disabled for near-instant answers.

The current date is automatically injected into the AI context, so the model correctly evaluates whether timestamps are in the past or future. This prevents false warnings about invoices dated ahead of a stale training cutoff.

Example follow-ups

  • "What does this routing hint tell me about the payee?"
  • "Is 3600 seconds a normal expiry?"
  • "Could this invoice be a phishing attempt?"
  • "What does the min_final_cltv_expiry field mean?"
  • "How does the amount compare to typical Lightning payments?"

How the panel works

The initial AI explanation appears after you pay 5 sats. Each follow-up answer is appended below it with a horizontal divider, keeping the full analysis in one scrollable panel. No page reloads, no new payments -- just type your question and get an answer.

For Humans

Real scenarios where decoding invoices saves time and prevents mistakes

Verify before paying

Someone sends you an invoice in a chat. Before paying, decode it to confirm the amount matches what was discussed, the description makes sense, and it hasn't expired. Takes two seconds and prevents paying the wrong invoice.

Merchant invoice verification

You run a store accepting Lightning. A customer claims they paid but you don't see the payment. Decode their invoice to check the destination node — if it doesn't match yours, they paid the wrong invoice.

Check expired invoices

Your payment failed and you're not sure why. Decode the invoice to check if it expired before your wallet could route the payment. Expired invoices are the most common reason for "payment failed" errors. Use a follow-up question to ask the AI whether the expiry window was reasonable.

Privacy audit

Before posting an invoice publicly (for donations, tips, or support requests), decode it to see what it reveals about your node. Routing hints can expose your channel partners and node identity. Ask a follow-up like "what can someone learn about my node from this invoice?"

How It Works

1
Go to sats4ai.com/bitcoin/invoiceOpen the Lightning Invoice Decoder in your browser.
2
Paste the BOLT11 invoice stringThe lnbc... or lntb... string from any Lightning wallet or payment page.
3
Get instant structured decode (free)See amount, expiry, destination, description, routing hints, and network immediately. Decoded client-side -- nothing leaves your browser.
4
AI explanation for 5 satsGet a plain-English summary explaining what the invoice is for and flagging anything unusual. The model receives today's date so it evaluates timestamps correctly.
5
Ask 5 follow-up questions (free)Dig deeper into any detail -- routing hints, expiry, privacy implications. Each answer appears below the explanation with a divider.

For Agents

Use cases for AI agents, automation pipelines, and developers

No API key needed. Invoice decoding uses L402 — the raw decode is free, and the AI explanation is 5 sats via Lightning with 5 follow-up questions included. Agents parse invoices programmatically without maintaining credentials or managing quotas.

Pre-payment validation

Before an agent pays a Lightning invoice, it decodes to verify the amount is within budget, the invoice hasn't expired, and the destination matches an expected node. Prevents paying stale or fraudulent invoices.

Developer debugging

Building a Lightning integration? Decode invoices generated by your app to verify correct amounts, descriptions, and expiry times during development without writing your own BOLT11 parser.

Payment monitoring

Decode invoices from incoming payment requests to log structured data — amount, description, expiry — in your monitoring system. Far more useful than storing opaque BOLT11 strings.

Invoice comparison

Decode multiple invoices to compare amounts, destinations, and expiry times. Useful for agents managing payments across multiple services or verifying that duplicate invoices haven't been issued.

L402 Authentication Flow

1
Send the invoice for decode (free)POST the BOLT11 string to the endpoint. Get back structured JSON with amount, expiry, destination, and all fields at no cost.
2
Request AI explanation (returns 402)POST with explain=true. The server responds with HTTP 402 and a 5-sat Lightning invoice.
3
Pay and resendPay the invoice and resend with the payment preimage. Get back a plain-English explanation of the invoice plus 5 follow-up question credits.
4
Ask follow-up questions (free)Send follow-up questions with the same token. Each answer is returned instantly using a fast model. Up to 5 follow-ups included.
terminal
# Decode a Lightning invoice (free)
curl -X POST https://sats4ai.com/api/l402/bitcoin/invoice \
  -H "Content-Type: application/json" \
  -d '{"invoice":"lnbc10u1pj..."}'

# Request AI explanation (returns 402 + invoice)
curl -X POST https://sats4ai.com/api/l402/bitcoin/invoice \
  -H "Content-Type: application/json" \
  -d '{"invoice":"lnbc10u1pj...","explain":true}'

# Pay the 5-sat invoice, then resend with proof
curl -X POST https://sats4ai.com/api/l402/bitcoin/invoice \
  -H "Content-Type: application/json" \
  -H "Authorization: L402 <token>:<preimage>" \
  -d '{"invoice":"lnbc10u1pj...","explain":true}'

# Ask a follow-up question (free, up to 5)
curl -X POST https://sats4ai.com/api/l402/bitcoin/invoice \
  -H "Content-Type: application/json" \
  -H "Authorization: L402 <token>:<preimage>" \
  -d '{"invoice":"lnbc10u1pj...","followup":"What do the routing hints reveal?"}'

MCP & OpenClaw

Privacy by Design

  • No accounts. No email, no username, no session tokens. Nothing links your invoice to an identity.
  • No storage. Invoices are decoded in memory and discarded. No payment hashes, node IDs, or amounts are logged.
  • No tracking. We don't correlate invoices to build payment graphs or map node relationships.
  • Client-side decode. The free structural decode runs entirely in your browser. The invoice string never leaves your device unless you request the AI explanation.
  • Lightning payment. The 5-sat AI explanation fee is paid with Lightning — no credit card or bank account required.

Chain with Other Services

Invoice Decoder

Decode an invoice, then ask an AI model to explain the routing hints or compare it against expected payment parameters.

Invoice Decoder

Decode a Lightning invoice to verify payment details, then analyze the on-chain funding transaction if needed.

Invoice Decoder

Decode an invoice and email the structured breakdown to a colleague or customer for payment verification.

FAQ

What is a BOLT11 invoice?

BOLT11 is the standard format for Lightning Network payment requests (defined in BOLT #11). It encodes the payment amount, destination, expiry, description, and routing information into a single string starting with 'lnbc' (mainnet) or 'lntb' (testnet).

Can I decode an invoice without paying it?

Yes. Decoding only reads the data encoded in the invoice string. No payment is sent, no connection to the Lightning Network is made. It's a purely client-side parse operation that runs in your browser.

What if the invoice is expired?

The decoder shows the expiry time and clearly flags whether the invoice is still valid or has expired. Expired invoices cannot be paid — the recipient's node will reject the payment.

What are routing hints?

Routing hints are optional data in an invoice that tell the payer how to reach the destination node. They reveal channel partners of the payee, which can be a privacy consideration if the invoice is shared publicly.

How do the follow-up questions work?

After paying 5 sats for the AI explanation, you get 5 free follow-up questions. Type your question in the input field and the answer appears below the original explanation, separated by a divider. Responses are fast because they use a lightweight model with reasoning disabled.

Why does the AI know the current date?

The current date is injected into the AI context so it can correctly determine whether an invoice timestamp is in the past or future. Without this, the model might flag valid recent timestamps as suspicious based on its training cutoff.

Decode Any Lightning Invoice — No Signup Required

Free structural decode. AI explanation for 5 sats with 5 follow-up questions. Paste any BOLT11 string and see what it contains.