Skip to the content.
| ES Español |

How to use Bitcoin Lightning Network for your personal use, practical solutions with private mobile and desktop LN nodes.

This article was posted and registered OP_RETURN at block height #775009 (JAN 28, 2023)

Updated October 15, 2024

INTRODUCTION

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.

Yes, I wrote here and here extensive guides about LN wallets, custodial or non-custodial. But in this guide I will not explain about LN wallets, but LN private nodes.

Nowadays, 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 PUBLIC 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 is the purpose of this guide?

Explaining to all those newbies that there are two types of LN 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:


A. Public Routing Nodes #

These are all the LN nodes that usually you can see them listed on any Lightning Explorer (Amboss, Mempool, 1ML see more here).

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, I wrote several guides:

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.

Lightning Network Galaxy Map

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:

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.

The 4 main categories of LN wallets

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.

Another representation of the LN wallets spectrum is using the 3 circles of their main caracteristics

So let’s see which and how you could use these desktop and mobile apps for specific use cases:

When you start as a small newbie kid, you have to climb the high ladder up until the top

For all these mobile LN nodes you would need some good connected channels. You can still open LN channels with any other LN node, but is much better to use some well known LSPs that could provide good routes and also with private channels.

LSP - Liquidity Service Providers #

What is a LSP? Read here. Consider a LSP your must have peer for your private node.

Here is a list of LSPs with which you can open regular channels and also 0-conf channels and Simple Taproot Channels with these private LN nodes:

...and many more, read about them here in these two other guides: "Managing LN liquidity" and "Running your own Dunder LSP". Another good read is this article by Roy (Breez) - "Scaling Bitcoin with Lightning-as-a-service".


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.

Sometimes newbies, don't know where they should look... and are missing the important aspects

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.

SCENARIO A

Open 3 big channels, each one of 1M sats:

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 or any other exchange that support LN.

Buy more, swap out, make payments, happy Lightning. Repeat. Never close those channels. Use them back and forth.

SCENARIO B

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.


Zeus LN - very powerful mobile LND node #

Starting with the new version v0.8.0 Zeus launched the embedded LND node into the mobile app. Read more about this big new release on Zeus blog.

Apart from regular LN node management and LNDHUB accounts, now Zeus can run a full LN node, using Neutrino as backend for block sync and LND as LN node integrated into the app.

It also come with LSP services offered by Olmpus LSP so users can receive straight away sats into LN. Users can still open other regular private LN channels and manage them as they wish. See here some node peers recommendations for your new Zeus node.

More than that, users can have their own LN address provided by Olympus server.

Definitely a must use LN app for your mobile. Keep in mind that Zeus is offering also an integrated PoS function, very good for small merchants.

I will not enter into more details here, how to use this powerful mobile node app, wrote a dedicated guides about Zeus embedded node here:


Valet (ex-OBW) - simple and powerful mobile LN node #

This is a fork of the old BLW and later SBW, then OBW… now all discountinued. Now is Valet.

Valet is using Immortan LN implementation with Electrum SPV for blocks sync.

Valet 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.

Valet is using normal LN private channels but also a particular way - hosted channels. These hosted channels (HC) main characteristics are:

How to use Valet, steps to do:

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 Valet here: "Getting started with OBW mobile LN node" and "Using Private banks over Lightning Network".


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.

Breez is also offering a PoS feature and podcasting section. Very good features for a mobile / nomad user.


Phoenix - easy to onboard 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 use case scenario:

Phoenix is opening a channel slightly bigger than what are you depositing, I could say with a 10% more. With the new version v0.2.0 that comes with the new LN feature named channel splicing. That means from now on you will not have to deal anymore with lots of new small channels for each payment received.

If there’s not enough inbound liquidity, Phoenix will increase the size of your initial channel, but that will still imply an onchain fee. You can setup that fee anyways in Phoenix settings.

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, with an amount bigger than you channel capacity, Phoenix will resize the channel and you will pay an extra fee. If you receive less than channel capacity, will be no fees involved.

So try to size your initial channel capacity to your personal needs for spending. Spend and replace in the limits of the channel will not occur anymore fees and the experience using this wallet app will be smooth.

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 vice versa.

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.


Green - easy to start without any liquidity #

Right now (Dec 2023) Green LN wallet is still in beta phase, but soon will come out for all users. To play around and test it, you would need to activate the “experimental” features and open a LN “account”, is actually a CLN node using Greenlight, where the keys stays on your device.

