Umbrel + LNDHub + Bluewallet


This is a major step forward for all node operators. Why? Because is one more step for a node in becoming a “Bitcoin Sovereign Bank”, being a HUB for your family, friends and all those who do not/can’t have a node for themselves. Practically you can “rent” them space and liquidity from your node.

More details about LNDhub here and also here is the announcement from Bluewallet team.

There’s a very important aspect in Bitcoin world and few understand it:

  • custodial wallets (your funds are in custody and control by other parties)
  • private wallets (your funds are in your own custody and you are the only one control them)

NOTE – For the moment mobile app BW WILL NOT manage your node/channels as Zeus or Zap do. Right now it is activated only the part of LNDHub of your node. So if you activate and install this app now just to see your channels, don’t expect to see them.



  • Bluewallet LNDHub is a wallet manager and NOT a node manager. It’s a big difference.
  • With your node and apps like Zeus, Zap, RTL, Thunderhub, you are managing “the bank”, your node, your channels, you are the banker, moving funds, offering liquidity for your own internal users.
  • With BW LNDHub, you are managing the “customers” of your bank, their access to the liquidity of your bank, and managing their own “safety boxes” in your node.
  • Think about that a LNDHub wallet is like an empty glass. Your LNDhub node is the provider for transporting the water to/from your glass of water. You get water into this glass from other sources (NOT from your LN node) and your node is transporting it (liquidity).

But be aware, own custody means also that you will have:

  • more responsibility for your own funds, to keep safe and private your funds and wallets
  • more knowledge, learning into how to use these new tools
  • more costs (sometimes, if you do not know how to do it properly), mistakes costs, so you better learn first to do it properly
  • more responsibility for those who will be using your node/walelts/funds offer liquidity, this can end in more costs too

So if until now, if you were using BlueWallet (BW), you were using a custodial LN wallet (not onchain). That means that BW servers were in charge of managing your LN wallet, creating it and offering liquidity to be able to use sats on LN without bothering to run a node, maintaining it, open channels, keep the liquidity up etc Easy peasy

Usage for LNDHub

  • connect your mobile BW app to your LNDHub node
  • create a LN wallet in your BW app
  • that LN wallet will have 0 (zero) balance, but will be able to use the liquidity of your channels, NOT the balance (!)
  • create as many wallets you want for your family and friends, they will manage their own wallets and balances, but keep in mind: you are responsible for their wallets to be online and be able to transact
  • TXs between these lndhub wallets will be with zero fee, it will not go through the whole network of nodes, as a 3rd layer, only happen inside your node
  • an interesting scenario could be as a restaurant offering to his clients option to have their own “restaurant lndhub wallets” and pay with zero fee, instant and private. These wallets can be refilled from external sources, from their own onchain wallets and they can pay wherever they want. When they pay to the restaurant, paying to another lndhub wallet from the same node will be zero fee.
  • You can fund this new empty wallet from different sources:
    • BW onchain wallet – in wallet, click on “manage funds” and select the option “refill”. It will bring up one of your onchain wallets you have setup in your BW app. If you have one. It could be imported (using the node seed) the onchain wallet from your node, but that is not recommended. You better use a separate one. Optional you can use an “external” wallet (in the same popup screen) and will generate an onchain invoice to be paid from another onchain wallet. That tx will be later moved into LN using some LN magic 🙂
    • any other LN external wallet (not from your node!), just making an invoice to be paid from your new lndhub wallet

How to connect BW to your node

a. Update Bluewallet mobile app:

  • On Android 9+ update to verion 6.1.1. You can use your Play Store (if you still have it) or BW Github source directly.
  • On Android 8 or lower, stick with v.6.0.8 until new updates. Version 6.1.1 is restricted to Android versions lower than 8, becasue it has Tor integrated. You can continue to use v 6.0.8 with Orbot app (Tor) if you want, it works fine. I can say even better. V 6.1.1 on Android 9+ sometimes crashes due to Tor. Or if you can update your OS version, it will be good. If you can’t, then it’s time for you to buy a serious new phone. I recommend a Pixel and then install a clean new OS like GrapheneOS or CalyxOS on it.
  • On iOS, just go to App Store and do the update.

b. Update your Umbrel node to v 0.3.10 (you already know how)

c. Install BlueWallet app on Umbrel. Go to App Store and install it.

d. Connect your BW mobile app with your node. Open the section “Connect wallet” and open Bluewallet instructions. Open your BW mobile app and follow those instructions, step by step:

  • in BW, go to Options – Network – enable Tor. Take a test. Restart BW (indicated by force close)
  • in BW, go to Options – Network – Electrum Server. Scan the code of the address of your Electrum Server (onion) and the port 50001. Make a test. Restart BW
  • When opening BW, if you already have a wallet created, wait for it to update, it may take a while. if the app crashes, restart again. Sometimes Tor does weird things on Android 9+ with v 6.1.1
  • go to Options – Network – Lightning. Now you can scan the QR of your LNDhub node.
  • go back to the main screen and add a new LN wallet. You just press create and voila, you already have a clean wallet connected to your node. This node has no funds, you will have to fund it from another LN wallet. This wallet ONLY uses the liquidity (not the balance) of your node to be able to send through LN.

Testing the new wallets

Payment using an external node wallet:

  • Open that new wallet, create a 100 sats bill, copy the invoice code
  • In the same BW mobile app, go to your usual BW LN wallet and click send, paste the invoice you created from your LNDhub wallet and send it. (this didn’t work for me, it says “payment in transit”, that is, I can’t find the correct path between BW’s servers and mine). Ok, this can happen.
  • Create a new LN invoice for 120 sats in LNDhub wallet and go to Telegram LNtxbot and pay it. Also if you have the imported LNtxBot wallet in your BW, you can do it from there. It works perfectly.
  • Go in Umbrel to RTL – LN – Transactions and in the invoices I can see the 120 sats received and also appear in the balance of my LNDhub wallet
  • Reverse payment attempt. From LNDhub wallet, to LNtxBot wallet. So go to LNtxbot LNurl and pay 100 sats + 1 sat fee with my Umbrel’s LNDhub wallet
  • Tx appear in RTL transactions immediately

Payment using 2 LNDhub wallets, on the same LNDhub server (your node):

  • create two lndhub wallets (could be on the same BW app), but for convenience use two phones with BW connected to your LNDhub
  • fund one of them (wallet A) from an external wallet (see previous scenario)
  • in wallet B, create an invoice of 100 sats
  • open wallet A and scan that invoice and pay it
  • That’s it! TX went through instant, with ZERO fee, full private
  • for the moment the tx will appear in your LND apps (RTL/TH/Umbrel) as “unpaid” invoices, but are paid actually. Maybe in the future we will have a way to treat these txs as “internal tx” not as “invoices”