If you accept Lightning payments in your store, you have to deal with the topic of Lightning Liquidity.
This post explains why you need Lightning Liquidity and how to get the Lightning Liquidity you need.
If you operate your own Lightning Node, then outbound liquidity is required to send a Lightning payment. To receive a Lightning payment, you need inbound liquidity.
Now, liquidity must not be equated with credit balances. These are rather liquid funds, which can be used.
The own credit on the own Lightning Node consists of the Bitcoin (on-chain) credit and additionally the outbound Liquidity.
The Outbound liquidity is the sum of the individual Local Balance in the respective channels.
Inbound liquidity is not your own balance. The inbound liquidity, is the sum of the remote balance in each channel. Inbound liquidity / remote balance belongs to the nodes that are connected to you.
As an operator of your own online store, inbound liquidity is needed to receive Lightning payments. You need to ensure sufficient remote balance.
Most of the time, this problem occurs for the first time when you make a test order in your own online store and you get the message “unable to route payment to destination“.
This problem occurs when there is not enough inbound lightning liquidity (remote balance).
In this post, we describe the different ways you can get this Lightning liquidity.
It doesn’t matter if you use your own Lightning Node as a hardware node (Raspiblitz, MyNode, Nodl or Umbrel) or if you use the Lightning Node together with a BTCPay server at a hoster like Lunanode.
The Lightning liquidity issue affects all Lightning Nodes that want to receive Lightning payments.
Why do I need Lightning liquidity?
Make Lightning payment
You have set up a Lightning Node (Peer) and connected it to another Lightning Node as described in the post: “RTL – Ride the Lightning“? Then you opened a channel and put liquidity of e.g. 100.000 sats into the channel yourself. Thus, this channel has a Local Balance of 100,000 sats.
The sum of all channels and their respective Local Balance is called the Out-Bound Capacity at RTL. This Outbound Capacity is your Lightning credit that you can spend.
If you now pay via Lightning, the Satoshi will be executed over one of the available channels and forwarded to the recipient node via the Lightning network.
However, you can also shorten the way of the Lightning payment and open a channel directly with the recipient of the Lightning payment. if you know the node address, then you can connect directly.
You can connect with our peers and open a channel and make your payment through it. The addresses are:
However, there are still numerous directories about Lightning Nodes sorted by importance.
There you will find numerous Lightning Nodes listed that are worth connecting to:
Lightning payment received
If you run your own online store, you will want to receive Lightning payments. To receive Lightning payments yourself, you need In-Bound Capacity.
Your in-bound balance is the sum of all remote balances on your various channels. You can receive Lightning payments up to the amount of this Inbound Capacity.
General: Local Balance vs. Remote Balance
A connection between two Lightning Nodes is called a channel. This is a two-way connection. This means that a channel must exist in both directions.
In order for credit to be transferred between these two Lightning Nodes, via the existing channel, there must be a corresponding credit on the sending side.
The balance on your own side is the local balance and on the opposite side is the remote balance.
The sum of Local Balance and Remote Balance is called Channel Capacity.
The Local or Remote Balance is the respective balance on a specific channel, while the Capacity represents the sum of all channels.
Each time you receive a Lightning payment, the incoming amount shifts from Inbound Capacity (becomes less) to Outbound Capacity (becomes more).
If you pay something yourself via Lightning, then the Outbound Capacity becomes less and the Inbound Capacity increases.
This shift can be seen on the respective channel through which the Lightning payment is made and is reflected on a net basis in the total outbound or inbound capacity.
I need Lightning Liquidity to:
- Inbound Liquidity (Remote Balance) – to receive / receive Lightning.
- Outbound liquidity (Local Balance) – to send / pay Lightning.
How to get Lightning liquidity
To make Lightning payments, a Lightning balance on your own side (Local Balance) is required. This outbound liquidity is obtained by making a deposit via Bitcoin on your Lightning Node. These are on-chain balances.
These on-chain balances are used to fill the channels with outbound liquidity. This occurs when connecting to another peer (Lightning Node), opening a channel and filling the channel with Local Balance (= outbound liquidity).
It’s a little more challenging when you need inbound liquidity. This is required if you also want to receive Lightning payments. An operator of an online store wants to receive Lightning payments and therefore needs inbound liquidity.
We get this inbound liquidity when we collaborate with other Lightning Nodes, connect with these nodes and open channels for each other and provide them with appropriate liquidity.
Now, before we start opening channels, the aspect of accessibility within the Lightning network should also be considered.
Besides the pure Lightning liquidity, the connection of the own Lightning node within the Lightning network is also important. The better you are connected in the Lightning network, the shorter the way to the other network participants for a Lightning payment and the cheaper the Lightning payment will be. You can even earn some satosh if other nodes use your own node as an intermediate station.
When building your channel network, it’s better to build a few large channels than many small ones. It is recommended to open channels of at least 500,000 sats.
With these explanations, we can now start to build a network with other Lightning Nodes and equip it with Inbound Lightning Liquidity.
Inbound liquidity can be obtained in the following ways:
- Pay with Lightning
- Exchanging Bitcoin credits for Lightning credits with ZigZagand Sideshift
- Buying liquidity with Bitrefilland Yalls
- Mutual liquidity with Coinchargeand Lightning Conductor
- Liquidity for free with Lightningto.me, Peernodeand Lnbig
- Connection to strong peers such as lightning exchanges like Bitstamp and Bitfinex
- Lightning Pool
- Ring of Fire
- Coincharge with mutual or shared channel
Receive inbound liquidity
As described earlier, one’s balance on one’s Lightning Node is the Satoshi designated as outbound liquidity plus the on-chain balance in the form of Bitcoin.
Now how can you get other node operators to provide you with some of their own Lightning credit (their outbound liquidity)?
The other node does not give away any of its credit, but it ties up some of its own liquidity in your shared channel.
Pay with Lightning
The easiest way to get inbound liquidity is to pay yourself with Lightning.
If you make a Lightning payment from your Lightning Node, the Local Balance (Out-Bound) will decrease and the Remote Balance (In-Bound) will increase accordingly.
Thus, you can receive Lightning payments in the amount of your Remote Balance (Inbound Liquidity).
If you receive a Lightning payment, then again the inbound liquidity would decrease and your outbound liquidity would increase.
If you pay more with Lightning than you receive, you won’t have a liquidity problem. However, merchants who accept Lightning payments should probably receive more Lightning payments, and thus the Lightning liquidity problem remains.
Exchange Bitcoin credits for Lightning credits
The solution described above is to buy something and pay with Lightning to increase inbound liquidity.
But what would be the best thing to buy? The solution is to buy (on-chain) bitcoin and pay for it via Lightning!
The idea behind this is to have Bitcoin on your Lightning Node yourself. Then you open a channel to a node and provide Lightning credit (outbound) to the shared channel. Then you buy Bitcoin from the other node, which are paid with the Lightning from the shared channel. Thus, the lightning from the own outbound credit moves to the other node and is mapped there as inbound liquidity.
In return, the other node sends back the purchase price paid in Lightning in the form of Bitcoin. Ideally, this is in turn sent to your own Lightning Node and is then reported again as on-chain credit.
This ring swap has created inbound liquidity for itself .
There are corresponding providers that specialize in switching between Lightning to Bitcoin (LN-to-BTC).
The following providers are worth mentioning:
The process of buying bitcoin via Lightning is as follows:
- Go to the provider’s page and get the public address of the respective Lightning Node.
- Connect to this Lightning Node and build a channel.
- Open this channel (Payment Channel) with double the amount you want to receive as inbound liquidity later.
- Go to the provider’s website and enter your own Bitcoin address there. You will get your money back to this address later.
- Enter the amount you would like to receive as inbound liquidity. Ideally, half of the amount you previously paid into the channel.
- The provider of this bill service will create a Lightning Invoice. You pay this invoice by Lightning. After the Lightning payment is completed, you will receive the Bitcoin in return sent back to your previously specified Bitcoin address.
- In parallel, the amount you paid via Lightning is deducted from your outbound liquidity and credited to your inbound liquidity.
After completing this LN to BTC switch, you will have inbound liquidity that you can use to receive Lightning payments in the same amount.
A small fee may be charged for this exchange.
The purchase of Bitcoin via Lightning using the example of the provider ZigZag
We are redirected to the page of ZigZag at 1ML, where the public key is displayed. Here we copy the public key to connect our own Lightning Node to ZigZag.
We connect to the ZigZag node via “Add Peer” and load the channel with 500,000 sats. We would like to have a balanced channel with 250,000 sats on each side. 250,000 each as inbound and outbound liquidity.
Now we have to be patient and wait. The channel is in pending status for at least an hour and must first be confirmed by the blockchain…. Only when the peer is confirmed, we can continue.
For those who want to see the status, RTL has Opening Channel Information available under View Info. The information under Channel Point can be copied up to the colon and entered into the search on the https://mempool.space/ page. One then receives the information what the status of the channel opening already is and how long it could take. We recommend opening new channels on weekends because weekends are less busy and it is faster and cheaper to open a channel.
After that, we create a Bitcoin address on our Lightnin Node. At RTL, you go to the On-Chain section and then to “Generated Address.”
You must select the address type P2SH (NP2WKH), because ZigZag cannot process the Bach32 addresses.
We had previously created 500,000 sats in the channel. Accordingly, we are now buying inbound liquidity for half, or 250,000 sats.
The value is entered in ZigZag in BTC and not in Satoshi. Accordingly, we enter 0.0025 BTC, which corresponds to 250,000 sat.
We receive 219,580 sats back as bitcoin then. The amount is lower because the transaction fees (here mining fee) are deducted and ZigZag charges 2% for this service.
The Bitcoin will be sent to the address we generated before. We enter this Bitcoin address in the field “We will send your BTC here”.
After that we click on Exchange.
We receive a Lightning Invoice from ZigZag. We click Copy and thus have all the details for the Lightning Invoice on our clipboard.
After that we switch to our Lightning Node to pay this Lightning Invoice.
Within RTL we go to the section: Lightning >Transactions. There, go to the Send Payment section.
In the payment Request field, we paste the Lightning Invoice details and click Send Payment.
Under Advanced Options the First Outgoing Channel can be defined. We select the ZigZag Channel.
Exchange Lightning Liquidity at Sideshift.ai
Various currency pairs can be exchanged at the provider Sideshift.ai. We choose the Lightning to Bitcoin exchange pair https://sideshift.ai/ln/btc
Before swapping can take place, a channel must first be opened from our node to Sideshift. The Lightning Node address of Sideshift is: 02459b759a62bc3ebfe98a320da237944cc4f35456384bd8fdefa7d0340c75f46f
We fill the channel from our side with 500,000sats (0.005 BTC) and wait about an hour for it to be confirmed by the blockchain.
We fill the channel from our side with 500,000sats (0.005 BTC) and wait about an hour for it to be confirmed by the blockchain.
The Bitcoin address generated by our Lightning Node is deposited in the corresponding field at Sideshift and we click on “Shift”.
We are shown a Lightning Invoice, which we copy to our clipboard by clicking “Copy address” so that we can pay this invoice through our Lightning Node.
We go to our Lightning Node, here via Ride the Lightning (RTL) and pay this Lightning bill under Lightning >Transactions >Send Payments.
Under Advanced Options we select the Sideshift Channel as “First Outgoing Channel”.
The Sideshift page will indicate that the invoice has been paid successfully. Via View Transaction we can see if the bitcoin has already been successfully sent to us.
If we look at the channel to Sideshift, we see a balanced channel. On both sides are 250,000sats respectively reduced by the fees. For the Satoshi we no longer own on the remote balance side, we received Bitcoin in return, which increased our on-chain balance.
Except for the minimal fee, this ring swap has provided us with sufficient Lightning liquidity and made us a bit more a part of the Lightning network.
Coincharge also offers a solution comparable to that of ZigZag and Sideshift.
For those who want to run a shared Lightning Channel, open a channel to Coincharge in double the amount. Informs Coincharge about the opening of the channel and shares its Bitcoin address.
Coincharge sends bitcoin back to the shared channel as its share.
A detailed description of the process can be found in the article: Shared Lightning Channel with Coincharge.
Another way to get inbound liquidity is by buying liquidity.
In this method, a provider provides liquidity from its side.
The advantage, compared to the previous example, is that you do not have to provide liquidity yourself.
A small fee is charged for providing liquidity. The fee is based on how long the liquidity is to be provided.
You can buy Lightning Inbound Liquidity from the following sellers:
Purchase of liquidity at Thor from Bitrefill
The liquidity service Thor, from the provider Bitrefill, is referred to in many articles. For the equivalent of about 3.% you can buy liquidity for 30 days. Bitrefill’s node is one of the best connected Lightning Nodes ever. Numerous reasons that speak for Bitrefill.
If you administer your Lightning Node via the BTCPay Server backend via Ride the Lightning, then the Bitrefill solution is not recommended for you.
If you administer the Lightning Node via SSH using Terminal / Putty, then Bitrefill can be a good option for you.
After the purchase you will receive liquidity as follows:
If you have SSH access to your node, you can enter the appropriate commands to open a channel to Bitrefill and receive the corresponding inbound liquidity.
A connection to Bitrefill is recommended, as Bitrefill is one of the best connected Lightning Nodes. Those who administer their Lightning Node exclusively via RTL can contact Bitrefill Support. Otherwise establish the connection yourself via SSH. Bitrefill, when asked, reported that they are working on a simplified solution….
Purchase of liquidity at Yalls
Yalls is a platform where you can publish and read articles and posts for a Lightning payment.
Besides this service, you can also buy Lightning liquidity.
On the Yalls page, in the About section, you will find the window shown opposite:
Here you copy the address from the Yalls Node and establish a connection via Add Peer using Ride the Lightning. You don’t need to open a channel, just connect to the Yalls peer so that the Yalls peer knows your Lightning Node.
After that you go back to the Yalls page. Reload the page completely and scroll in the field “What’s your node public key” to the place where your own public key is located.
If you don’t get your public key displayed, then reload the whole page again.
Then click Attempt Channel open.
The following window will then open.
You can now buy the liquidity of 16 million Satoshi. For this you pay 150,000 sats or the displayed equivalent in USD.
You will receive a Lightning invoice and can pay by Lightning.
You can pay this Lightning invoice via your own Lightning Node.
The provider LNBIG.com is specialized in providing Lightning liquidity. Numerous Lightning Nodes are operated, all with very good rankings.
We go to the Open Chanel menu item and use the slider to select the size of the channel.
As an example, we have selected a channel over 10 million sats and we are shown what this channel would cost us in USD or in sats.
Likewise, the cost of opening or closing the channel. We accept with “I agree” at the bottom of the page.
We will receive a Prepayment Hodl Invoice.
We pay this Lightning Invoice, but it is not debited from our Lightning Wallet until the channel is opened by LNBIG,
We are then prompted to enter the Node ID from our own Lightning Node. In our example, we enter the node ID of the coincharge node.
Once again, we receive an overview with all the details. If this information is correct, then we click on “All right”.
The channel from LNBIG to our Lightning Node is opened.
We get a Channel Point ID displayed, which corresponds to the Transaction ID.
Opening a channel to LNBIG is recommended, as it will give us a connection to the whole LNBIG Lightning network of about 50 Lightning Nodes, each of which has connections of up to 250 Lightning Nodes.
The channel will remain open for at least a month. If transactions are routed to LNBIG via your node accordingly, the channel will also last longer. If there are no transactions, then LNBIG will also close the channel again so as not to tie up unnecessary Lightning liquidity.
Mutual liquidity follows the motto “If you give me liquidity, I will give you liquidity”. Here it is recommended to ask in the corresponding forums or Telegram groups who is willing to make such a liquidity swap.
There is a group on the german Blocktrainer forum called “Bitcoin Lightning Channel Austausch“.
Here you can find numerous Lightning Node operators with whom you can open a mutual channel.
Go to the Block Trainer Forum: https://forum.blocktrainer.de/t/bitcoin-lightning-channel-austausch/219/2458
Instead of two small channels, there is one common large channel.
If you want to run a shared Lightning Channel with Coincharge, you open a channel in double height to Coincharge. Then you inform Coincharge about the opening of the channel and share your Bitcoin address.
You will receive a Lightning bill equal to 50% of the channel capacity you pay through that channel. In return, Coincharge will send you back the Lightning invoice amount in Bitcoin.
There are two ways to open a shared channel. One method is the BOS method (BOS = Balance of Satoshi) or alternatively based on RTL (Ride the Lightning).
A detailed description of the process, depending on the BOS or RTL method, can be found in the article: Shared Lightning Channel with Coincharge.
You are also welcome to Telegram us about your channel to us: https://t.me/coinchargeio
At Lightning Conductor, the service is called Return Channel.
On the website of https://lightningconductor.net/channels you can find the Lightning address of Lightning Conductor: (03c436af41160a355fc1ed230a64f6a64bcbd2ae50f12171d1318f9782602be601)
We connect to this Lightning Node (peer) and load the channel with at least 500,000 sats, i.e. 0.005 BTC.
After that, we wait at least an hour for the channel to be confirmed by the blockchain. Within 24 hours Lightning Conductor will open a channel for the same amount to your node. You don’t have to do anything else yourself.
ln2me.com / lightningto.me
Ln2me offers as option 2 the possibility to get a free channel. However, the prerequisite is that you already have 10 channels and your own node has a total capacity of 20 million sats.
Thus, this solution is more for those who want to run a routing node.
A shared channel is opened, with each side providing half. The minimum size of the channel is 1 million sats, so each side at least 500,000 sats
Connection to strong peers with Local Balance
But you can also build connections to strong peers yourself and provide liquidity from your side. If you then make payments yourself via these channels, this becomes Remote Balance and can in turn be used for incoming payments.
You can find out which nodes are very well connected with the Bos Score List, for example, which lists the nodes that have a certain significance and importance.
The nodes on the higher positions allow a connection to their node only if minimum requirements in the amount of the channel capacity are made.
Lightning Pool is a kind of eBay for Lightning liquidity. Here Lightning Liquidity can be offered or purchased.
Via Lightning Pool you acquire Lightning liquidity from a well-connected node, which is listed on the Bos Score List.
Those who would like to participate in the trade at Lightning Pool can find more information in English here: https://pool.lightning.engineering/.
A German language manual is available at: https://btc21.de/bitcoin/lightning-pool-guide/
Ring of Fire
In a Ring of Fire, multiple nodes connect to each other in a circle. Each node opens a channel to its neighbor. Channel capacity is pre-determined by Ring on Fire participants.
When the ring is closed, a transaction is made in the opposite direction over half of the channel capacity.
After that, each ring participant has two balanced channels within the Ring of Fire.
By participating in a Ring of Fire, you quickly benefit from a good connection to several channel partners and thus within the Lightning network.
You can independently gather several node operators who organize a Ring of Fire together. Within the Bitcoin community, this is organized via forums and Telegram or chat groups.
Alternatively, you can use https://lightningnetwork.plus/. Here are organized Ring of Fire in different sizes (channel capacity) and participants number.
Lightning Channel Management und Rebalancing
If you want to operate your Lightning Node as a routing node or optimize and rebalance the liquidity on your different channels, you will find the appropriate answers in the article: Lightning Channel Management and Rebalancing