Umbrel + BlueWallet + LNDHub

OK, big news today and many users freaked out about how to use this new feature app in Umbrel: BlueWallet LNDHub.

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.

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)

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.

Now you can do the same but with your own node:

  • connect your mobile BW app to your 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.

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.

FROM NOW ON YOU CAN BE THE BANK FOR YOUR FAMILY AND FRIENDS!
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.

So, let’s see what you can do now, as a new user of Umbrel node.

  1. Update Bluewallet mobile app:
  • On Android 9+ update to verion 6.1.0. You can use your Play Store (if you still have it) or BW Github source directly
  • On Android, it is well known now that for android versions lower than 9, the new BW app, will crash/not start, due to some restrictions about including Tor, integrated into app.
    So if you have a mobile phone with Android 8 or lower, stay with v.6.0.8 until new updates.
    Or if you can upgrade your OS version that will be good.
    If you can’t then is time for you to buy a new serious phone. I recommend a Pixel and then install a fresh OS like GrapheneOS or CalyxOS on it.
  • On iOS, just go to App Store and do the update.
  1. Update your Umbrel node to v 0.3.10 (you already know how)

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

  3. 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
  • Go to main dashboard of BW mobile app and click on create new wallet. Select Lightning. It will create a new empty LN wallet, on your LNDHub on your node machine. Don’t expect to see any balance, it’s an empty wallet, ready to be used, to receive and send only the balance you receive in that wallet (NOT from your LN node balance).

More to come, this is just the first step in helping node operators to BE THEIR OWN BANK!

30 Likes

Am I correct in assuming that payments between BW LN wallets from the same node would not have fees or affect any liquidity? Also, are these wallets charged the routing fee for my node (when not sending internally)?

1 Like

Exactly.
Also if your node is part of a ring group of nodes that mutually set fees between their channels to be 0 or almost 0, then is even better.
Example:

  • a ring group of nodes in your local community, merchants, customers etc.
  • all together decide to have just 10msats fee for any tx
  • between all these nodes everybody will pay only 10msats
  • between your “hosted” wallets on your LNDhub, users will not pay any fee

It will be a very interesting “game” to see how it spreads. And banksters will hate this.

4 Likes

Probably dumb questions, but if I setup a new btc wallet on BW after connecting to my node, would that work the same way? I’d be confirming transactions and I’d see that btc balance on Umbrel? Or adding/subtracting from it every time I send or receive from BW?

And then if a friend wants to connect to my node from BW, is it the same thing for lightning and btc? And if they just connect to the electrum server, I’d be routing their transactions? I’m just worried I won’t have the liquidity for them to connect to my lnd.
Sorry if that’s confusing. I am in fact confused.

1 Like

The user sends a transaction to a dedicated top-up address, and this balance is added to his account on LNDhub. Then, the user can use this balance to pay Lightning invoices.

But under the hood, it’s actually LNDhub who pays the invoice, deducting user’s account balance. It works the same way when the user wants to receive a Lightning payment - it’s LNDhub who creates the Lightning invoice and actually receives coins on one of it’s channels.

Try not to mix things.

LNDhub wallets are like renting cars.
You as the owner of the node, you have liquidity / cars.
Some other users come to you and say, “hey I want to go from point A to point B”, you answer, “OK, here is a car (aka a lndhub wallet)”.

But this car is empty, doesn’t have gasoline, the user have to put gasoline (sats)
You are just providing the car, the wheels and the keys - this is the liquidity, the bandwidth.
You are just a keeper of their wallets.
They cannot “see” or use your node balance. Balance is NOT liquidity and I think this is the point where people don’t get it.
Balance = funds that you own
Liquidity = transport, renting a meaning of transport value over the LN

Now, letting your family and friends to use your Electrum server is another story that have little to do with LNDhub. Bluewallet uses both. But are two different services.
You can give to your friends for example access to your Electrum server, to connect their wallets, in a private way, because they trust you and not some random Electrum servers.
This connection doesn’t not require also to offer them LNDhub wallets. They can continue using the ones that BW servers provide, no problem at all.
Electrum server are just an SPV interface for a full node validation of their txs. That’s all.
LNDhub is a wallet provider. That’s all

4 Likes

Ok I read this several times and I think I get it now. This was super helpful, thanks so much. :pray:
In regards to a bitcoin wallet though, my blue wallet and Umbrel bitcoin wallet would not be connected?

1 Like

When you connect BW to your node through the electrum server settings, all you’re basically doing is telling the app where to get its blockchain information from (and possibly where to broadcast transactions from, but I’m unsure about that). Connecting your node in this way DOES NOT transfer your umbrel private key to BW. The only way to control your umbrel btc wallet from BW is to enter the 24-word seed phrase.

