[The scene opens with a bustling market. The Merchant, stands behind a counter stacked with various goods. Practical Guidance for the Merchant informed by Bitcoiners; Kate, a seasoned merchant…and Nate are in conversation.]

Merchant (Enters the scene) I’m looking to accept Bitcoin and take control of transactions at the point of sale, managing them all the way through to my own wallet.

Kate: (Inquisitive) What’s your endgame for custody?

Merchant: (Confidently) Cold storage, obviously.

Kate: (Curious) Will you run your own node?

Merchant: (Puzzled) Why should I run my own node?

Kate: (Responding) To have control over the payment path from point of sale to your storage solution.

Kate: Do you want to DIY managing your own node? Or “rent” one from a trusted party ?

Depending on response follow instructions in bold below:

Merchant: What is involved with managing my own?  go to Instruction One

Merchant: I just want to start accepting Bitcoin using Lightning Node how do I “rent” a node then go to the following Voltage video:

Instruction 1:

Kate (Explaining) To run a node you need to decide on the hardware and operating system for node management.  Umbrel, MyNode and Raspberry Blitz are options for running on Raspberry Pi 4 Hardware. In the following example we use StartOS from Start9 (also known as Embassy).  We will set up the StartOS software installed on a computer with the appropriate specs.

Links to podcasts the benefits of Start9 and sovereign computing and here is one of my all time favourite podcasts.

Start 9 up and running

This setup will act as the foundation for interacting with node running and services, including point of sale, both online and in real life.

Merchant: (Inquisitive) What are the hardware options?

Kate (Informing) Here is a list of DIY hardware options that you can use or you could purchase a server hardware direct from  Start9.

Merchant: (Determined) I’m ready with Start9. Now I’m set to receive payments?

Instruction 2: Funding your Node

Kate: No, now you need to learn to operate your node. Understand the difference between on-chain and Lightning transactions. Fund your node with Bitcoin from an external source to establish Lightning channels.

Merchant: (Eager) Wait, so Lighting is different than Bitcoin Onchain ?

Kate: (Affirmative) Yes, you need to set up a channel with a peer on top of the Bitcoin base layer to do a Bitcoin Transaction. This involves making an on-chain transaction to commit a certain amount of Bitcoin to the channel. This on-chain transaction establishes the initial balance for the Lightning channel, and once confirmed on the blockchain, the channel becomes operational, allowing off-chain or Lightning transactions to take place. The funded channel then becomes part of the Lightning Network, enabling faster and more cost-effective transactions with other nodes on the Lightning Network.

Merchant: (Confused) What is funding a channel mean?

Kate: (Directing): See Andreas Antonopolous explanation of the Lightning Network

Merchant: (Seeking clarification) What is a peer?

Kate: (Simplifying):  Other parties that run a node on the Lightning Network see examples list of nodes (peers) at https://1ml.com/

List of nodes List of potential nodes

Merchant: (Curious) What is a channel, and how do I open it?

  • Local Balance: This represents the amount of Bitcoin that you, as the channel opener, can spend or route through the channel.
  • Remote Balance: This is the amount of Bitcoin that a channel peer can spend or route through the channel. Also known as the incoming liquidity or amount of payment you can receive.

BTC Sessions: (Providing instructions) LIGHTNING SESSION: How To Open A Bitcoin Lightning Channel

Instruction 3: Opening Channels

Kate: (Detailing) Opening channels using applications like Ride The Lightning (RTL) or ThunderHub, accessible as extentions on your Start9 node.

Each Lightning channel has two sides: the local balance and the remote balance.

Outbound Liquidity:  to spend using your Lightning channel, you need local balance. You can only spend the funds that are on your side of the channel.

Merchant: (Assuming readiness) Now can I receive payments?

Kate (Revealing necessity) No, you need inbound liquidity, if you do not have inbound liquidity channel to your node for the amount that the customer is paying you, your payment will fail.

Merchant: (Confounded) What is liquidity?

Inbound Liquidity: means you need a channel with a enough of a remote balance so that your customer can route payments to you.

WTF Liquidity

Instruction 4: Getting Paid Inbound Liquidity

Kate: (Educating) To receive payments, you need inbound liquidity. Ways to achieve this include getting others to open channels to you or paying for them, or using service called Loop, or doing a submarine swap using an exchange.

Merchant: (Seeking guidance) How do I make it happen?

Resources about understanding Liquidity and getting Liquidity

DEMYSTIFYING INBOUND LIQUIDITY blog post from Voltage

Lightning Network Plus: Node Channel Liquidity Management BTC Sessions

Voltage Cloud: Inbound Lightning Channels With FLOW

Lightning Pulse Podcast Nate has suggestions for Inbound Liquidity at min 21:43

Getting Inbound Liquidity to your node Plebnet wiki

Instruction 5:

Merchant: (Impatient) When can I start accepting payments?

Kate: (Suggesting options) You can accept payments now using direct on-chain transactions or generating Lightning invoices on your node.

Kate: (explaining) Now that we have your node set up on the StartOS and channels funded and peers connected, you can manually go in and generate invoices to send your customers for them to pay (either on-chain or using the LN network)

….and once your customer makes the payment you will see it on the dashboard of your node.

Merchant: (Describing need) I want a POS on checkout on my website my phone for IRL transactions and a .

Kate: (Recommending) Sure, you can connect your phone to the payment gateways (LNBits or BTCPayserver) installed on top of your LN node. LNBits or BTCPay Server is connected to your node. We can connect your node to a mobile wallet on your phone for IRL transaction. 

Section for : Connecting Desktop/Mobile Wallets to Node (WIP)

    Desktop Wallets:

    • Electrum
    • Sparrow

    Mobile LN Wallets

    • Phoenix
    • Breez
    • Blixt
    • Zeus

Instruction 6: POS Payment Integration  

Kate: (Elaborating on options) Point-of-sale integration options like LNBits or BTC Pay Server are available, allowing you to set up instances on your domain.

Introduction to BTC Pay Server and LNBits can do for Merchants

Podcasts:

Kevin Rooke BTCPaySever for Merchants with Dennis Reimann

Ben Arc on simple BTC 2021

Merchant: (Seeking clarification) How do I implement these instances on my website?  

Kate: (Advising): StartOS has both payment gateway extentions available that will automatically interface with your node:)  This is way we have spent so much time setting up your node properly….from here you can embed a BTCPayServer plugin for WordPress and for Shopify.

Both LNBits and BTCPayServer run on top of your node over Tor

Merchant: but my customers are not on Tor

Kate: So you make an instance available of POS on clearnet

Merchant how to fuck do I do that?

Kate (unsure):  this is were it gets a little fuzzy for me too…..what I do know is:

There is a Shopify plug-in for BTC pay server, LNbits plug-in for WordPress

Also, there is tunneling service (Tailspin) to connect your business name to a subdomain. For example, LNbits, on lnbits.yourdomain.com or btcserverpay.yourdomain.com

Merchant (frustrated):  I am really fucking overwhelmed by this…… 

Merchant, so what about if I don’t want to run my own node after all of this

Kate: I understand ….exposing your node so your customers can access comes with this risk of exposing your IP I think we should talk to Nate at Voltage

This is a problem – presenting payments requests (or support tickets) to regular customers using Clearnet but node access is over Tor ….

Matt nails exact problem here on RHR:

If merchant is trying to self host their payment gateway (BTCPayServer, LNBits), I heard Nate mention a solution is running node on VPS could be an option for sovereign nodes…..

SO…. I think we should talk to Nate about hosting a node through Voltage.

Kate: (Explaining alternatives) If you opt out of running a self hosted node for your business (companies like Coinkite and BTCSessions default to for their businesses to Voltage to have a reliable node) Voltage can serve as your lightning service provider, offering rented nodes with managed channels and support.

Voltage can be a stable lightning service provider (LSP) and you will effectively rent a node and manage your channels through their stable interface. They have ways of setting you up with liquidity you can purchase. They are on a per hour bases even the rent the node, and they have a Discord support chat, which allows you to be able to ask questions and learn:)

Instruction 7:

Merchant: what if stack a bunch of sats on this LN node and want to move it to an on-chain address I control

Kate: That is an excellent question and if you have made it this far we can assume you:

  • are getting paid in Bitcoin and want to move it (or receive it directly) into self custody
    • you understand that you can receive these payments because of inbound liquidity that you either manage yourself (running a self hosted node) or a third party is managing it for you (custodial node).
  • have a baseline understanding of bitcoin on-chain and Lighting network 
  • have a plan for your Bitcoin custody end game
  • use or know about using a payment gateway (eg. btcpayserver, lnbits)

Couple of options:

Loop

Using Loop out useful to move sats out to onchain address using apps; RTL, Thunderhub or Lightning Terminal 

OR

External Swap Service

Use external swap service like boltz.exchange, fixedfloat (more examples needed)

Wallets with Integrated Swaps (TBA)

Instruction 8:

Merchant:  I have questions about tracking and reporting transactions for my business

What currency are you accounting with?

Kate:  For tracking transaction, there is Zaprite and LNBits can export a CSV file for all transaction

Merchant:  I need accounting advice!

Kate:  Following are some resources for for Bitcoin savvy accountants:

Canada:  Nmbrly Jon Tellis (tell him I sent you)

CPA’s in Canada (not BTC Specific)

Australia:  Electrifi

USA: Pacioli

[The scene fades as the Merchant contemplates the information, prepared to venture into the world of Bitcoin transactions and if he has any sense will probably Just call Nate at Voltage.]

07.03.2023

This is just one of a variety of scenarios for a merchant and there is no ONE Size FITS All for every merchants – the tools need to be contextualized for the needs of each client, which starts with listening and understanding where they are at and their needs. For those that have a commitment to self custody and sovereignty, a node is going to be required along the way and I believe that more support is needed for these folks so that there is less friction to adopt.