Discover more from DarthCoin’s Bitcoin Guides
Private Lightning Network Nodes
How to use LN for your personal use, practical solutions.
🇪🇸 Español | 🇫🇷 Français | 🇩🇪 Deutsch | 🇮🇹 Italiano | 🇭🇷 Hrvatski | 🇳🇱 Dutch
This guide is dedicated to all those new users that want to start using Bitcoin over Lightning Network, just enough to test, practice, personal use, shopping with Lightning Network payments, in real life.
Today, Jan 2023, many newbies, without enough knowledge about how to run a LN node and use LN in real life, fall into the hype of “run your LN node, be part of the network”…
Nothing wrong with that assessment. Yes, is good to be part of the Network, but when YOU KNOW WHAT ARE YOU DOING. I do not want to discourage you from running a LN node, but choose wisely which type is more suited for you.
This is like calling everybody “to be part of the airplane pilots network”, yes, just grab the cheapest airplane and start flying…. you will read the instructions manual meanwhile you are flying.
No, running a Lightning Network node IS A SERIOUS TASK. And if you are not prepared, at least at a basic level, you are making more damage to the network, than being part of it. LN is like a living micro-organism, if there’s a bad part of it, it will affect all the rest in the end.
So what am I purpose with this guide?
Explaining to all those newbies that there are two types of LN nodes:
Public Routing Nodes
Private non-routing nodes
Both have an important role for the network. And I will explain you in simple terms what does it means and how to use a private non-routing node.
And people SHOULD make the difference between public and private. In Lightning Network, the terms means:
Public = announced node and channels, are visible in the public LN graph. These are nodes that CAN ROUTE others payments through their channels.
Private = un-announced node and channels, are not visible in the public LN graph, but still accessible, through routing hints. These are nodes that CANNOT ROUTE others payments, but can do any of THEIR payments, in and out, through the routing nodes.
A. Public Routing Nodes
Even that some will not add an alias name to their node (that is more for fun and public reconnaissance of big nodes), each of these public nodes, still have an unique identifier, the node ID, that is generated at creation of the node.
Some of them will show a public IP (be that a normal clearnet IP, or a VPN IP) and some will use only Tor address. Even that they are using a Tor address (that will not reveal their real location or IP) are still PUBLIC nodes.
For running a public routing node, you MUST have a good amount of liquidity to put “skin in the game”. This liquidity is not “locked” in LN as many erroneously say. No, as a routing node you can still make use of that liquidity, by making your own LN payments.
I will not enter in too much details here, about how to run a public routing node. I wrote several guides about that and please read them all, if you want to go on that path. But BE AWARE: don’t even start a routing node if your whole Bitcoin stash is just few thousands of sats. We are talking about for at least 1 BTC that you are willing to put as liquidity if you really want to be a good routing node, otherwise is just wasting time, your time and others time…
Also NEVER put all your Bitcoin stash in a LN node. I suggest to keep like 30% or max 40% of your whole stash into a routing LN node.
To read more about Public Routing LN Nodes:
Lightning Explained - The airport analogy - MUST READ
Running a Umbrel Node (this guide is not just about Umbrel but also about how to run a routing node)
Umbrel / LND node - SHTF scenario (restore procedures)
Lightning Network is awesome - huge list of LN resources
Node liquidity guide - how to use 3 different nodes to move liquidity
Lightning Routing Fees Experiment - very important guide
Recommendations for new LN node users - Darth warning
… and many more (about specific use cases) on my substack, in many languages translated.
B. Private Lightning Nodes
So now let’s dive into “what the fuck are these private LN nodes”?
The main use case for these is to be used in a more private way. Having their nodeID and channels not announced to the whole public network, make them to be positioned at the outer rim of LN Galaxy, but still connected to the whole network.
Using these private nodes, you still need to put some liquidity in the game, but this time, only for your own level of payments (in and out). That means is more suitable for people that:
regular noob guy that want to start using LN, to test payments, learn more
do not have too many BTC (yet) to open big channels
do not want to use too much from their BTC stash, but still want to use LN
want to have more privacy using LN
they still have a public node, but want to use also private nodes for other type of payments, more private, swaps, moving liquidity etc.
And all this without using a custodial solution. There are many out there pretending to offer the best LN experience. Yes some of those custodial solutions (especially the non-KYC ones) have their own use case but we are not going to talk about here.
As you can see in my previous guide about LN wallets, I separate them into 4 main categories: Beginner (custodial), Intermediary (non-custodial), Advanced A (node wallets), Advanced B (node management). Please read that guide to see all their functionalities and capabilities.
Here we talk about how to manage and use the Advanced node wallets, because I saw many newbies that still don’t know these even exist! With these mobile or desktop apps you can still learn how to manage LN liquidity, channels, nodes, but with a low level approach, with simple steps. This is the perfect way to learn by using it, without disrupting the other processes of the whole Lightning Network.
If you had previously a LN node and you failed to understand it and run it, but you still want to learn more, I suggest you to not throw it away. That piece of hardware is still very useful.
Just install on it: a linux Debian OS + Bitcoin Core Node + Electrum Server / Fulcrum and use it as your main Bitcoin node to validate, broadcast and verify your txs mainly, also offering you more privacy.
All these mobile nodes NEED a Bitcoin Core node anyways, to which have to sync the main-chain (Neutrino or Electrum SPV). So your old (failed) node still can have a very important role for the network.
So let’s see how you could use these desktop and mobile apps for specific cases:
Blixt Wallet Node (mobile + macOS, based on Neutrino and LND)
OBW - Open Bitcoin Wallet (android, based on Electrum SPV and Immortan)
Breez (mobile, based on Neutrino and LND)
Phoenix (mobile, based on Electrum SPV and Eclair)
Electrum (desktop + mobile, based on Electrum SPV and Rust LN)
Bluewallet (mobile + macOS, based on Electrum SPV and LDK)
Nayuta (android, based on Neutrino and LND, still in beta)
Bitkit (mobile, based on Electrum SPV and LDK), still in beta)
Blixt - very powerful mobile LN node
Few people know about the existence of this powerful LN mobile node. Yes, it is a full LND node in your own mobile (also desktop for Mac and soon for Linux), with all functions to self manage your own LN channels and liquidity.
Blixt is using full LND implementation with Neutrino for blocks sync.
Will not enter in all Blixt Wallet app details, I wrote extensive guides presenting the app and use cases on the Blixt Wallet documentation page:
Please read them and pay attention to the details. It will help you understand more about suing this type of private nodes.
Here I will present only a simple use case of mobile LN node liquidity management using Blixt Wallet app.
In order to have a good liquidity, not just for now, but also for future use, you should have max 3-4 channels, but with different node peers, not just one. So let's consider that during a week, you need a max 2M sats TO RECEIVE, roughly. The amount can be adjusted by each user's needs. Let's consider also that during the same week, you will make less payments, let's say roughly 300k sats. So each week will remain with a balance on his side of 1.7M sats, roughly.
Instead of having 6 channels, each of 400k sats max capacity ( a total of 2.4M sats), better have 3 channels, each of 1M sats. Adjust it for you inbound needs.
Open 3 big channels, each one of 1M sats:
1 with Blixt node
1 with your own node (if you have one) or a friend node (trusted). If you do not want/have such friend, use just another well known node
1 with any other good node, well connected. See here some recommended peers
Done. Now you have 3M sats in 3 channels. All outbound liquidity. So let's make some space. Use any of the convenient swaps (Deezy, Boltz, FixedFloat, Robosats etc) and swap to your any onchain wallet, at least 50% of all your outbound liquidity.
You can do it in 3 batches (recommended for smaller amounts) or all at once (could fail because of other routing nodes low liquidity routes). You can try both cases.
If you need more inbound liquidity, swap out more sats, to your any other onchain address, using these swaps.
But do not close those channels. Not yet. A channel should be closed only when you do not have enough liquidity or peer is not responsive/offline too much time.
So now you have enough inbound liquidity to buy more from Robosats.
Buy more, swap out, make payments, happy Lightning. Repeat. Never close those channels. Use them back and forth.
Keep one channel open, one in which you have enough sats to buy an inbound channel from any LSP (LNBig, Bitrefill etc). All the rest, close them.
Once are closed, buy 2 big inbound channels from those LSP. Each one of 1-2M sats, enough to handle a large amount of payments. When you have them ready, you can go and buy more sats from Robosats.
Swap out to onchain using the swap services mentioned before and be happy, you made more space for buying more. Or just use those sats for making payments over LN.
Never close those 2 big channels. Buy - swap out - spend - buy more.
When you have 2 or more different channels with different peers, yes is recommended to use the MPP (multi-path payment). But when you have just one channel or multiple channels with same peer, the MPP it doesn't work and could end up in "route failed".
So is always recommended to have channels with different peers / nodes and big enough to handle your regular transactions in a certain period of time.
OBW - simple and powerful mobile LN node
This is a fork of the old BLW and later SBW.
OBW is using Immortan LN implementation with Electrum SPV for blocks sync.
OBW could be your simple, best way to start using Lightning payments. So you are not receiving too much over LN but you want to spend more.
OBW is using normal LN private channels but also a particular way - hosted channels.
These hosted channels (HC) main characteristics are:
lightweight credit-based virtual channels that use an open and interoperable protocol
can open hosted channels to any node that supports the host side of the protocol
cannot be traced and do not require capital or chain fee costs
How to use OBW, steps to do:
Download, install, open OBW and save your seed. Basic first steps.
Send some funds from your regular onchain wallets to your OBW. Start with 1 or 2M sats.
Open 1 or 2 channels with different peers. Preferably those with low fees. See also the recommended peers inside OBW app.
If your LN channels are dry, no problem you could use any swap service to refill them (as I explained in this guide) or close the ones you have and open bigger ones, if your spending habits are increasing. Is better to keep open existing channels because closing and opening channels imply more fees and also could reveal final balance in your UTXOs (but this is another story explained in another guides here and also here).
If you want to use a hosted channels (HC) for more privacy when you receive, is up to you, just open some of them and start using them as receive source. There’s also an interesting feature of OBW that you can drain a HC into a regular LN channel, straight from OBW. Just click on a HC and you will see in the pop-up screen the option to select “drain channel balance”. You will be prompted in which other regular channel you want to move the funds.
This is a good opsec operation if you want to move funds, internally, from one channel to another and later make a swap out to onchain. Use your imagination :)
Read more use cases and full guide for OBW here:
Breez - Good mobile node with limited node functions
Breez is using a forked version of LND implementation with Neutrino blocks sync.
This one is trying to offer a simple user interface, with limited functions for managing your node channels. For a beginner is a good start. It still offer a non-custodial way to manage your funds, but you do not have the full liberty of choosing the peers, fees, routes etc.
In the same time, is offering more user friendly and good features like POS and podcasting. The backup procedure is a bit complicated and depending on a 3rd party service, user still can’t just export the channels backup on local device and manage it from there, but have the option to use a Google drive, webdav, Nextcloud.
Managing liquidity is pretty easy, you just have to deposit / receive sats and automatically it will open LN channels using their LSP node.
You can also open channels with specific node peers if you want, but using the advanced methods, hidden into the “Developers” menu. You can also use the LNURL-channels option from those LSP that offer this method.
For somebody that don’t want to bother with node liquidity management, this is a good option.
Open channels not too big, not too small, but enough to cover your regular LN payments during a certain time and amounts.
Phoenix - powerful but expensive mobile LN node
Phoenix is using a proprietary Eclair LN implementation with Electrum SPV.
This one is based on Acinq LN channels and Electrum (onchain recovery).
So once you receive / deposit sats into this wallet, automatically it will open channels with ACINQ node. Usually the size of the channels will be slightly bigger than the amount you deposited. So you will always have a new channel for each deposit, except that when you have not totally drained channel and you receive a smaller payment, it will be refilled.
For Phoenix I would suggest the following scenario:
Phoenix is opening a channel slightly bigger than what are you depositing, I could say with a 10% more. And for each channel opening is charging 1% fee (min 3000 sats fee).
From that initial deposit, Phoenix use a very small reserve channel fee but keep in mind that the commit fee is variable, depending on the onchain fees in time.
As you can see in this testing example, are open 4 small channels. In a high fees situation, the commit fee is eating a good part of the difference between “capacity” and “balance”. Yes you see your balance that is lower than the capacity and think you could receive that difference. But you can’t. Read more here this discussion.
So I suggest to start using Phoenix with a big channel, like 1-3-5M sats. Your commit fees will be insignificant comparing with the size of the channel and will not affect you too much. Also instead of paying 4 times (or whatever many times you deposit small amounts) min 3000 sats fees, you will pay only once.
If you start spending from that channel, do not spend it all, because Phoenix will close it. If you leave some sats in the channel and make another refill from another LN wallet / source, but no more than the size of the channel, the sats will fit into that already open channel and will not be opening a new one. So no more 3000 sats fee.
If you deposit from an onchain address, then it will open a new channel even if you already have an almost empty channel.
Spend from that channel slowly until you reach the balance of 1% of it. Then refill. until 99% (don’t try to refill at maximum, always less with 1% of total capacity, remember the commit fees). And so on. In that way you keep that channel open and pay less fees.
Also keep in mind that after you open a bigger channel and do not want to open more channels, by mistake, disable the option “automatic on-the-fly channel creation” from Settings - Payment options and fees. Activate that option only when you want to open new channels. Remember, if you do not have enough “space” to receive, the payment will be failed, with that option disabled.
For each payment you are doing, this wallet is using quite high fees, compared with other nodes. Yes, somehow they have to cover their expenses and support the dev team. Nothing is for free in this world.
This wallet also have integrated swaps onchain ←→ LN channels, so you could practically use it as a personal swap, you could pay instantly onchain with your LN funds and viceversa.
It is very good option for newbies, that just started with LN and don’t know too much about a node management, but still could have a self custody of their funds. Even if you lose your mobile device, you can use the seed words and recover your funds in an Electrum wallet or on another mobile device with Phoenix.
Electrum (desktop or mobile) wallet
Electrum is using a Rust LN implementation with Electrum SPV blocks sync.
Yes, many don’t know that Electrum, the oldest BTC wallet app is also a powerful LN wallet. And is very easy to use it as a node LN wallet.
You have 2 options for using it as LN node:
trampoline LN channels - are opened with specific nodes that will provide you the route hints and paths.
normal LN channels, but private (un-announced) - you are opening these channels with any node you want.
One important aspect: you must choose in the beginning which type you want to use, you can’t use both types in the same time.
Also is good to mention: Electrum have integrated swaps onchain ←→ LN channels. So you could easily refill or drain your Electrum LN channels, with just one click. Yes, there is a cost of these swaps, but is very clear and you will always know how much you will pay for doing it.
For a personal LN use, I would recommend to use Electrum as following.
a. If you want more privacy:
connect your Electrum to your own node (Electrum Server)
open trampoline channels
optional use Tor or VPN
when you drain all your LN channels, move the onchain remaining sats to a new Electrum wallet and start over with a new identity. You can run as many you want. You can even have multiple Electrum instances in the same time.
b. If you want to use with a friend’s node or a trusted node or simply with choosen public nodes:
connect your Electrum to your own Electrum Server. If you do not have such server, at least use a trusted Electrum Server (eg. Blockstream.info) or a friend’s node (he will provide you a specific address from his Electrum Server).
open normal private LN channels with the public nodes you want. But be aware that not all of public nodes will tolerate private channels or some of them have specific rules about how much time will keep them or will close them if there’s no activity.
optional use Tor or VPN
use those channels as much as you want. When are drained, you can refill them from your existing onchain balance from your Electrum wallet or from any other onchain wallet you have.
don’t open too many and too big, but enough to cover your regular LN payments for a certain time.
Bluewallet - new LDK node integrated
After Bluewallet ceased their custodial LNDHUB node, they introduced a self custodial node using LDK LN implementation.
For the moment is quite new and still in beta, that’s why is hidden, but if you want to activate it it’s easy:
Tap the "+" to Add Wallet, then tap the Lightning button 10 times.
Done, now you can then create a node wallet via LDK.
You will be provided with a LDK seed, save the seed words in a safe place and now you can start opening channels, with any other LN node. To do that, click on “funding wallet” button and select any onchain wallet you already have configured in your Bluewallet that have funds enough to open a LN channel. You should keep that onchain wallet always linked with your LDK node, do not remove it from your Bluewallet app. In case of closure of a channel, the funds will come back to that onchain wallet that was funding the channel.
You have the option to scan a peer node URI QR code or select one of the most well connected public nodes using the arrows.
Again, don’t open small channels, use like 1-3-5M sats channel. Yes is still in beta but with the high fees situation you will end up with unusable channel if is too small.
Done, now you can use your Bluewallet LDK as any other regular LN wallet, in a more self-custody mode.
Nayuta Wallet - still in development (beta)
Nayuta is using a forked LND implementation with Neutrino blocks sync.
Initially this mobile node didn’t have a wallet interface, user just install it, will sync the blocks through Neutrino and start a LN node. Then using Zap or Zeus would connect to a “local” 127.0.0.1 node interface and use it like that, as a mobile node.
Now Nayuta team is developing a new wallet interface and node implementation, but is still in development, usable only for restricted number of Beta users.
With Nayuta you can only use LN wallet, there’s no option for onchain wallet. If you decide to move your funds from Nayuta, back to an onchain wallet, you will have to close the channels and specify an external onchain address mwhere to withdraw the sats from the channels.
The opening channels is very simple, their LSP offer straight away receiving into LN, with a fee of 2k sats.
Right now is is not supporting any LNURL type.
We hope it will be a nice and powerful mobile LN node too!
BitKit - still in development, early Beta phase
Please, do not use this app if you are not a beta tester! Still have many bugs to be fixed and regular users are not familiar with these.
Bitkit offers a Bitcoin wallet that supports both on-chain and lightning transactions. The application runs a custom, non-routing Lightning node created with the Lightning Development Kit on the user's mobile phone. It requires a connection to an external server running a Bitcoin full node and an Electrum server.
Users will be automatically on-boarded to Lightning through the integration of lightning service provider (LSP) Blocktank. Developers can also create their own LSP using Blocktank. In the future, will support users to connect to their own Lightning and Bitcoin nodes, select different types of LSPs, couple hardware wallets, and manage their own Lightning channels.
Users can back up all their on-chain Bitcoin data with a standard BIP-39 seed. Lightning channel data should automatically be stored on a backup server. The data needs to be encrypted on the client-side before it is sent to a server to ensure privacy.
The other main features Bitkit supports are the creation of social profiles; the importing and managing of contacts; dynamic payment profiles; key-based account logins; and the display of public data feeds and private account data through in-application widgets. You can experiment with these features in the playground.
BE AWARE, Bitkit seems to not respect too much their users and their main focus is not onto making it a LN node wallet, but something else.
As you can see, there are quite good alternatives to run a LN node in a private mode, with less “responsibilities” than running a public routing node and still participating into a great payment network.
Remember those public routing nodes need as many of these private mobile nodes, because these mobile nodes are actually the ones that are making most of the real life payments in merchants shops. And the public routing nodes are practically routing your mobile payments through their complicated rings of liquidity and routes, charging small fees but also sometimes high fees, depending on each node’s greed level. That’s why is important for you, as a mobile node user, to choose wisely to which node you are connected.
In time, yes, these routes will be improved, with better fees, better nodes, better protocols.
That’s why I wrote this guide, to avoid that those users with less training to run un-prepared public routing nodes and avoid all the madness and stuck payments, expensive routes etc for the large use of the rest of the network.
Your liquidity, even if is private is also very important, participating into this vast payment network. Those public routing nodes, yes are opening multiple routes and want to charge a fee for that. This is a market driven mechanism, self adjusted by demand and offer. If all these mobile LN wallets will not exist or not used for real life payments to the merchants, all those touring nodes, in the end, will not have anymore “clients” for their routes. So as you can see is kind of “self-sustained” environment.
START USING YOUR SATS AS MONEY! Now we have a powerful payment network!
This is the only way we can make obsolete the fiat money system and the slavery.
Read more guides about using these LN wallets for specific use cases:
MAY THE ₿ITCOIN BE WITH YOU!
If you appreciate DarthCoin work, you can send some satoshis through LN:
or using Lightning Address to firstname.lastname@example.org or email@example.com or firstname.lastname@example.org
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: