This article will explain how a merchant or other point of sale setup, such as a crowdfund, should manage their lightning node backend liquidity. We will discuss basic goals, initial setup, interaction with point of sale front ends such as BTCPayServer, and how to manage the liquidity. There are three steps to getting your business to accept lightning through your node.
Step 1: Get your node running and get your inbound liquidity.
Step 2: Connect your node to BTCPayServer.
Step 3: Build a BTCPayServer native shop or connect your BTCPayServer to a merchant platform such as Woocommerce or Shopify to enable Bitcoin as a payment option for your customers.
Step 1: Inbound Liquidity
After you set up your node, whether on Voltage or locally, your node will need inbound liquidity. Inbound liquidity is what will allow your node to receive payments. This is more difficult than obtaining outbound liquidity, which is how you spend out of your node because other nodes on the network must allocate their capital to your node to obtain inbound. Your peer’s outbound is your inbound, and vice versa.
You might ask what incentivizes other nodes to allocate capital to give your node inbound liquidity. The answer is routing fees. For a normal routing node on the network, opening a channel to a merchant node is a great way to earn routing fees for forwarding payments to others. Later, we will explore how routing nodes agree to open a channel with another node for an upfront price. This is called selling liquidity. A merchant node can be a primary customer of the liquidity of other routing nodes.
For basics on how the lightning network functions, check out this short beginner explainer: LN.Guide. The Thunderhub docs series will walk you through the basics of using Thunderhub here. Be sure to acquire the amount of inbound liquidity that matches your store’s needs. For example, if you expect your monthly volume to be $10,000, get as much inbound as possible to meet that amount.
How a Channel Changes
Over time, as you get sales, your inbound side will shift to your outbound side, and eventually, your channel that was once heavy inbound will not be heavy outbound and you will be unable to receive into that channel. When this happens, you have a few options.
You can close the channel and move the funds to cold storage or wherever you like. You can submarine swap the funds, which means you can keep the channel open, shift the liquidity back to inbound, and receive the outbound back on-chain. To do this, click Swap in the Thunderhub main menu and fill in the parameters. Or you could leave the channel open and use the steps you used for the initial setup to acquire more inbound. Your node could eventually turn into a profitable routing node over time if that is what you wish, or you could even begin to sell liquidity if you like.
An initial inbound channel may look similar to this on thunderhub:
This means you have 9.9million satoshis of inbound liquidity. As you receive payments through this channel, the liquidity of the channel will move towards the local side; the side that you own:
In Thunderhub, the blue side represents the side you own and can send. The green side represents the amount you can receive, which your peer owns.
Over time your channel may go completely blue, meaning you can no longer receive into that channel; you can only spend out of it. To get inbound liquidity back in the channel, feel free to use a service such as BOLTZ, which is built into Thunderhub. BOLTZ allows you to pay through your channel and receive on-chain, thus moving the liquidity back to the inbound side and then receiving your profits to an on-chain address. Access by clicking Swap in the main Thunderhub menu. See the image below:
When opening and managing your channels, consider your expected sales volume. If you expect to sell 5,000,000 sats worth of product per month, you probably would not want to have only 1,000,000 sats of inbound liquidity. Also, be sure to have at least five channels to very well-connected nodes on the network to ensure that your customers’ payments are successful.
A good starting point may look something like this:
Channels are heavy on inbound liquidity and are ready to receive payments.
Step 2: Connecting your Node to BTCPayServer
After your node has a few channels of inbound liquidity, you now need to connect your node to a point-of-sale style system. Luckily, with Voltage, BTCPayServer is built in, and if you are running a Voltage node, your node will link up with BTCPayServer automatically. If you are running your node externally, you can connect it to a BTCPayServer running on Voltage. Although the setup is much more complex, you can also install and run BTCPayServer.
If you are running BTCPayServer on Voltage, check out this guide.
Step 3: Bringing it All Together
On your BTCPayServer dashboard, you can run native applications and customize web stores. Features such as add to cart, descriptions, item photos, etc. are all included. BTCPayServer also shows you all invoices so you can keep track of sales. Your sales will also appear in your node management software (likely Thunderhub) to keep track of sales. For a BTCPayServer native shop app, check out the short guide here.
If you are already running a Shopify store or Woocommerce through WordPress, you can link up your BTCPayServer to your shop with a simple API key. Guides can be found on your BTCPayServer settings page or at How to accept Bitcoin in Shopify | BTCPay Server.
And that’s about it. With three steps and a little bit of setup at the beginning, you will have a fully sovereign lightning node backend and a great-looking customer-facing front end for your business. If you have never used lightning before it may be a bit intimidating, but once you get the hang of it you will wonder how you ever survived without it.
As always if there are any questions you have or would like a live demo of the platform or us to work with you to help set up your merchant services and lightning, we can be reached at firstname.lastname@example.org or on our discord server at https://voltage.cloud/discord.
Spin up your first node today and start building with Voltage.