If you want to use only the LN node, you don’t have to open an onchain account, just skip the initial setup and go straight for LN account. Each account in Green is separate and have no links between.

Go to App Settings (top left drawer on main screen) and activate “Experimental features”.

Once you’ve done that, go back to Accounts screen and click on “Create new account“ button from top right. Then on the bottom, click on “Advanced features”. You will see that now you can create a “Lightning Account”.

Read more about what is a Lightning Account and how to create it here.

Read more about “Wallet” and “Accounts” here.

Some aspects to remember:

Green is supporting fully LNURL, except LUD-18 and 02. And it works pretty well.

It could be a very good option for total noobs to start using LN in a self-custody manner.


Electrum (desktop or mobile) wallet #

Electrum is using a ElectrumLN 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:

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:
B. If you want to use with a friend’s node or a trusted node or simply with choosen public nodes:

Bluewallet - new LDK node integrated (beta) #

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.

Opening a LN channel in BW LDK with suggested peers

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.


BitKit - still in development, Beta phase #

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 - LDK 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.


Alby HUb - LN node UI easy to setup and maintain #

Alby Hub, is a simple LN node interface, with nice NWC functionalities to connect various LN services and be used “on-the-go”. It is NOT a LN node in itself but is offering tools to manage the LN node behind. Is like LNbits or Zeus.

Once you setup your Alby Hub (in the cloud or self hosted, you can connect to Alby Go, their mobile app, very clean and easy to use. You can also offer sub-accounts for your node, as "uncle Jim"

REMEMBER: this is a desktop node UI, with functionalities to connect a mobile app (Alby Go). It is a very good and simple private LN node.

RESOURCES:


Shock Wallet #

This particular Shock Wallet app is quite new and still in beta development. So proceed with caution but with curiosity if you want to explore more features and options to run LN nodes.

Shock Wallet works together with a Lightning Pub server, that practically is a "Nostr-native account system designed to make running Lightning infrastructure for your friends/family/customers easier than previously thought possible."

Shock Wallet is an mobile and browser app that can connect to many different funding sources (based on 3 levels of trust) over NWC with simplicity and easy to use. It can be integrated in manhy other WebLN apps. Is laready integrated with their own Lightning Video platform, to stream live sessions or post videos, using sats over LN, a very good way to monetize your content.

I didn't test it myself too much, just few installations to see how is working, but is very promising. When I have more time I will write a detailed guide about it. Meanwhile, please read their documentation page and also join to their Telegram group for more support and questions.

Definitely worth paying attention to this new app!

Private node LND with Neutrino #

Here is a simple solution to run a LN node with LND using Neutrino block filters for syncing to the blockchain. So you do not need any heavy Bitcoin Core to run on the same machine, you can connect to any well known Neutrino servers or random ones. Read more about Neutrino here.

  1. On any simple PC with a Linux OS (I recommend Debian or Ubuntu for simplicity but you can use also a standard Linux Mint), install LND as LN node.
  2. Set a neutrino peer in your new LND instance. Here are some well known servers, choose one that is closer to your region for better ping response time:
    • btcd1.lnolymp.us | btcd2.lnolymp.us - for US region
    • btcd-mainnet.lightning.computer - for US region
    • uswest.blixtwallet.com (Seattle) - for US region
    • europe.blixtwallet.com (Germany) - for EU region
    • asia.blixtwallet.com - for Asia region
    • node.eldamar.icu - for US region
    • noad.sathoarder.com - for US region
    • bb1.breez.technology | bb2.breez.technology - for US region
    • neutrino.shock.network - US region
    • More general random neutrino peers
  3. Optional for managing your node you can install on the same desktop machine Thunderhub or Ride The Lightning as desktop apps. If not, you can easily connect Zeus mobile app to your node and manage it from there.
  4. Open 2-3 UNANNOUNCED (private) channels with big good nodes and LSPs. You will not be doing routing, just for your personal lightning payments.
  5. Done. Now you can manage and use your LND node from Zeus, BitBanana, connect an Alby Hub instance or any other application that require a LN node as funding source.

This node do not need any fancy Tor connection to complicate your life, no need to open ports because is using private channels. You privacy is protected by the neutrino filters and LN private channels, plus the blinded paths offered now by LND. Also this node do not need to stay 24/7 online, you can open it whenever you need as a normal app. But is recommended to not keep long time not synced.


CONCLUSION

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: