Private banks over The Lightning Network
How to manage a Bitcoin LN routing node for a more private use as an "Uncle Jim" Bank for yourself, for your friends and family.
Updated 08 Feb 2024
INTRODUCTION
This guide is a bit more special because I will try to present a real use case scenario for many new Bitcoin and Lightning users. Is a use case to help more people to onboard easy with Bitcoin, in a more private manner. Is the main case of “Uncle Jim” that is helping his local community with his knowledge, skills and… LN liquidity.
This guide IS NOT about “earning yield” with your LN node!
Why I would write such guide for such use case scenario? Because most of the people need banks, but not fiat banks. They need Bitcoin Lightning Banks, because not anybody will be capable to run their own routing node, many also will don’t want it. This is where “uncle Jim” model come into place. And is needed. This is the start for building The Bitcoin Circular Economy.
And I write this guide to remain in the Bitcoin history as a reference. I am sure, this is just a small part of what we can do with Bitcoin, but is just a start. We will always improve it with new solutions, apps etc.
Yes, I was asked a lot, to write about this scenario and many people are interested in how to put it in practice, for personal or even commercial use. I will try, as usual, to explain it in simple terms, so any new user could understand it. I know, is hard to skip so many technical terms… but in the same time keep it at a low level of technical knowledge.
This guide is dedicated for those who have some basic knowledge about how Bitcoin Lightning Network (LN) works and want to go towards a more advanced use of their nodes, or want to start running a LN node exactly following this scenario.
The guide could be really long, because there are many aspects to talk about, but I will try to keep it short.
If you are new into running a node, before reading this guide or put it in practice, I am strongly recommending you to read these guides, or at least to bookmark them, because are necessary to have them as a base knowledge:
… and more from my substack. The learning curve is slow but must be necessary.
OBJECTIVE
This guide have the main goal to build a “plebs private bank” over Lightning Network, how to manage the liquidity of the LN node behind the “bank”, what hardware / software and mobile apps we can use, use case scenarios in real life.
Also will touch the aspect of adding more privacy and anonymity to your transactions.
Take this aspect very serious. This is not a game or you are doing it for fun. You are responsible for your users funds and to provide them good liquidity services. You are not doing this only for you, but also for the rest of the network participants.
Yes, not everybody can run a decent LN node and take care of all aspects, so you step up and became their “uncle Jim” that runs everything for them, in a more secured, private and semi-custodial way.
This scenario is good for family bank, local communities bank, even companies internal bank. It will help also with provide good and specific liquidity pointed to the directions where users are using most the LN payments, with low fees and less failed payments.
THIS IS NOT FOR PASSIVE INCOME! Move away from this mentality. Please.
Yes, Bitcoin network is driven by pure anarcho-capitalism, but that doesn’t mean we should focus on “how to fuck each others, instead of fucking the banksters”. Also is not about altruism, is about building a new system, something noble, durable and make a better world. You can’t start something good, if you mind is focused only on “how can I take more sats from the other nodes and users”. We will have time to deal with that later, after we get rid of all banksters, govs and all malice in this world.
Do not do this, if you are NOT ready to dedicate time and resources. This is NOT a easy task, as many would think it is. Involve time, money, hardware and dedication.
If you are looking only for a simple personal use of Bitcoin Lightning Network, here you have a guide for Getting Started with Lightning Network, that is more than enough for a single simple user.
Here is a scheme of this scenario, like a map of all the processes that are behind and we will talk about in this guide:
YOUR CENTRAL LN NODE = YOUR BANK
This is the “brain of your bank system” so choose wisely what kind of infrastructure you will start building. Yes, is not necessary to be a super high-end expensive computer, but also not using a trash cheap PC lost in your garage.
A. Hardware
As I explained in this guide the LN nodes maintenance, you have different levels of hardware that you can use, depending on your “business vision” and how far you want to go.
If you want to start with kinda low cost but being able to extend later, I would suggest to use a miniPC / barebone / SFF (small form factor), that can be even a refurbished PC, but a good one, not from 1995… with at least 8GB RAM (preferably ECC), a decent CPU (multi-core) and SSD drive. Nowadays, you can find many refurbished PCs from closed offices, with almost new hardware. Just add a 1TB SSD drive to existing one and you are good to go.
I personally use a normal NUC Gigabyte, fanless. Is quite old, but for my needs is enough. I run several LN nodes with this one from Jan 2019, testing, learning etc.
If you can use a barebone PC where you can fit more drives, will be good to have a RAID system, at least RAID1 (2 disks) if not RAID5 (3 disks) for a real time protection of the disk failures.
Run the Debian OS on a primary smaller disk and node data on the bigger 1TB disk (single or RAID volume).
Be sure you have a good internet connection and preferably run the node in a hybrid mode (clearnet + Tor) or just clearnet. Tor is unrelaible for such operations. If you do not want to use or reveal your home IP, you can use TunnelSats.com or any other VPN connection. Important is that you must have a 99.99% online availability of you node.
Be sure you have full access to your internet router so you can open ports and make necessary changes.
Also an important aspect is to keep it online. That means, to use a UPS (uninterruptible power supply) for your node and internet router. Seize your UPS depending on the electrical consume of your devices, usually a 850VA, max 1200VA UPS is enough to keep your machine alive until the power is backed up. But don’t add any other device to this UPS circuit. Any extra load will make it useless.
B. Node Software
What node software you could use? Here I wrote a guide about all kind of types of software nodes and resources.
Important aspects:
There are different Lightning implementations and each one have its own pro and contra aspects. So choose the one you are more comfortable and suit your needs. You can run 2 LN implementations on the same machine, but be aware that this will take more resources. Is better to run separately and also having them as backup to each others. If your machine is powerful enough, there’s no problem running 2 LN nodes on the same machine, each one will have its own port to communicate.
You will need to have bought a domain name and have full control of it. You will need to add domain records and point to your machine IP. So if you do not know how to do this stuff, learn first.
You will need to have at least a base knowledge about networking: LAN, WAN, proxies, firewalls, ports etc because you will have to deal with all of these. If you are not familiar with these terms, go and learn first.
You will need to have at least basic knowledge of using Linux OS systems. So if you are “windows user”, start learning, install in a simple PC a Linux Mint or Ubuntu or Debian and play with it until you learn the basics. Here is also a great Youtube channel about using Linux for LN node servers, by 402 Payment Required
If you just want to start, in a easy way, learning, I would suggest to use Raspiblitz x64 installation procedure or MiniBolt. Also now Start9 lunched the x86 version for Embassy Node. If you are OK with running a LN node in the cloud, you could use Voltage or NODL, as remote servers for your node. Or any other VPS server.
Basically the steps are quite easy:
Install Debian OS on main small drive. Can be an internal drive SSD or USB, but choose a faster one. I found Transcend USB JetFlash 920 - 128GB with 400MBps read/write that works really nice. Preferably will be an internal drive.
Add the 1TB SSD or RAID (multiple disks volume).
Run / Install Raspiblitz script (is basically just 1 command line, copy/paste) and wait patiently to finish. For the MiniBolt there are more steps to do, but is the same, just following the instructions and copy / paste.
Restart the machine and login with the dedicated admin user to start managing your node. Will start by a full sync of the Bitcoin Node so that will take a while (up to 3-4 or even 8 days), so be patient, waiting and checking the status.
Install LND or CLN as you need, or both. LND works with Dunder channels, CLN works with Hosted Channels. Both work with LNbits. Maybe in the future we will have support in LND for Hosted Channels.
Install additional apps necessary:
Electrum | Fulcrum Server - provide SPV access for your remote wallets
RTL | Thunderhub - to manage your LN node(s) from a desktop, in browser
LNbits - to provide lndhub accounts and a large number of applications
Dunder LSP - to provide inbound channels and liquidity for your users
Mutiny Server - to provide self custodial LDK nodes for mobile clients
Poncho - to provide Hosted Channels (credit-based) for lightning nodes
Cliche - client for hosted channels and liquidity
Optional BTCPay Server if you want to run a merchant shop frontend
Optional Lightning Swap service
Optional Lightning Proxy service
C. Mobile devices software
It is recommended to use Android devices, especially with open OS (GrapheneOS / CalyxOS), de-googled and clean from bloatware.
Install on your mobile device and your other users devices the main apps:
Zeus - mobile remote node management, integrated LND node and lndhub
Blixt - mobile LND node wallet, Dunder LSP and normal channels
Electrum - desktop & mobile LN node wallet, trampoline and normal channels
Valet - mobile LN node wallet, Immortan node, Hosted Channels
Optional install additional LN wallets - here is a full comparison guide, is good to have also other 2-3 LN wallets ready to use, for various circumstances.
Why I choose these main mobile apps? You will see in the next chapter how we are going to use them, but the main purpose is self custody and a better way to manage your funds, LN channels, path finding, liquidity, network fees.
YOUR BANK SERVICES
A. Liquidity strategy - Funds Management
Let’s be clear: You are not running a “savings bank”. You are a LIQUIDITY BANK. That’s why we will not focus on how you and your bank users will manage the savings accounts. I already explained how is working the three levels stash in another guide.
In real life, what a bank need? Funds and flowing liquidity.
From where to where? From your customers to many services that accept their money.
So you must be that bridge between them, providing:
secured accounts for quick receiving / spending (lndhub and hosted channels) and ecash mints using LNbits.
LN channels liquidity with good routes and low fees
good inbound capacity
reliable routing node
In our scenario, apart from your own use of the bank node, also other users will connect their wallet apps to your node and use the specific services. So what are these “services” to provide?
B. Good payment routes over the Lightning Network
Analyze first with which node peers you will want to connect. Not all are good or provide the best routes for you. Try to avoid as much as you can the expensive nodes (check their fees in Amboss explorer page).
I did an extensive routing experiment here, where I explained that channels with 0 base fee and low fee rate, plus adjustable min/max HTLC amount (the valve system also was explained by Rene Pickhardt) are much efficient into finding the best routes with a low cost for you and for your node users.
As you can see in my routing experiment article, I used a gradual increase of fees on my channels and worked really nice.
I always used 0 base fee - because as Rene Pickhardt also find out, base fee is not helping to find a good cheap path, in special for small amounts. And also I want to encourage the use of LN for small payments, so it doesn’t make sense to charge a 1 sat fee for a 10 sats payment.
I used more the fee rate (ppm), that is a % of the total amount. Is more logical and fair. I start gradually with 10ppm and increase it up until 1000, rarely more, only when the balance of a channel need to be adjusted on a specific direction.
Also if I see a peer node that start charging excessive fees on our channel, I raise gradually the fee too and also limiting the max HTLC. In this way the peer will not drain cheaply my channel. If they continue to raise the fees, I will simply close the channel and find another good peer.
Obsessive re-balancing of node channels is NOT necessary and could even create disruptions in your node flow.
In this screenshot you can see that the total liquidity (local and remote) is perfectly balanced. That means my node have enough “space” to receive as equal to send. You can achieve this by controlling the inbound and outbound channels, based on your node usage (customers usage), adjusting all the time to not have a disproportionate difference between inbound and outbound.
Another aspect to take in consideration here is the channel size. In this particular report is not displayed exactly how much it is, but you should NOT open channels smaller than 3M sats or even 5M sats. Are totally useless and only you will end up closing them. Channels of 10-20M until 100M sats are good, with enough liquidity.
Keep in mind the aspect of channel reserves that is 1%. Those funds, yes, are locked until the channel is closed.
C. Connect your LN node with specific destination nodes:
Good LSP (Liquidity Service Providers) nodes.
These are very important sources, because are well connected, their centrality is good and are dedicated to have a strong reliability and large liquidity. Not all are using low fees, but in general yes., because they think in large volume of txs.
These nodes need liquidity on both sides of the channel, so is good that you watch them and keep that balance when is neeed. Adjust the fees and min/max HTLC accordingly or even make a circular balance between other of your channels.
If you want to have direct fast routes and interoperability between many mobile users, you should be well connected with these nodes. This will offer to you and your “bank customers” a fast and reliable route to transact with other users over the Lightning Network.
These nodes need liquidity on both sides, or watch the behavior of your own users, maybe you have more saviors than spenders. The idea is to not clog them, remaining without liquidity on the side is needed.
People start using more exchanges that offer withdrawals over LN. And they need liquidity and you can be a bridge between exchanges and users. Your bank customers also want to buy more sats, using your bank channels.
These nodes need more balance on their side. So you will need to push more the sats on their side, so they can have more liquidity for users withdrawals. These are good pair to circular rebalance with the merchant channels.
This is also an important source, to offer to your bank customers direct channels with those merchants they use more. So if you already know which merchants they want to use, open channels with those. Not just that you offer liquidity for your own bank users, but also for external LN users that are paying to those merchants. Check on BTCMap those merchants near by and ask them if they need liquidity. Then open a channel with their node.
These nodes need more balance on your side of the channel. Why? Because you will have more users paying towards them. So they are a good pair to circular rebalance the channels from exchanges.
Rings of Fire nodes (optional).
This is a special category, is optional. It is good to start with, when you do not have so many channels and you want your node to became more “visible” in the network. Don’t use it excessively because not all nodes in there are good for your needs. Many of them just want “passive income” and trying to suck sats from your node fees.
These nodes will always offers you already balanced channels, using the ring tools. That’s a good thing to start, you will have liquidity on both sides. Also if you are new into running a node, the RoF community is very helpful and will give you the best advice to configure your node.
Other manually selected nodes (optional).
This is the category of nodes that you can expand when your node is already well connected and you want to reach the outer limits of the LN Galaxy. Are nodes that you want to help, nodes that are from other “LN Banks” and you want to be connected and are not from any of previous categories.
But be aware, select them with caution and watch them during the initial period. If are not well worth it, close them. Nodes that are not moving any sats during a certain period are totally useless.
D. What services you can offer to your LN bank customers?
OK, so now you have a good liquidity for your LN bank, is time to prepare the services for your customers (friends and family).
Dunder Channels or 0-conf channels
These are offered (for the moment) in Blixt Wallet mobile app, but can be also applied to any other LN wallet app, if they add this feature (is open source). This procedure for the moment works only with LND nodes. These are totally non-custodial channels.
Practically is a technique to allow incoming payments when the wallet has no inbound channels, to have an intermediary node (LSP).
Intercept the incoming HTLC
Settle it itself instead of continuing forwarding it (by giving preimage to LSP)
Open a channel to the wallet with push amount
To do this the wallet can create an invoice with a routehint that leads to a LSP node with a fake short channel id. Once the LSP sees an incoming HTLC with forwarding information specifying said fake short channel id, it can proceed with the protocol specified above.
In the future, also can be used a ramp for swaps between “the bank” (your node) and your “customers”, users that use their Blixt wallet to open Dunder channels with your node.
Here you have a dedicated guide about Dunder Server and LN Box.
Similar system of 0-conf channels is offering Olympus by Zeus.
These are offered using the Poncho plugin for CLN nodes (maybe in the future will be also available for LND nodes). These hosted channels are very good to onboard new users, using OBW mobile app, offering straight away inbound liquidity and be able to receive immediately sats.
Also it can be used for swaps between your node and your customers, the Poncho operator is being able to push or take sats from that channel and receive / give them to the user into an onchain address (need a trusted relation in between, so don’t do it with strangers).
This service is done using the powerful LNbits software, that is an accounting system on top of your LN node, offering a large variety of extensions that users can activate and use for their own use case of business or real life situations.
The lndhub accounts, yes are custodial accounts acting as LN wallets. I already described in various guides, the use cases for this amazing software: The LNbits Bank, LNbits for small merchants.
With this service, run with your LNbits instance, you can offer ecash tokens based on your LN liquidity, like digital gifts cards or credits.
Read more about ecash mints on https://cashu.space/ and here is a DC Guide.
Lightning Box is a payment inbox for Lightning Addresses. It's mainly suited for non-custodial Lightning wallets that might not always be online to receive payments. Here is a guide.
This is an optional service, only if your customers will demand it or want you to be the provider directly. They also can use any other external swap service like: Boltz | Deezy | RoboSats | ZigZag | FixedFloat | CoinOS | Amboss | DiamondHands
I wrote also an extensive guide how to use submarine swaps here.
Bitcoin Core and Electrum Server.
Yes, some mobile and desktop wallet apps need a private access to Bitcoin blocks and / or SPV with Electrum / Fulcrum Server.
You can offer these, with your node, only for your friends and family, so they do not have to trust an unknown node, they trust you.
For example Blixt need BIP157 Neutrino sync. OBW need an Electrum/Fulcrum Server to sync the blocks. And many other wallet apps could use your public node as a private trusted server.
Support and assistance.
Yes, this part is very important, especially for new users (your family and friends, neighbors etc) that will start using your LN Bank.
So start building your own webpage as “knowledge base”, with specific instructions, tutorials, video examples that can help them start using Bitcoin. You can copy all my substack guides if you want. Are free and open to everybody, I do not claim any copyright or money (but if you want to make donation as appreciation for my work, see the bottom of this article).
Also with the LNbits software suite you install on your node, you can activate the Support tickets extension and your own customers can call you for paid support, if they need advanced assistance. LNbits have many other useful extensions that could help your relationship with your bank customers.
YOUR BANK CUSTOMERS / USERS
Let’s talk also about who are those users of your LN bank and what they can and should do, their task and usage of Bitcoin Lightning Network.
Who will use such a Bitcoin LN Bank?
Your family members.
Are the most important ones, they trust you and your knowledge. Don’t disappoint them. Give them the right tools to transact to each others and with other bitcoin users.
Your friends.
Yes, those that all these years were asking you stupid questions about “bitcoin price” and “govs will shut it down”… you know, the endless “nocoiner excuse”.
They will come to you when their time is ready. So be prepared with the right tools and services for them. YOU will be the only one they will trust.
Your local small shop neighbor.
Yes, DO NOT IGNORE THEM! They are the most important in the Bitcoin space. Without merchants accepting BTC, the whole point of this LN Bank is totally useless.
Here I posted a story about how I convinced a local shop owner to start using Bitcoin. Is not that hard. Also you can start organizing meet-ups, like these amazing initiatives: 2140Meetups and Ambassadors of Bitcoin.
Not many small merchant will be willing and capable to run their own nodes. Yes, that will be ideal, but some are old or not so tech savy, but they trust YOU, the Uncle Jim and knowledgeable.
I suggest to not go for “commercial” way to offer these kind of LN Bank services to a larger audience with unknown users. Keep it simple, close to you, with trusted users. What you can do is, teaching others to run the same scenario in their community and later you can connect with these “friendly LN Banks” that you know them and make a broader coverage by interconnecting the banks. This will create small “centralized” local LN banks in a large decentralized Lightning Network.
How these users will use your LN Bank services?
For them will be very simple (if you teach them well). They just have to install, configure and use the specific mobile / desktop apps to access their money. They do not have to worry too much about how deep LN works, liquidity, routes and stuff like that.
Yes, in a certain level, they would have to know the basics of Bitcoin and LN, but only at the surface, not really technical stuff. That’s why you will have to build your guides page with articles they need most.
Keep in mind an important aspect: all these mobile LN nodes (Blixt, OBW, Breez, Phoenix, Electrum) are using “private channels” (un-announced), so these channels DO NOT DO ANY ROUTING. Are used exclusively for your own payments.
First, you should recommend them to use and Android mobile device, especially with a clean open source OS like GrapheneOS or CalyxOS.
Then as software apps on their mobile devices I would say to use these:
For starters - OBW. Easy to start, a LN mobile node, also with hosted channels and easy simple interface. Once you start it, you can select one or many of the HCP (hosted channels providers) and be ready to receive sats over LN. If you need more liquidity, start opening normal LN channels with other nodes or inbound LSP nodes.
For next level - Blixt. More advanced tools and features to run a full LND node on their mobile device. You can use Dunder channel opening with your LN Bank or other providers. Also you can open other channels in normal way with any other node, including inbound LSP nodes.
Additional for lndhub accounts - Zeus or Bluewallet. Easy to use with the LNBits lndhub accounts, as simply LN wallets. No need to open any channel, your LN bank is providing the liquidity, you just using it, straight away.
Additional or optional you could offer ecash tokens and your users could use eNuts or Minibits wallets. Fully compatible with any LN payments too.
For you, as a node operator - Zeus. Full control of your node from your mobile device. Powerful mobile app with a lot of good features and can be used with multiple accounts / connections / LN implementations.
For desktop clients - Electrum and Blixt macOS. Soon we will have also Blixt for Linux desktop. Electrum also have integrated swaps.
For you, as node operator, desktop management tools like RTL and Thunderhub. Also you can use LNTop, LNDg, LND BoS GUI as tools to tune up your node.
Any other additional LN wallet app if they need, as I described in this comparison guide about LN wallets.
To save their wallet seed, account details etc, I suggest to use KeePass password manage app. Users MUST learn how to secure their wallets and save these details in a safe place.
What your customers should do to maintain their flow?
Yes, this is another aspect that users must take care: their own liquidity in their LN wallets.
The general rules are:
Keep your LN channels open as much as you can
Open channels mostly with your LN Bank, but also you can open separately with other nodes.
Your channels should have the amount you are regularly use for your spending payments, so will not be necessary to be too big. I would say that channels between 1M sats and 5-6M sats will be enough. And there’s no need to have too many, 3-4 channels per LN app will be enough. And each one could be with a different node for more redundancy and use of MPP (multi-part payments).
To refill or empty a channel use the swap services described in this guide or provided by your LN Bank.
Use as much as you can the LN payments, not onchain. Not just because the fees could be cheaper, but about the speed of the transaction. Onchain txs need at least 3-6 confirmations to be considered done. That means like 30m minimum.
Onchain = is the settlement network, your own “central bank”, your vault.
LN = is the payment network (see the airport analogy guide), your spending pockets, your “commercial bank” of daily spending.
Check on BTCMap those merchants near by and do your shopping with them. Here is also a list of examples of real life payments with merchants accepting Bitcoin Lightning payments.
Pay utility bills with Bitcoin - list of places
Buy bitcoins over Lightning Network - list of exchanges and broker apps
Use the three level stash method. Don’t keep all your bitcoin in your mobile devices. Split your stash in many different wallets (onchain or LN).
And spend your sats wisely. Yes, is good to spend your sats, to create the Bitcoin circular economy, but also not too much. Bitcoin is savings technology, not like fiat, the consumerism technology.
So spend you sats only when is really need it and for things that are useful and necessary. Don’t buy crap things. Later you will regret it.
Remember bitcoin are limited to 21 million, ever, forever. Yes, you can earn more, but why not saving those sats for later, when you really need them most.
I hope that this guide will help you to open your “vision” about the Bitcoin future use and help you to start the Bitcoin circular economy in your local community.
Sooo, I think that’s it… HAPPY LIGHTNING !
MAY THE ₿ITCOIN BE WITH YOU!
If you appreciate DarthCoin work, you can send some satoshis to darthcoin@getalby.com or darthcoin@stacker.news or darthcoin.blink.sv
or using Cashu Address darthcoin@minibits.cash
If you do not want to subscribe on substack, all DarthCoin Bitcoin guides are also announced on this dedicated Telegram Channel, for easy search and keep track.
To subscribe on substack, click here: