Lightning 101: Lightning Network Fees

This is the fifth installment in our Lightning 101 series. To see previous installments click any of the links below

  1. What is the Lightning Network
  2. What is a Lightning Node
  3. What is a Lightning Invoice
  4. What are Lightning Channels
  5. What is Lightning Routing

The Lightning Network allows for nodes to charge fees for routing payments. There are some key differences between blockchain fees and Lightning fees.

How do a blockchain’s fees work?

Every time you create a transaction on a blockchain, you need to pay a fee to the blockchain’s miners. This is compensating miners for the work that they are providing to secure the network. Every time a miner finds a block of transactions, they are rewarded the transaction fees that are contained in the block.

Due to the way a blockchain is structured, blockchain transactions need to be archived forever. This is another thing you are paying for when transaction is included in a blockchain — an unalterable database that proves a transaction occurred.

How do Lightning fees work?

The scarce resources that a blockchain consumes are energy and file space. The Lightning network consumes a different scarce resource — capital. To be able to transact on the Lightning network you need to have capital available in order to route payments to your destination. If there is not enough liquidity available to you on the routes that you can see, it is impossible for you to route the payment. For a primer on how Lightning channels and routing work, check out our previous blog posts on those topics.

The Lightning Network is setup in a way that compensates people for providing liquidity to the network. If you are a node that would like to route payments, you can set fees that other Lightning nodes will have to pay to use your capital for routing.

Lightning Network Fee Types

There are two types of fees in the Lightning Network.

  1. Base fee
  2. Fee based on liquidity used

Base Fee

The base fee is a flat rate that is charged per transaction that is routed through your node. For instance, you could charge 300 satoshis — roughly 1 cent — for people that want to route payments through your node. If you want to route more payments, you could decide to drop down your base fee to 100 satoshis! This base fee is set by every node operator on the network based on what they think their capital is worth.

Liquidity Provider Fee

This is a fee you can charge based how much liquidity a person is using in your channel. This charges a fee for every satoshi that is sent through your Lightning Network channel. An example would be a fee of 0.01 satoshis for every satoshi that is sent through your Lightning channel. If I wanted to make a payment for 1,000 satoshis through your Lightning channel I would need to pay

1,000 x 0.01 = 10 satoshis

Thus the liquidity fee for this Lightning channel would be 10 satoshis for a 1,000 satoshi payment.

A full example

Assume I am making a payment to Suredbits for a market data subscription to Bitfinex. I am subscribing to Bitfinex market data for 10 seconds, which means I owe Suredbits a Lightning Network payment of 10,000 satoshis.

Since I am not directly connected to Suredbits, I need to route my payment through an intermediate node. This intermediate Lightning node has set their fees to charge a flat fee of 2,000 satoshis for every payment routed through them, and a liquidity fee of 1% per satoshi routed through their node.

This means our Lightning fee for subscribing to Suredbits market data would be

2,000 + (10,000 * 0.01) = 2,100 satoshis

You can see in this example, the base fee ended up being the most expensive part of our fee for the market data subscription. If we were to assume Suredbits was charging 1,000,000 satoshis for their market data subscription, our Lightning network fee would be

2,000 + (1,000,000 * 0.01) = 12,000 satoshis.

It is still relatively unknown how the fee market will develop on the Lightning network, but these are the basic protocol level tools at your disposal as a node operator to charge fees for your capital.

A traditional Bitcoin node does not make any money for its owner, no matter how much bandwidth or processing power it requires. All the fees collected go to the miners and not the nodes. There are no miners on the Lightning Network and all fees go to the node operators.This is one key difference between Bitcoin and Lightning nodes and something that hopefully will encourage and drive decentralization.

If you’re interested in chatting more about Lightning Network technology or crypto tech in general, you can find us on Twitter @Suredbits or join our Suredbits Slack community.

In December of last year Suredbits released the first ever cryptocurrency market data API where you can stream data and pay for it all on the Lightning Network. Here’s some additional reading on that topic you may find interesting: