The Lightning Network has several invoice specifications that define how payment requests are formatted and processed. Here are the key invoice specifications on Lightning:
BOLT-11 (Lightning Invoice)
Lightning invoices are defined by the BOLT 11 standard. BOLT stands for ‘Basis of Lightning Technology’ and covers all Lightning Network specifications. BOLT specifications are necessary to allow separate implementations to function and interact on the same network. Thus, with the specification, a Lightning invoice created by any client or tool will be understood by all other implementations.
- The most widely adopted standard
- Uses bech32 encoding format that starts with “ln”
- Includes payment amount, destination node, expiry time, and payment hash
- Can include optional routing hints for private channels
- Typically displayed as a string or QR code
Example of a Lightning Invoice
lnbc20m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqhp58yjmdan79s6qqdhdzgynm4zwqd5d7xmw5fk98klysy043l2ahrqsfpp3qjmp7lwpagxun9pygexvgpjdc4jdj85fr9yq20q82gphp2nflc7jtzrcazrra7wwgzxqc8u7754cdlpfrmccae92qgzqvzq2ps8pqqqqqqpqqqqq9qqqvpeuqafqxu92d8lr6fvg0r5gv0heeeqgcrqlnm6jhphu9y00rrhy4grqszsvpcgpy9qqqqqqgqqqqq7qqzqj9n4evl6mr5aj9f58zp6fyjzup6ywn3x6sk8akg5v4tgn2q8g4fhx05wf6juaxu9760yp46454gpg5mtzgerlzezqcqvjnhjh8z3g2qqdhhwkj
Lightning Address
- Email-like format (e.g., [email protected])
- Simplifies the payment process by using familiar addressing
- Works through LNURL-pay protocol behind the scenes
- Allows static addresses rather than requiring new invoices for each payment
LNURL
- A set of protocols that extend Lightning functionality
- LNURL-pay: Allows requesting invoices on demand
- LNURL-withdraw: Enables one-click withdrawals
- LNURL-auth: Provides authentication without passwords
- Uses bech32 encoding starting with “lnurl”
Offers (BOLT-12)
- Newer specification for reusable payment requests
- Allows creation of invoices that can be paid multiple times
- Supports additional features like recurring payments
- More privacy-focused than BOLT-11
Keysend/Spontaneous Payments
- Allows sending payments without requiring an invoice first
- Uses a pre-image known only to the sender
- Useful for streaming payments or tipping
Each of these specifications serves different use cases within the Lightning Network ecosystem, from simple one-time payments to more complex payment flows.