If you accept Lightning payments in your shop, you have to deal with the topic Lightning Liquidity.
This article explains why you need Lightning Liquidity and how to get the Lightning Liquidity you need.
If you operate your own Lightning Node, outbound liquidity is required to send Lightning payments. To receive a Lightning payment, you need inbound liquidity.
Now one must not equate liguidity with credit. 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 the Local Balance (or Outbound Capacity) in the form of Lightning.
The inbound liquidity is not the own credit balance. It is the outbound credit of the other node, which can be used by your node as inbound liquidity.
As an operator of an own Onlineshop, inbound liquidity is needed to receive Lightning payments. You have to provide a sufficient remote balance.
Usually this problem occurs the first time you place a test order in your own Onlineshop and you get the message “unable to route payment to destination“.
This problem occurs when there is insufficient inbound lightning liquidity (remote balance).
In this article we describe the different ways to obtain this lightning liquidity.
It does not matter if you use your own Lightning Node as 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 problem of Lightning liquidity affects all Lightning Nodes that want to receive Lightning payments.
Why do I need Lightning Liquidity?
Execute Lightning payment
You 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. Thus this channel has a local balance of 100,000 sats.
The sum of all channels and their respective local balance is called Out-Bound Capacity on RTL. This Outbound Capacity is your Lightning Credit, which you can spend.
If you now pay by Lightning, the Satoshi will be executed through one of the available channels and forwarded to the receiver node via the Lightning network.
You can also shorten the Lightning payment path 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 to our peers and open a channel to make your payment. The addresses are:
- Coincharge: 0318ac9faa9629e7da08819bc8fe0dd2ae3044d69b1b2283a63479acffeb968483
- Coinpages: 038525acf733137b782116669f512116f717d4cddcd065cb4f9da73aa653794d46
You can also go to 1ml.com and search for a Lightning Node you want to connect to and make your payment.
Receive Lightning payment
If you have your own Onlineshop, you 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 Balance on your various channels. In the amount of this inbound capacity you can receive Lightning payments.
General: Local Balance vs. Remote Balance
A connection between two Lightning nodes is called a channel. It is a two-sided connection. This means that a channel must exist in both directions.
In order to be able to transfer credits between these two Lightning Nodes via the existing channel, there must be a corresponding credit on the sending side.
The balance on the own side is the local balance and on the opposite side is the remote balance.
The sum of Local Balance or Remote Balance is called Channel Capacity.
The Local or Remote Balance is the respective credit 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 the inbound capacity (becomes less) to the outbound capacity (becomes more).
If you pay yourself by Lightning, the outbound capacity will decrease and the inbound capacity will increase.
You can see this shift on the respective channel through which the Lightning payment is made and it will have a net effect on the total outbound or inbound capacity.
I need Lightning liquidity:
- Inbound liquidity (remote balance) – to receive / receive Lightning
- Outbound Liquidity (Local Balance) – to pay Lightnin
How to get Lightning Liquidity
In order to execute Lightning payments, a Lightning balance on your own site (Local Balance) is required. This outbound liquidity is obtained by making a deposit via Bitcoin on your Lightning Node. These are on-chain credit balances.
This on-chain credit is 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 is somewhat more demanding when inbound liquidity is required. This is necessary if you also want to receive Lightning payments. An Onlineshop operator wants to receive Lightning payments and therefore needs inbound liquidity.
We obtain this inbound liquidity by working with other Lightning Nodes, connecting to these nodes and opening channels to each other and providing 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 your 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 members and the cheaper the Lightning payment. You can even earn a few Satosh if other nodes use your node as an intermediate station.
When building your channel network, it is better to build a few large channels than many small channels. It is recommended to open channels of at least 500.000 sats.
With these explanations, we can now begin to build a network with other Lightning Nodes and provide inbound Lightning liquidity.
Inbound liquidity can be obtained in the following ways:
- Pay with Lightning
- Exchange of Bitcoin credits for Lightning credits with ZigZag and Sideshift
- Purchase of liquidity with Bitrefill and Yalls
- Mutual liquidity with Coincharge and Lightning Conductor
- Liquidität for free with Lightningto.me, Peernode and Lnbig
- Lightning Exchange by Crypto exchanges
- Lightning Pool
Maintain inbound liquidity
As described above, the own credit balance on the own Lightning Node is the Satoshi plus the on-chain credit balance in the form of Bitcoin, which is shown as outbound liquidity.
How can you now 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 binds some of its own liquidity into your common channel.
Pay with Lightning
The easiest way to get inbound liquidity is to pay with Lightning yourself.
When you make a Lightning payment from your Lightning Node, the Local Balance (Out-Bound) becomes lower and the Remote Balance (In-Bound) becomes higher.
In this way you can receive Lightning payments in the amount of your remote balance (inbound liquidity).
If you receive a Lightning payment, then inbound liquidity would decrease and your outbound liquidity would increase.
If you pay more with Lightning, so you’re receiving, you won’t get a liquidity problem. However, as a merchant who accepts Lightning payments, you should probably receive more Lightning payments and thus the Lightning liquidity problem remains.
Bitcoin Credit Exchange for Lightning Credits
With the solution described above, you should buy something and pay with Lightning to increase inbound liquidity.
But what could be best bought? The solution is to buy (on-chain) Bitcoin, which will then be paid for by Lightning!
The idea behind it is that you have Bitcoin on your Lightning Node. Then you open a channel to a node and provide lightning credits (outbound) to the common channel. Then you buy Bitcoin from the other node, which are paid with the Lightning from the common channel. As a result, the lightning from the own outbound credit balance moves to the other node where it is represented as inbound liquidity.
In return, the other node returns the purchase price paid in Lightning in the form of Bitcoin. Ideally again at the own Lightning Node and is then shown as On-Chain credit again.
Through this ring exchange you have created inbound liquidity for yourself.
There are corresponding providers that specialize in switching between Lightning and Bitcoin (LN-to-BTC).
The following providers are to be mentioned:
The procedure for purchasing Bitcoin by Lightning is as follows:
- Go to the provider’s site and get the public address of the respective Lightning Node.
- Connect to this Lightning Node and create a channel.
- Open this channel (Payment Channel) with twice the amount you want to receive later as inbound liquidity.
- Go to the website of the provider and enter your own Bitcoin address. You will later receive your money back to this address.
- Enter the amount you want to receive as inbound liquidity. Ideally, half of the amount you have previously deposited into the channel.
- The provider of this switch service creates a Lightning Invoice. You pay this bill via Lightning. After the Lightning payment is complete, you will receive the Bitcoin in return to your previously specified Bitcoin address.
- At the same time, the amount you paid by Lightning will be deducted from your outbound liquidity and credited to the Inbound Liquidity.
Upon completion of this LN-to-BTC change, 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 change.
The purchase of Bitcoin per Lightning using the example of the provider ZigZag
We go to the homepage of ZigZag (https://zigzag.io/) and find the Lightning Node address of ZigZag. The link is located below the blue Exchange button.
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 with ZigZag.
We connect to the ZigZag Node via “Add Peer” and load the channel with 500,000 sats. We want 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 and see. The channel is in pending status for at least one hour and must first be confirmed by the block chain. Only when the peer is confirmed, we can continue.
If you want to check the status, you can call up the Opening Channel Information on RTL under View Info. The information under Channel Point can be copied up to the colon and entered into the search on https://mempool.space/. You will then get information about the status of the channel opening and how long it might take. We recommend opening new channels at the weekend, as there is less traffic at the weekend and it is faster and cheaper to open a channel.
Then 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 handle the Bach32 addresses.
We had previously created 500,000 sats in the channel. Accordingly, we are now buying for half, i.e. 250,000 sats inbound liquidity.
For ZigZag, the value is entered in BTC and not in Satoshi. Accordingly, we enter 0.0025 BTC, which corresponds to 250,000 sat.
We receive 219,580 sats as Bitcoin then back again. The amount is lower because the transaction fees (here Mining Fee) are deducted and ZigZag charges 2% for this service.
The bitcoins are sent to the address we generated before. Enter this Bitcoin address in the field “We will send your BTC here
Then we click on Exchange.
We receive a Lightning Invoice from ZigZag. We click on Copy and have all the information for the Lightning Invoice on our clipboard.
Then we switch to our Lightning Node to pay this Lightning Invoice.
Within RTL we go to the section: Lightning > Transactions. There to the Send Payment area.
In the payment Request field we insert the Lightning Invoice data and click on Send Payment.
The First Outgoing Channel can be defined under Advanced Options. We select the ZigZag channel.
Exchange of Lightning liquidity at Sideshift.ai
With the provider Sideshift.ai different currency pairs can be exchanged. We choose the exchange pair Lightning to Bitcoin https://sideshift.ai/ln/btc
Before you can swap, you must first open a channel 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 one hour until it has been confirmed by the block chain.
Then we generate a Bitcoin address, which we have to specify on the sideshift page, so that our changed Bitcoin can be sent to this address.
The Bitcoin address generated by our Lightning Node is placed in the corresponding field at Sideshift and we click on “Shift”
We receive a Lightning Invoice, which we take over by clicking on “Copy address” in our clipboard, so that we can pay this invoice via our Lightning Node.
We go to our Lightning Node, here by Ride the Lightning (RTL) and pay this Lightning invoice under Lightning > Transactions > Send Payments
Under Advanced Options we select the Sideshift Channel as “First Outgoing Channel”.
The Sideshift page indicates that the invoice has been successfully paid. With View Transaction we can determine whether the Bitcoins have already been successfully sent to us.
If we look at the channel to sideshift, we see a balanced channel. On both sides there are 250,000sats or reduced by the fees. In return for the Satoshi on the Remote Balance site no longer belonging to us, we received Bitcoin, which increased our on-chain balance.
Except for the minimal fee, this ring exchange has provided us with sufficient Lightning liquidity and has made us a little more a part of the Lightning network.
Purchase of liquidity
Another way to obtain 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.
For providing liquidity, a small fee will be charged. The fee depends on the duration of the liquidity to be made available.
You can buy Lightning Inbound Liquidity from the following providers:
Purchase of liquidity at Thor from Bitrefill
The liquidity service Thor, from the provider Bitrefill, is mentioned in many contributions. 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 administrate your Lightning Node via the BTCPay server backend via Ride the Lightning, then the Bitrefill solution is not recommended for you.
If you administrate the Lightning Node via SSH over Terminal / Putty, then Bitrefill can be a good option for you.
After the purchase, the liquidity is provided as follows:
The corresponding command lines cannot be entered in this form on RTL. During our test we communicated with bitrefill support and they then manually opened the channel to us.
If you have SSH access to your node, you can enter the appropriate commands and thus open a channel to Bitrefill and receive the appropriate inbound liquidity.
A connection to Bitrefill is recommended, because Bitrefill is one of the best connected Lightning Nodes. If you administrate your Lightning Node exclusively via RTL, you can contact the Bitrefill Support. Otherwise establish the connection yourself via SSH. Bitrefill has reported on request that they are working on a simplified solution.
Purchase of liquidity with Yalls
Yalls is a platform where you can publish and read articles and posts against a Lightning payment.
In addition to 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 of the Yalls Node and connect via Add Peer via Ride the Lightning:
After that you go back to the Yalls side. Reload the page and scroll in the “What’s your node public key” field to the point where your own public key is located.
If you don’t see your public key, 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 is equivalent to 500 USD (at a bitcoin price of 10,000,-). However, you don’t have to buy the equivalent of USD 500, but pay interest to provide you with this liquidity for a certain period of time.
You will 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 invoice 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 amount.
Mutual liquidity is based on the motto “If you give me liquidity, I give you liquidity”. Here it is advisable to inquire in the appropriate forums or telegram chanel, who is ready to make such a liquidity exchange.
Lightning Liquidity Received from Coincharge
Coincharge provides Lightning liquidity on a reciprocal prowess.
Connect to the Lightning Node from Coincharge: 0318ac9faa9629e7da08819bc8fe0dd2ae3044d69b1b2283a63479acffeb968483
After you have connected, you open a channel to Coincharge and provide an amount of at least 500,000 sats from your side to this channel.
After you have opened the channel to Coincharge, send a short message to Coincharge via the adjacent contact form. Please enter your email address so that we can contact you if we have any questions.
Enter your node ID in the text box.
Coincharge will also provide the same amount.
Please note that the channel should be opened with at least 500,000 Satoshi.
At Lightning Conductor the Service Return Channel is called. On the website https://lightningconductor.net/channels you can find the Lightning address (03c436af41160a355fc1ed230a64f6a64bcbd2ae50f12171d1318f9782602be601) of Lightning Conductor.
We connect to this Lightning Node (Peer) and charge the channel with at least 500,000 sats, that is 0.005 BTC.
Then we wait at least one hour until the channel has been confirmed by the block chain. Within 24 hours, Lightning Conductor will open a channel to your node for the same amount. You do not have to do anything else yourself.
Liquidity for free
There are also some Lightning Nodes, which provide free liquidity on demand from their side.
These offers should be used to also increase the own networking within the Lightning network.
Lightningto.me provides free inbound capacity of 2 million satosh (0.02 BTC)
Available. You have to specify your public key and Lightningto.me establish the appropriate connection from your side.
Peernode also provides Lightning Liquidity for free. A request must be made via a contact form.
The provider LNBIG.com connects to you with a liquidity of at least 2 million Satoshi. You can also choose a higher amount. No costs or conditions. This connection should be established in any case. The disadvantage is that you cannot create the channel by Ride the Lightning. But if you can login to your server via SSH and Terminal / Putty, you will find a very good free solution.
Go to Open Channel and select the amount that LNBIG should provide from its side. Then select the setting LND / C-Lightning / BTCPay / Eclair and click on Next.
Then an overview of different terminal commands appears, depending on which node you are operating.
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 appear next to it.
Now you have to login via terminal on your server with the Lightning Node and the BTCPay server. Then copy the commands and click Enter.
Afterwards the liquidity is available to you as remote balance.
Connection to strong peers with local balance
But you can also build up your own connections to strong peers and provide them with liquidity from your side. If you make payments yourself through these channels, it becomes Remote Balance and can then be used for incoming payments.
Strong recommended peers are among others:
- 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, which must 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 page is a Lightning Explorer or a directory of all Lightning nodes. All known Lightning nodes are listed here. Go to the page and search for your own node where you enter your Node ID.
You can see which nodes are particularly well connected within the Lightning network. It’s best 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. So other peers will come to you and open a channel to you.
Search for your own Node ID at 1ml.com.
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 1ML.com that the node you choose is actually your own node.
You can provide this proof in three steps.
In the first step, you have to connect to the 1ML.com node. To do this, you use the displayed node address:
You will then open a channel to 1ML.com for the amount of money you are shown. The amount is the Channel Capacity and must be identical to the amount 1ML.com has indicated. So do not pay less. But you can also choose a higher amount. The higher amount must be exactly double or triple the amount displayed.
In our example it was 306,778 sats, with you it will be a different amount.
After we have opened the channel, this is displayed in our RTL backend as a pending transaction with the status channeld_awaiting_lockin and the predefined amount.
Now we have to wait a little while before the opening of 1ML.com channel is confirmed.
Parallel 1ML is something like a Lightning Node directory. You can provide your own entry with additional information.
The amount paid, which has been made available in the channel with 1ML.com, is Out-Bound Liquidity and is available as a local balance.
For payments to us, the Local Balance is unfortunately not helpful. However, 1ML.com is very well suited for outgoing payments 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 from the built up network effect.
Lightning Exchange by Crypto exchanges
More and more Bitcoin exchanges offer Lightning deposits. These Bitcoin exchanges have a very high liquidity and also a very strong connection 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 (fund) paid back to your node via Bitcoin (Withdraw).
First, the node ID of the corresponding Bitcoin exchange is researched. Connects to this node and sets up a channel with an appropriate capacity.
Then one takes the deposit on the stock exchange by Lightning and afterwards the disbursement by Bitcoin (On-Chain) back on its own Node.
If you have an account with Bitfinex, you can look up the node ID of Bitfinex at https://ln.bitfinex.com/. In our test there were two different Node IDs.
We connected with Bitfinex and opened a channel. The channel had to be opened with at least 4 million Satoshi.
You then make a deposit. One finds the deposit option under Deposit and with the crypto currencies under Bitcoin (Lightning Network).
Then you enter the deposit amount. For example 1mil Satoshi or 0.01 BTC
Then you get the Lightning invoice, which you 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 the Lightning area and also operates its own Lightning Node: ln.bitstamp.net [Bitstamp]
However, Bitstamp does not yet allow deposits or withdrawals via Bitcoin Lightning.
Our Lightning Nodes
If you run your own Lightning Node, then connect to our Lightning Nodes
Node ID: 0318ac9faa9629e7da08819bc8fe0dd2ae3044d69b1b2283a63479acffeb968483
If you open a channel to one of our nodes, then in return we will also open a channel of the same amount to you.
We open channels from a minimum of 500,000 sats to a maximum of 5 million 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 if we have any questions.
In the text field please enter your own Node ID and the amount.
We will then also open a channel to you and make the same amount available.
Please note that the channel should be opened with at least 500,000 Satoshi.
You can also inform us by telegram about your channel to us: https://t.me/coincharge_io
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/