We are continuing our Lightning 101 blog series where we explore all things Lightning Network. In this post, we will investigate what Lightning Network invoices are and how they work.
A Lightning network invoice is how you receive payments on the Lightning Network. It is similar to bitcoin addresses but with some key differences.
An example Lightning invoice:
There are two parts to a Lightning Network invoice:
1. The “human readable” portion of the invoice
2. The “data part” portion of the invoice
The two parts are separated by the last character “1” found in the invoice.
In our example, the “human readable” part is “lntb1u”. This represents:
1. The cryptocurrency network this invoice is valid for — in this example “lntb” indicates bitcoin test network.
2. The amount encoded in the invoice. — in this example 1u is the amount. This means 1 micro bitcoin or 0.000001 bitcoin.
The data portion of the invoice is:
This can contain information such as:
1. When the invoice was created which is useful to see how old an invoice is
2. The ID of the node that is receiving the payment
3. When the invoice expires. Unlike bitcoin addresses, Lightning network invoices can expire
4. A description of this invoice. In our example, the description embedded in the invoice is “suredbits demo invoice”.
5. A backup bitcoin address. If the payment fails over the Lightning network, you can fallback to a regular bitcoin transaction.
6. A route to make the payment. Remember, the Lightning Network is different than a blockchain in the sense that you need to find a route to make a payment. The receiver of a payment can suggest a route for you to use to make the payment.
Invoices are also protected by digital signatures. This means if somebody modifies the Lightning network invoice, the signature will be invalidated. This is critical since there is sensitive information encoded in the invoice like the node ID, payment hash, and fallback address. If it was possible for users to modify these values, they could steal money from you.
Overall Lightning Network invoices are extremely flexible and useful. They provide much more meta information about a payment than a traditional bitcoin address. This allows users of the Lightning network to be more confident about when, where and how a lightning network payment is processed.