How to Create a Bitcoin Lightning Invoice (Step-by-Step)

How to Create a Bitcoin Lightning Invoice (Step-by-Step)

How to Create a Bitcoin Lightning Invoice (Step-by-Step)

Quick Answer:

A Bitcoin Lightning invoice is a payment request string (starting with lnbc) that encodes the amount and recipient. You can generate one in seconds using a Lightning wallet app, BTCPay Server, or a managed service like Billtoolbox. The payer scans the QR code or pastes the invoice string, and the payment settles in under a second with near-zero fees.

Affiliate Disclosure: This article contains links to third-party services. Some may be affiliate links. We earn a small commission if you sign up at no extra cost to you. All services were independently evaluated.


A Lightning invoice is the standard way to request a Bitcoin payment over the Lightning Network. Unlike an on-chain Bitcoin address (which you can reuse), each Lightning invoice is single-use and typically expires after 24 hours. This makes them more secure — a payer cannot accidentally pay an old invoice, and you always know exactly which payment corresponds to which request.

This guide covers every method to generate a Lightning invoice — from simple mobile wallets to full node setups and managed business tools.

What Is a Lightning Invoice?

A Lightning invoice (also called a payment request) is a data string encoded in Bech32 format. It contains:

  • Amount — in satoshis (or left open for the payer to fill in)
  • Recipient node public key — identifies your Lightning node
  • Payment hash — a cryptographic hash the payer uses to unlock the payment
  • Expiry time — default 1 hour to 24 hours depending on the wallet
  • Optional description — e.g., “Invoice #001 — Web design services”

The invoice looks like this (truncated): lnbc50000n1p3xkv...

Method 1: Mobile Lightning Wallet (Easiest)

The fastest way to create a Lightning invoice is with a mobile wallet. These require no technical setup.

Wallet Platform Custodial? Best For
Strike iOS / Android Yes US users, USD payouts
Wallet of Satoshi iOS / Android Yes Absolute beginners
Phoenix iOS / Android No (self-custody) Self-custody beginners
Breez iOS / Android No (self-custody) Non-custodial + POS mode
Zeus iOS / Android No (connects to your node) Node operators

Steps to create an invoice in any Lightning wallet:

  1. Open the wallet and tap Receive
  2. Enter the amount in satoshis (or leave blank for a flexible invoice)
  3. Add a description, e.g., “Freelance design — May invoice”
  4. Tap Generate Invoice
  5. Share the QR code or copy the invoice string and send to the payer

The payment will arrive within 1–3 seconds once the payer scans and confirms.

Method 2: BTCPay Server (Open Source, Self-Hosted)

BTCPay Server is a free, self-hosted payment processor used by thousands of businesses worldwide. It generates Lightning invoices automatically and ties them to orders in your WooCommerce, Shopify, or custom store.

  1. Deploy BTCPay Server on a VPS (LunaNode, Voltage, or self-hosted)
  2. Connect a Lightning node (LND or Core Lightning)
  3. Go to Invoices → Create Invoice
  4. Set amount, currency, and order metadata
  5. Copy the resulting Lightning invoice or embed the payment widget on your site

BTCPay generates BOLT11 invoices with a configurable expiry (default: 15 minutes for checkout flows, extendable).

Method 3: LND CLI (Node Operators)

If you run your own LND node, create an invoice from the command line:

lncli addinvoice --amt 50000 --memo "Invoice #001 — Web design"

Replace 50000 with the amount in satoshis and customize the memo. The output includes:

  • r_hash — the payment hash
  • payment_request — the full BOLT11 invoice string starting with lnbc

You can also use the REST API to generate invoices programmatically if you’re building an application.

Method 4: Billtoolbox Lightning Server (Managed)

Running your own node requires technical knowledge and ongoing maintenance. The Billtoolbox Lightning Server is a managed solution — you get a production Lightning node without managing the infrastructure yourself. Invoice generation is available through a simple API or dashboard.

Lightning Invoice: Common Fields Explained

Field Required? Notes
Amount (satoshis) Optional Omit for open invoices (payer enters amount)
Description Recommended Visible to payer; include invoice reference
Expiry Auto-set Default: 3,600 seconds (1 hour) in most wallets
Fallback address Optional On-chain fallback if Lightning payment fails
Routing hints Auto-added Help payers route to poorly-connected nodes

Frequently Asked Questions

Can I reuse a Lightning invoice?

No. Each Lightning invoice is single-use and has a unique payment hash. If an invoice expires unpaid, you generate a new one. This is by design — it prevents accidental double payments and lets you link each payment to a specific transaction record.

What happens if a Lightning invoice expires?

An expired invoice cannot be paid. If someone tries to pay after expiry, the payment will be rejected and the payer keeps their funds. Simply generate a new invoice and share the updated payment request.

How do I generate a Lightning invoice without my own node?

Use a custodial Lightning wallet (Strike, Wallet of Satoshi) or a managed service like Billtoolbox. These abstract away the node infrastructure completely — you get an invoice in seconds without running any software. For a business accepting regular payments, a managed service gives you the same capability as a self-hosted node with none of the uptime management.


Final Thoughts

Creating a Lightning invoice is genuinely simple once you have the right setup. Mobile wallets work perfectly for occasional use. For businesses processing regular Lightning payments, BTCPay Server or a managed service like Billtoolbox gives you the automation, record-keeping, and reliability you need without managing node infrastructure yourself.

Accept Bitcoin Lightning Payments for Your Business

Billtoolbox Lightning Server gives you a production Lightning node, invoice generation, and payment tracking — fully managed, no technical setup required.

Get Started with Lightning Payments →

Disclaimer: Bitcoin and Lightning Network payments involve technical and financial risk. Ensure your node has sufficient inbound/outbound liquidity before accepting business payments. This article is for informational purposes only and does not constitute financial advice.

Leave a Comment

Your email address will not be published. Required fields are marked *