Lightning Network Routing
The lightning network achieves high-frequency payments by taking payments off-chain. This means that information about a transaction is not broadcasted to the whole network as with Bitcoin layer 1 transactions. Instead, lightning payments can be transmitted from the sender to the receiver through payment channels.
Opening a payment channel means making an on-chain transaction, which incurs fees and takes at least 10 minutes. Therefore, opening a payment channel with everyone you want to send payments to over lighting is counterintuitive. This is why payment channels were designed to be able to transmit third-party payments in a trustless manner.
Generally, more payment channels mean a more efficient payment network. Therefore, the Lightning Network incentives nodes to act as routers to third-party payments by giving the ability to charge fees for routing a payment.
Lightning Network Fees
Fees on the lightning network are applied on a per-peer and per-channel basis. Every peer can set their fee policies for all their channels. These fees apply to the outgoing channel capital when making a payment, meaning that as a payment is sent from your node to a neighboring node, a fee can be charged by you. Fees are only charged in case of a successful payment because every node in the path can only redeem the fees if the receiver sends confirmation that the payment went through.
Currently, two types of lightning network fees can be charged.
Base Fee
Every forward incurs a cost for the node regarding computational power and storage, and the base fee is intended to cover these costs. Therefore, the base fee is meant to compensate for these costs.
The base fee is a fixed amount charged by payment routed. A one satoshi base fee will be charged for every payment routed.
Fee Rate
The fee rate is meant to compensate the node for the capital they have committed to the lightning channel. This fee is usually expressed in parts per million (ppm)
A node with a 1 ppm fee rate will charge 1 satoshi per every 1M satoshis moved through the channel.
Payment Routing with Fees
For example, Alice is paying Dina 1M satoshis (0.01 BTC) to visualize how fees are charged. The route that is going to be used for this payment is Alice → Bob → Charlie → Dina
As you can see, Alice adds all fees she’ll pay in the route to the total payment amount, and every node in the path discounts the fee it charges and forwards the difference to the next node. When Dina receives the payment, she propagates back the secret used to generate the secret hash. Only when the node receives the secret can it redeem the fees.
Negative Lightning Fees
When a payment is routed through a payment channel, it moves the liquidity from the sender to the receiver. If any payments are routed through the same channel in the same direction, outbound liquidity will be depleted, and the node won’t be able to forward any more payments through that channel. This common issue for routing nodes is usually solved through circular rebalances. A circular rebalance is a payment that a node makes to itself to push liquidity from one of its channels to another.
This technique has some drawbacks: fees can be expensive, sometimes the node can’t find a circular path, etc. This is where negative fees come in. If nodes could set negative fees for inbound payments, they could pay for people to push liquidity back to their side.
This feature is not available in the current state of the Lighting Network.
What are the best fees for my routing node?
Payment routing is a free market. Fee prices are constantly changing with supply and demand. If you want to stand out from competitors, you can’t expect today's fee prices will also be optimal for tomorrow.
Unfortunately, there is no single answer to this question. The best values will always depend on market behavior. But, if you want to read more about how to build a lightning network node for routing you can start here.
Summary
- Fees incentivize nodes to act as routers for third-party payments;
- Fees can be configured differently for every payment channel a node has;
- Fees are only redeemable if the payment succeeds;
- The base fee is a flat rate charged for every payment;
- The fee rate is proportional to the size of the payment;
- Fees are added to the total amount being paid by the sender and each node in the route discounts its piece before routing the payment;
- Negative fees are not yet available, but they can become an alternative to circular rebalances;
Create your node below, or learn more about our Lightning Enterprise solution today.
Also, enjoy exploring our LSP Flow or test our time series data tool Surge.