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 an oster 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 article: “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.
Before we start opening channels now, 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.
Shared Lightning Channel with Coincharge
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:
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 5,000,000 Satoshi. The 5 million sats are equivalent to $500 USD (at a bitcoin rate of $10,000). However, you do not have to buy the equivalent of 500 USD, but you pay quasi interest for providing you with this liquidity for a certain period of time.
You have to pay 3% of the liquidity provided, which is approximately 11 USD per month.
You can pay the 11 USD either by Lightning bill or with Bitcoin. To pay the Lightning bill with Bitcoin, you will be redirected to the service provider Submarine Swap.
Click on the blue button and this page will open:
Pay with Bitcoin and wait until the Bitcoin payment has been confirmed on the Blockchain.
A total of 4,995,118 sats were provided by Yalls as inbound liquidity. Lightning payments can now be received in the amount of this sum.
Mutual liquidity follows the motto “If you give me liquidity, I will give you liquidity”. Here it is advisable to ask in the appropriate forums or telegram groups who is willing to make such a liquidity swap.
Lightning liquidity received from Coincharge
Coincharge provides liquidity to Lightning on a reciprocal basis.
Connect to Coincharge’s Lightning Node: 0318ac9faa9629e7da08819bc8fe0dd2ae3044d69b1b2283a63479acffeb968483
After you connect, you open a channel to Coincharge and provide an amount of at least 500,000 sats from your side to this channel.
Then inform Coincharge via the contact form at the bottom of this page.
At Lightning Conductor, the service is called Return Channel. On the website of https://lightningconductor.net/channels you can find the Lightning address (03c436af41160a355fc1ed230a64f6a64bcbd2ae50f12171d1318f9782602be601) of Lightning Conductor.
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.
Lightningto.me provides free inbound capacity in the amount of 2 million satosh (0.02 BTC)
At disposal. You have to provide your public key and Lightningto.me will establish the corresponding connection from its side.
The provider LNBIG.com connects to you with a liquidity of at least 2 million Satoshi. You can also choose a higher amount. Without costs or conditions. This connection should be made in any case. The disadvantage is that you cannot create the channel via Ride the Lightning. But if you can log on to your server via SSH and Terminal / Putty, you will find a very good free solution.
Go to Open Channel and select the amount you want LNBIG to provide from its side. Then select the LND / C-Lightning / BTCPay / Eclair setting and click Next.
Then an overview of different terminal commands appears, depending on which node you are running.
If you run a BTCPay server under LND, then you use the commands that are outlined in red here. For a BTCPay server with C-lightning, the corresponding commands that are next to it.
Now you have to log in to your server with the Lightning Node and the BTCPay Server via terminal. Then you copy the commands and click Enter.
After that, the liquidity is available to you as a remote balance.
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.
Strong recommended peers include:
- 1ml.com: see report below
- OpenNode: https://1ml.com/node/0259f78fc608eba4d974177493deb68b885c1016ab8fbf69bc87a8edd7e3739894
- Tippin.me: https://1ml.com/node/03c2abfa93eacec04721c019644584424aab2ba4dff3ac9bdab4e9c97007491dda
However, Tippin.me requires a minimum liquidity of 800,000 Satoshi to be provided.
The Bos Score List lists the nodes that have a certain significance and importance. For those looking for good channels to connect to, here’s a good overview of the major Lightning channels: https://lightningwiki.net/bos/
You can research other strong peers with many connections and high liquidity yourself at 1ML.
The 1ML.com site is a Lightning Explorer or directory of all Lightning Nodes. All known Lightning Nodes are listed here. Go to the page and search for your own node by entering your node ID.
You can see which nodes within the Lightning network are particularly well connected. It is recommended to connect with some of the stronger peers.
Since 1ML.com itself is one of the strongest peers, it is recommended to open a channel with 1ml. At the same time, you can make your own peer better known within the network. Thus, other peers approach you and open a channel to you.
Search at 1ml.com for your own Node ID.
You will then see the button “Claim Node” in the upper right corner.
Click on the Claim Node button and register or log in to 1ML.com.
Now you have to prove to 1ML.com that the node you selected is actually your own node.
You provide this proof in three steps.
In the first step you need to connect to the 1ML.com node. For this you use the displayed node address of 1ML
Then you open a channel to 1ML.com for the amount shown to you. The amount is the channel capacity and must be identical to the amount that 1ML.com has quoted. So do not pay less. You can also choose a higher amount. The higher amount must then be exactly double, triple… the displayed amount.
In our example it was 306,778 sats, for you it will be a different amount.
After we have opened the channel, our RTL backend will display this as a pending transaction, with the status channeld_awaiting_lockin and the amount specified.
Now we have to wait a bit until the channel opening is confirmed by 1ML.com.
In parallel, 1ML is something like a Lightning Node directory. You can add additional information to your own entry.
The amount paid, which was made available in the channel with 1ML.com, is out-bound liquidity and is available as local balance.
For payments to us, the Local Balance is unfortunately not further helpful. But 1ML.com is very good for outbound payment and with every Lightning payment, we build up inbound liquidity at 1ML.
Since 1ML is one of the best networked Lightning Nodes, we will benefit via the built network effect.
Lightning about Bitcoin exchanges
More and more Bitcoin exchanges are offering Lightning deposit. These Bitcoin exchanges have very high liquidity and likewise very strong connectivity within the Lightning network.
If you already have an account with one of these Bitcoin exchanges, you make a deposit to your account via Lightning and then have the deposit (find) paid out to your node via Bitcoin (withdraw).
First, you research the node ID of the corresponding Bitcoin exchange. Connects to this node and sets up a channel with an appropriate capacity.
Then you make the deposit to the exchange via Lightning and after that you make the withdrawal via Bitcoin (on-chain) back to your own node.
If you have an account with Bitfinex, you can look up the node ID of Bitfinex on the website https://ln.bitfinex.com/. In our test, there were two different Node ID.
We have connected with Bitfinex and opened a channel. The channel had to be opened with at least 4 million satoshi.
One then makes a deposit. You can find the deposit option under Deposit and under cryptocurrencies under Bitcoin (Lightning Network).
Then you enter the deposit amount. For example, 1mil Satoshi or 0.01 BTC
Then you receive the Lightning invoice, which you then pay via your Lightning Node.
Please make sure that the payment is also made through the Bitfinex channel so that the desired channel is balanced.
The crypto exchange Bitstamp is involved in Lightning and also runs its own Lightning Node: ln.bitstamp.net a, [Bitstamp]
However, Bitstamp does not allow you to make deposits or withdrawals via Bitcoin Lightning so far.
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.
Coincharge Lightning Node
If you run your own Lightning Node, then connect to our Lightning Node
If you connect your Lightning Node to the Coincharge Node, you can receive Lightning liquidity from Coincharge in two ways.
- Lightning Liquidity Mutual
- Shared Lightning Channel with Coincharge
Lightning Liquidity Mutual
If you open a channel to Coincharge, then Coincharge will open a channel in the same amount to you in return.
We open channels from a minimum of 500,000 sats to a maximum of 5Million sats.
After you have opened the channel to Coincharge or Coinpages, send us a short message using the contact form on the right.
Please enter your email address so that we can contact you in case of any queries.
In the text field please enter your own Node ID and the amount.
We will then also open a channel to you and provide the same amount.
Please note that the channel should be opened with at least 500,000 Satoshi.
You are also welcome to Telegram us about your channel to us: https://t.me/coincharge_io
Shared Lightning Channel with Coincharge
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.
A detailed description of the process can be found in the article: Shared Lightning Channel with Coincharge.
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