Skip to main content

Lightning Invoice | Bitcoin Glossary | Mapping Bitcoin

Lightning Invoice

Lightning

Also known as: LN invoice, BOLT 11

A BOLT 11-encoded payment request on the Lightning Network that specifies the amount, destination, payment hash, and expiry. Lightning invoices are typically represented as QR codes or text strings and are single-use by design.

Overview

A Lightning invoice is a standardized payment request defined by the BOLT 11 specification. It encodes all the information a payer needs to send a payment on the Lightning Network, including the destination node's public key, the payment amount, a payment hash, a description, and an expiration time.

Invoice Structure

A BOLT 11 invoice is a bech32-encoded string that begins with lnbc (mainnet) or lntb (testnet), followed by the amount and a series of tagged fields.

lnbc500u1p...  ← Prefix: network + amount
├── Payment hash (256 bits)
├── Description or description hash
├── Destination node pubkey
├── Expiry (default: 3600 seconds)
├── Min final CLTV expiry delta
├── Route hints (optional)
└── Signature

How Payment Works

When a recipient generates an invoice, they create a random preimage, compute its SHA-256 hash (the payment hash), and embed it in the invoice. The payer's node constructs a route and sends a payment locked to this hash using HTLCs. The recipient reveals the preimage to claim the payment, and this revelation propagates back through the route as cryptographic proof of payment.

Single-Use Nature

Lightning invoices are designed to be used only once. Reusing an invoice is dangerous because the preimage becomes known after the first payment, meaning subsequent payments could be intercepted. For reusable payment endpoints, LNURL protocols provide a better solution.

Common Misconceptions

Many users assume that if an invoice expires, funds are lost. In fact, an expired invoice simply cannot initiate a new payment — no funds are at risk. The payer must request a fresh invoice from the recipient.