Don’t you love giving away 3% or more of every sale to Visa and Mastercard? And isn’t it even better when people whip out their Amex? Who doesn’t like those fees? Oh, that’s right. Business owners don’t.
Would you offer your customers a payment method which eliminates those transaction fees? If so, keep reading.
Hopefully by now you’ve heard of Bitcoin, if not this article isn’t for you. But if you have, let’s walk through using Bitcoin’s Layer 2 payment solution known as the Lightning Network for your business. The Lightning Network will work for you regardless of whether you sell donuts or fix mowers or cut hair. If you can create an invoice, your customer can pay it with their cell phone.
Your first question is probably, “Why should I add Bitcoin as a payment method?”
Assuming you’ve been accepting credit cards for a while, you’re well aware of the drawbacks to credit cards:
Bitcoin reduces or eliminates each of these pains:
Your next question might be: “How am I going to get the money into my bank account so that I can pay bills?”
While some of you might want to keep some or all of the bitcoin collected as bitcoin, most businesses spend a large percentage of their gross income on bills which can only be paid with dollars, so converting between bitcoin and dollars is the most important issue.
The flow will go like this:
There are several exchanges that support Lightning. What follows is a walk-through using either Strike or River Financial. You’ll only need to work with one of these two companies, but hopefully seeing two options will give you the sense for what is involved.
Strike is included because what they are trying to achieve — hyperbitcoinization — both in El Salvador and world wide, is worth supporting with your business.
River Financial is included because they support Lightning Network and would be simple for you to integrate into your business.
Additionally, this guide is going to describe working with something called an Umbrel. At this point you only need to know that it is an inexpensive computer which you’ll want to purchase to be the center of your new payment system. Umbrel will be described more fully in the section “Set up a node.”
Creating an account starts out lightweight. You only need to give them an email address and a cell phone number, but to transfer higher dollar amounts you’re going to need to prove your identity with them by sending pictures of your government identification.
Once you’re all verified you should be able to connect your bank account. On the “Profile” tab, there is a “Payments Method” button that you use to connect Strike to your bank account.
You’ll need to create a Lightning invoice in the Strike mobile app.
On their website they have a “Sign Up” button. You’re essentially creating another bank account, so be prepared with your address and other identifying information.
Everyone’s favorite, right? You must love paying the correct amount of income tax, if only because it keeps the government off of your back.
You’re going to be reporting sales in dollars both for income tax and sales tax, however, you’ll be receiving funds in bitcoin. You’ll have to keep records of the sales as well as the conversions from bitcoin to dollars.
You’re already keeping records of all of your sales, maybe with a point-of-sale (POS) system. The easiest solution will be to ring the customer up on your POS and close the transaction as settled with cash. Then collect the bitcoin as described below. This will keep your sales numbers all in one place for tax purposes, but your bank balance will be split between cash register receipts and your bitcoin balance on your Umbrel.
While it would be great if it weren’t true, you’ll be creating a taxable event each time you convert bitcoin into dollars.
When you collect the bitcoin, you record the sale as having been in dollars. This is essentially an instant purchase of bitcoin with the dollars from that sale. So, naturally, your cost basis for that bitcoin is the amount of that sale.
You could report each and every Lightning Network sale independently, but a far simpler approach (which you can defend in any audit) will be the use of your average cost basis.
Whenever you convert from bitcoin to dollars, you’ll record:
This will be all the information you need for you or your bookkeeper to fill out your taxes.
These will be short-term capital gains, which are currently taxed at your income level, but you’re not paying tax on the whole amount. You already recorded much of the value in your cash sales receipts. You’ll only be paying tax on any gains that might have happened after you received the bitcoin but before you converted it to dollars.
Everyone loves examples, right?
You want to know “What if the value of Bitcoin goes down before you sell?” Great question.
If you have a mix of gains and losses, you’ll add them together at the end of the tax year and pay taxes on the total.
“What if I lose money on every transaction?” you ask.
If the total of all of your transactions result in a negative number, the first $3,000 of these losses can be written off against your sales income. Any additional losses can be rolled into the future to reduce future gains.
But if these losses are so large that they pose a material threat to your business, you can add a “spread” to the conversion on each Bitcoin transaction to insulate yourself from these exchange rate fluctuations. This is essentially like charging your credit card customers more than your cash customers, and savvy customers may not appreciate this practice. Use this power wisely.
If you're still interested in what it would take to get set up to receive payments over the Lightning Network, the rest of this article is for you.
The high-level steps are:
You’ll want to have an account with an exchange like Strike or River Financial, which is outlined above.
The Lightning payment network is really a bunch of connections between many Bitcoin Nodes. You’re going to need to set up a node for yourself, and this walk-through will point you toward Umbrel. You could do this with several other easy-to-set-up node providers such as RaspiBlitz or myNode, or even running Bitcoin Core directly, but Umbrel is very easy to use, even for people not too comfortable with technology.
The setting up of an Umbrel involves purchasing around $300 worth of computer parts. Available at places like Amazon.
The full list of items can be found on their website but a quick summary:
Once the gear arrives, you follow Umbrel’s instructions or you can watch a good walk-through on YouTube from BTCSessions.
Once you have it set up, you leave it running 24/7/365. It will download the full Bitcoin blockchain and keep up with future blocks. The full blockchain will take a few days to complete.
There are things called Lightning channels, which are described under the heading of “Set up inbound liquidity” below.
Umbrel has an App Store from which you can install BTCPay, which lets you easily accept payments over the Lightning Network.
Once you install BTCPay and launch it from your Umbrel, you create an account with email and password and set up your store.
Setting up your store has these high-level steps:
Additionally, you’ll use BTCPay to determine your cost basis for the bitcoin you’ve collected.
Creating the store is a one button step. Just type in a name and click “Create.” (You can change the name later.)
Associate with the node’s wallet
Create the app
Here is where you could get fancy and have several different ways to see the store you set up in the first step. Let’s keep it simple and just create the cash register experience.
Set up the keypad
Create a bookmark
On the “Apps Settings” page, or on the list of “Apps” page, you’ll see “View.”
Bitcoin Cost Basis
At some point, perhaps at the end of every day or the end of the week, you’ll move your bitcoin to an exchange to convert them into dollars as described above. When you do this, you’ll want to record your cost basis.
BTCPay makes it very easy to see a list of all paid invoices and export them to a CSV file.
From the “Invoices” page:
Lightning Network moves bitcoin between nodes on private one-to-one ledgers called Lightning channels. It is very similar to how you and your friends keep track of who paid for lunch or drinks last time, but channels keep track right down to the penny.
You open channels to a few other nodes on the network. You can do this with the “Open Channel” button on the Umbrel’s “Lightning” tab. This is an interesting process, but let’s skip it because all it will get is “outbound liquidity,” which is the ability to send bitcoin out. We’re talking about how to get you the ability to receive bitcoin, which is also known as “inbound liquidity.”
Inbound liquidity may be the most challenging thing about the Lightning Network because you can only receive as much bitcoin as your total inbound liquidity. If you have 0.01 bitcoin of inbound liquidity and someone wants to pay you 0.011, the payment will fail. It would be like your customer wanting to pay with a big stack of cash, but you had to refuse the sale because your cash register drawer was too small. Your customer could open a channel to you as a part of the transaction, but that makes the process last minutes instead of seconds.
So, before you prop up your “Bitcoin Accepted Here” sign, you’ll want to make sure you have enough inbound liquidity.
Pay for liquidity
The easiest way is to pay for it. Here is a list of places you can buy inbound liquidity. Services like LNBIG work well, but the open channel is only guaranteed to remain open for one month, so you might start to question whether the credit card fees were really all that bad.
Liquidity from Customers
If you see paying for inbound liquidity as similar to paying credit card transaction fees, you might spend a little time trying to develop some inbound liquidity organically. Bitcoiners are often enthusiastic supporters of others trying to learn about or make use of bitcoin. If you post a sign in your window asking people to open a channel to your node, you should soon have a few channels giving you inbound liquidity. Additionally, this could give you a reading on how interested your customers are in paying with bitcoin.
Liquidity from Bitcoiners
If you went on Twitter and tweeted something like:
I’m adding #LightningNetwork payments to my store. Any #Bitcoiners out there willing to help me out with some inbound liquidity? #Bitcoin
You’ll receive plenty of new channels offering inbound liquidity.
You could go on Plebnet on Telegram and ask for inbound liquidity for your business. Plebnet is full of friendly Bitcoiners who would love to help you out.
If you were willing to invest a few hundred dollars (in bitcoin), you could join a ring with other Bitcoiners on LightningNetwork.plus. Here, you open a channel to someone else and in return another user opens a channel to you, forming a triangle- or square-shaped ring where bitcoin can flow back and forth, giving you inbound liquidity.
At some point, a Bitcoiner is going to ask you what size channel you need and what is your node’s address.
Most Lightning Network users will be OK with giving you a channel of between 1 million to 5 million satoshis (sats). This is 0.01 to 0.05 of a bitcoin, which is a few hundred to a couple thousand dollars.
To be clear, they’re not giving that money to you. They’re opening a shared ledger with you. The bitcoin can flow to you, from your customers, through them. They will do this because they get to keep a small percentage of each transaction, paid by your customer. They’re taking the place of Visa and Mastercard, but they take far less. As an example, $50 dollars (approximately 110,000 satoshis) can be sent for around 2 satoshis, which is less than one one-hundredth of a penny.
Your Node Address
For anyone to open a channel to you, they’re going to need your Lightning address. You get it from the “Lightning” tab on your Umbrel.
This Lightning address is not private and giving it out does not expose any private information about your business or your physical location. People can see how many Lightning channels you have open, and the total liquidity available to you, but not the per-channel balances.
Your node is going to be receiving bitcoin, so much like protecting your cash register, you’re going to want to protect your node.
Protecting your node from theft
If the device you plan to use as your BTCPay Keypad has access to the internet, even if it is through a cellular network, your Umbrel does not need to be located at your place of business. You could keep your Umbrel in a closet at your house, assuming your house has good internet access. If you do locate your Umbrel offsite, the bookmark to your BTCPay Keypad will need to be different.
To get the remote access address:
Recovering from a damaged node
Your Umbrel can be recreated from a series of 24 words, and the channels can be recreated from a backup.
If you plan to leave any significant amount of bitcoin on your Umbrel, you should write down the 24 words and keep them somewhere safe. To get to the secret words:
Also, you should download a backup of your Lightning channels each time you open a new channel. To get to the channel backup:
Restoring the backup is a bit too technical for this article. If you need to know how this will work before you start accepting Lightning Network payments in your business, DM me or look for my upcoming article on the topic.
Protecting your channels from dishonesty
If your node stays offline for more than a few hours, an unscrupulous person might try to close the channel they share with you with information from another time when more of the bitcoin was on their side of the ledger. While Bitcoiners are honest and upright people, the Bitcoin motto is “Don’t Trust. Verify.”
In the spirit of this motto, you will want to set up something called a watchtower to verify that your channels are not closed while you’re offline. Though easy, setting up the watchtower on your Umbrel is too technical for this article. LightningNetwork.plus has some instructions on setting this up, but if you need a less-technical walk-through DM me or look for my upcoming article on the topic.
If this omission leaves you concerned, keep your Umbrel online or send the bitcoin to your exchange frequently.
Let me apologize for the U.S.-centric aspects of this article. As a U.S.-based person, many institutions that are available world wide are not available to me. For this reason, I chose exchanges that I have personal experience with. Once I’d made that decision, I bent the instructions toward a U.S.-based reader. There should be many parts in there which will be applicable to you in your country.
I did not intend anything in this article as financial advice. I am not a financial advisor. I am just a pleb trying to help people learn something about Bitcoin and the Lightning Network.
I’m not a tax professional so take this article as hearsay from an experienced business owner and self-filing taxpayer. If something doesn’t sound right, you can use this as a guide for discussing this with your accountant.
This is a guest post by Raymond Walsh. Opinions expressed are entirely their own and do not necessarily reflect those of BTC, Inc. or Bitcoin Magazine.