2 Likes

image
@DarthCoin I created a LN BW wallet after connecting to my node. I got this error after trying to send myself a test payment.

1 Like

You can, but doing another way, for the moment.
Take your Umbrel seed and put in BW as you import an onchain wallet. That’s it, you will have your onchain wallet visible and accessible. But that procedure is useful only in case SHTF scenario and you need to recover your crashed node.
BW mobile app is NOT the node manager (as Zeus and Zap), is just a wallet manager, different than what you have on your node. This is the confusion that people do now.

2 Likes

I think that is a well known issue by BW team, I saw disscusion on their github about that. I don’t have too much information how to fix it.

2 Likes

Exactly. Electrum server is just an SPV interface to use the node blockchain copy and give to the BW mobile app the right information about txs and validations. Have nothing to do with node balances and channels.

1 Like

Another nice explanation from Bluewallet here

Is there a way for a user to swap lightning funds in LNDHub back to on-chain, or will they need to send it out of their LNDHub wallet to swap back to on-chain? I know this is what you have to do if you use BlueWallet’s LNDHub.

Edit: Found my answer. If it is the same as BlueWallet LNDHub then your users of your LNDHub will have to find their own way to convert back to on-chain. LNDHub allows you to swap in, but not swap out.

Here is a thread by @lukechilds explaining how LNDHub works:

1 Like

Will be nice to have Ben BTC Sessions making a video tutorial of this new feature.
What do you think @lukechilds can you talk with Ben to prepare one, in his style?

Meanwhile we have an example with LNbits here, from the other Ben :grinning:
LndHub, access lnbits from BlueWallet or Zeus.

UPDATE (I don’t know why I can’t edit anymore the original post).

For those who have problems connecting BW with your LNDhub, I did this latest test.

  • Android 8.1 + BW 6.0.8 (not updated to 6.1.1 because is not compatible anymore with old Android)
  • Open Orbot, activate VPN and add BW app in the list. Start Tor, wait to be 100% connected
  • Open BW mobile, go to Settings - Network - Electrum and add my electrum host from my Umbrel (from “connect wallet” - Selecting Electrum mobile, I just copied manually the host and port)
  • restart BW mobile
  • Open BW mobile and go to Settings - Network - Lightning, scan the QR from Umbrel LNDhub, save the settings and restart BW mobile
  • Open BW mobile, wait to sync, doesn’t take too much and click to create new wallet. Choose Lightning and create. Done, you can save that lndhub onion address as backup

Testing transactions with that new wallet:

  • Open that new wallet, create invoice of 100 sats, copied
  • 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. (this didn’t worked me, says “payment in transit”, that means, can’t find the right path between BW servers and mine). Ok this can happen.
  • I created a new invoice of 120 sats in my LNDhub wallet and went to Telegram LNtxbot and pay it. Went through perfectly.
  • Go to RTL - LN - Transactions and in invoices I can see the 120 sats received and also showing up in my LNDhub wallet balance
  • So I went to my LNtxbot LNurl and paid 100 sats + 1 sat fee with the LNDhub wallet from my Umbrel
  • Tx appeared in RTL transactions immediately

So, in conclusion, for those who have problems connecting your BW to your LNDhub, I suggest to try this, until a new version of BW will fix the issues with freezing.
IT’S WORKING FINE!

3 Likes
  1. Even if the wallet on the same node, the tx still have to get through a LN route, so will pay a min fee. You can see the route and who was taking the fee, if you decode the LN invoice in Thunderhub app decoder.

  2. Maybe in the future, but right now is not possible to fund LNDhub wallet with funds directly from the same node. You could try the refill option and taking from an onchain wallet if you have one setup in your BW. But that I think will open a channel in your node so will have more costs.
    So use an external wallet to fund that LNDhub wallet, for the moment. I use LNtxbot from Telegram.

  3. That will be an interesting scenario to see. It supposed to not let you send all funds from your node, keeping the funds of those LNDhub wallets. I never try it. Interesting situation indeed.

Last days I tried this:

  • Android 8.1 installing BW 6.1.1 - not supported, revert to 6.0.8
  • Android 10 installing BW 6.1.1 - connect to Umbrel LNDhub + Electrum - freeze to death
  • android 8.1 + Orbot + BW 6.0.8 - connect to Umbrel LNDhub - works fine

I opened an issue yesterday https://github.com/BlueWallet/BlueWallet/issues/3079
Also on Zeus github https://github.com/ZeusLN/zeus/issues/452