How to restore your node wallet (updated)

NOTICE: this guide was made for Umbrel v 0.4.x. It is not valid anymore for v 0.5.x. Please follow these instructiions for v 0.5.0x

Here is a separate chapter about managing your Umbrel node, about methods/ways to restore/recover your Umbrel LND wallet in case of SHTF.

There are many users that do crazy stuff with their Umbrel nodes and sometimes, there’s no other way to fix it than restore it into another wallet app and start over with a new one or same LND wallet but in a new instance.

REMEMBER:

  • Keep calm and be patient.
  • This process can take time and precise steps to follow.
  • Don’t do anything stupid that could fuck up the process.
  • Do not empty or move funds/ UTXOs from your onchain wallet during the recovery process. Many UTXOs can be linked to the closure of channels from so called “anchor reserve” UTXO.
  • Wait patiently for channels to close, can take from 40 to 144 blocks until the funds are released, even if the txs are confirmed in the block explorer.

There are 8 methods to “restore” your Umbrel node.

If you have funds ONLY in onchain wallet and do not have funds in LN channels, just use the methods 2, 3, 4, 5.

If you have funds in onchain wallet and in LN channels use methods: 1, 3, 6, 7, 8.

1. Using standard, normal way using a new instance of an Umbrel node

This method is the normal way, as described and recommended by Umbrel team.

It is suppose that you already have the 24 words seed and the channel.backup file obtained previously. If you didn’t make that backup, but you still have access to your old node drive, you can find it in /home/umbrel/umbrel/lnd/data/chain/bitcoin/mainnet/channel.backup or you can request a copy from Umbrel devs (@mayank or @lukechilds or @louneskmt)

Install a new instance of Umbrel. Start the dashboard page and you will be prompted to use previously backup 24 words seed.

Once you’ve restored from the 24 words, it might take a few minutes to a few hours for it to scan all of your previous Bitcoin (on-chain) transactions and balances. Meanwhile, here’s how you can restore the funds in your Lightning channels.

STEP 1: COPY OVER THE CHANNEL BACKUP FILE FROM YOUR COMPUTER TO YOUR UMBREL.

Run this command from your terminal screen:

scp <path/to/your/channel/backup/file> umbrel@umbrel.local:/home/umbrel/umbrel/lnd/channel.backup
Here more details about using scp command

Replace <path/to/your/channel/backup/file> with the exact path to channel backup file on your computer

The password is moneyprintergobrrr, except on version 0.3.3 or later where the password is your personal user password instead.

STEP 2: RECOVER FUNDS

cd ~/umbrel && ./bin/lncli restorechanbackup --multi_file /data/.lnd/channel.backup

After you run this, wait for 1 minute. You should now be able to see your channels being closed on http://umbrel.local/lightning.
You should wait patiently until the funds are coming back to your onchain wallet. It will take at least 40 blocks. You can see/check the details of closing channels in the troubleshooting guide.

2 - Using Bluewallet method, but only onchain funds

Yes, now you can connect directly to a mobile app, the onchain AEZEED node wallet. Just use your Umbrel node seed in Bluewallet (adding it as new wallet) and done. Use cases:

  • you want to have at hand a way to deposit quick to your node wallet (onchain)
  • you need to have access to your onchain funds in case your node is crashed and want to recover / access the funds

REMINDER:

  • this is restoring ONLY onchain wallet, not also the LN channels!
  • to restore the funds from your LN channels you still need to follow the procedure for recovering using the standard method, see point 1.
  • I would recommend to not restore the same seed into a new Umbrel LND instance, just start with a new LND instance and keep this old wallet in Bluewallet, or simply move the funds to the new Umbrel instance.
3 - Using Blixt mobile method, including funds from LN channels

This is a new excellent mobile app, using LND and neutrino blocks sync, also with many other features that none other mobile wallet put together. Worth having it in your phone as a pair node with regular other node.

It have the option to restore a LND node, right in the first steps of opening the app.

You will not lose funds in this test/scenario, the worst thing can happen is not recovering the channels and or channels are closed and funds recovered into onchain wallet. It will just reject the “restore” and your channels will still be active in Umbrel node.

Requirements:

  • Your Umbrel node is dead and should not be online int his process.

  • you have a backup of your channels with the latest state. Use the backup file you get from Umbrel dashboard - Lightning page. Not RTL or Thunderhub. Also you can use the online backup from Umbrel servers (you will need to contact Umbrel devs for that)

  • you have a backup of your 24 words seed

Steps to do:

  1. Install Blixt wallet on your mobile, select restore wallet

  2. take your 24 words seed and insert it in the 1st field

  3. take your channels.backup file (that you previously saved from Umbrel LN dashboard) and upload it to your mobile and insert it into Blixt restore box.
    Optional, you can retrieve it from old drive from here
    /home/umbrel/umbrel/lnd/data/chain/bitcoin/mainnet/channel.backup
    or request a copy from Umbrel dev team.

  4. click restore and wait good amount of time to let the app to sync the neutrino node (a small version of the blockchain). Once is restored, funds in onchain should appear in balance and also channels. But remember, channels will be closed and funds back into onchain. Just be patient.

I would recommend to not restore the same seed into a new Umbrel LND instance, just start with a new LND instance and keep this old wallet in Blixt, or simply move the funds to the new Umbrel instance. Blixt could be a very good node companion node for your new Umbrel node.

There are some ways to check the status in Blixt app but I will not enter in details here.

Let me know when/if you want to do this test and I can assist, but only if your Umbrel node is dead. Also you can enter in contact with Hampus, Blixt dev, using Telegram Blixt group

Don’t break things just to test others. Remember this is an experimental test and you do not have another way.

4 - Using Zap desktop method, only for onchain funds

This works only with desktop version of Zap, not mobile.

Just install the Zap desktop app and use your 24 words seed to restore the AEZEED onchain wallet.

This WILL NOT restore the LN channels! To restore the LN channels, you will still need to use the standard procedure explained at point 1 in this guide.

Just add your 24 words seed from Umbrel

5 - Using Sparrow wallet method, only for onchain funds
  • This method will NOT restore your LN channels, only the onchain wallet! To restore funds from LN channels you still need to do the “normal procedure” explained in the point 1 in this guide.
  • Install Sparrow desktop wallet
  • Go to Cryptography Toolkit and download the HTML file onto your computer.
  • Open that HTML file in “offline mode” (no internet) and select “aezeed Cipher Seed Scheme” from Tools. Then go to the 2nd tab “Decode Mnemonic”.
  • Paste your 24 words into the “Mnemonic” field.

Select BIP84 format

  • Select format BIP84 native segwit and wait a bit to be decoded.
  • Copy the zprv displayed into the field “HD node root base 58”
  • Open (already downloaded) Sparrow wallet app and select “new wallet”
  • In the “Keystores” select “new imported software wallet”
  • In the next window that will open, select “Master Private Key BIP32” and paste that zprv key you get it from the cryptography tool and click “import”. It will show you that is a m/84/0/0 derivation path (as it should be, to restore all your addresses and txs used previously in Umbrel).
  • Click on “Import Keystore” and it will go back to main window of the wallet app where you can see all the wallet config. Click on “apply” and will prompt you to set a password to encrypt your local wallet file.
  • Sparrow app will start scanning all your keys and txs and it will be displayed after a while in the “Transactions” tab. Patience, it will take some time.
  • For a faster, secure and private connection is better to connect your Sparrow wallet app to your node. Just follow the instructions in “Umbrel - connect wallet - sparrow” and you will use directly the blocks and indexes from your own node.
6 - Using this experimental method, for full recovery of your node, including LN channels

This method was confirmed only by one Umbrel user that did it with success. But remember, he wasn’t using the Raspberry Pi version of Umbrel, was on a machine with regular Linux and Umbrel installed on it.

This procedure is ONLY for experimented Linux users! If you don’t know to use Linux you better stay away.

The procedure is simple. Are only these 2 files and they are located in:

<lnd folder>/data/chain/bitcoin/mainnet/wallet.db

<lnd folder>/data/graph/mainnet/channel.db

You have to construct the data/… folders yourself and then copying the files to them, before starting up lnd.

  • So, take another machine/drive and install Umbrel, fresh. Use your 24 words seed to restore the onchain AEZEED wallet. Leave it to start the sync a bit and construct the rest of the folders for LND. Then stop it.
  • Go to the old drive and locate those 2 files.
  • Copy them into the same path in the new node.
  • Optional, if you have the blockchain data OK, files integrity is fine, you can copy also the blockchain so you can save time. If you think is corrupted, you better just forget it and let the sync to be done in normal/natural way.
  • Start the node, leave it to sync and… voila, your old LN channels are there alive and not closed.
  • If there is a problem in restarting the node, just run: sudo scripts/configure

REMINDER: these files have to be the latest version that was online! If you use an older backup you can lose funds being punished for cheating with an older version of your channels.

7 - Experimental - Copying full data from RPi machine to a desktop/NUC Linux

This method was not fully tested yet, using an old RPi device with working Umbrel and a new NUC/desktop/laptop with Linux OS + docker dependencies (preferably Debian to use the same libraries as UmbrelOS).

The procedure is simple:

  • install new machine with Debian OS + all dependencies required (see Umbrel GitHub installation guide for desktop Linux
  • add the old USB SSD with UmbrelOS installation to new node and start copying the whole folder of Umbrel, in the same location path as before, into the new node drive.
  • remove the USB drive after completion
  • start Umbrel from that folder with command:
    sudo ./scripts/start
  • If there is a problem in restarting the node, just run: sudo scripts/configure

All should start fine and node will resume its sync and all your previous data should be there.

8 - Amboss / Thunderhub SCB method with restore in Blixt

Recently Amboss added a nice feature for node operators with registered node, to upload an SCB channels.backup file to your account. That file later can be recovered in case your node is dead.

This option is linked to Thunderhub app, in Tools - Backup. So once you setup in Thunderhub to make backups, it can be linked to your Amboss account and have a copy on their servers.

There’s no risk of leaking / stealing funds from that file. Without your node wallet seed words, is useless.

This backup file from Thunderhub also can be saved locally, in a safe place, out of the node. Amboss and Thunderhub are offering this option only as an extra way to backup.

Procedure to restore

So, your node is broken dead, but you have your 24 words seed. The backups in Amboss were done automatically, OK. You want a fast way to recover those funds, meanwhile your are building a new node.

  • Open Blixt app in your mobile device
  • Choose recover node
  • Insert your 24 words seed (from your dead node)
  • Blixt will take few minutes to sync through Neutrino and recover your nodeIDIn this phase you don’t have to choose to recover with channels backup, can be done later. You only need to be able to sign in Amboss and recover your SCB.
  • Once is synced (see top spin icon), go to amboss.space and login, signing the key with your Blixt app. Yes, Blixt support LN-auth, like many other features.
  • You are logged in your Amboss account, download the SCB file to your mobile device.
    • Paste the HEX data from Amboss backup into a text file and name it channels.backup or whatever you want.
  • In this moment you will need to wipe the data from your Blixt. The easiest way is to uninstall it and re-install it. Other way, in Android, Blixt app details, delete data and cache.
  • Once Blixt is re-installed clean, start the restore procedure with inserting the seed + channels backup file. In that moment the recovering funds procedure is triggered. Will take a while until the blocks are synced through Neutrino and channels are closed. usually takes less than 5 min to sync and 44 to 144 blocks to unlock the funds from channels closure.
  • PATIENCE! Keep the Blixt app active in the first phase of the recovering procedure, until the channels start being closed. You can check in Settings - LND logs and in top left drawer - Lightning Channels. If the channels appear there in “closing” state, then is all good and you could close Blixt app.

NOTES:

  • if you do not want to restore the funds in Blixt, you can use the same channels.backup file in Thunderhub, once your new node is ready and synced. The procedure is the same, with closing the old channels and funds recovered into your onchain wallet.
    • You could use also from cli command:
      lncli restorechanbackup --multi_backup <filename_location>
20 Likes

Wow this is awesome, can this be done while the original node is active? I’m really trying to upgrade my hardware and run my current node instance from the new machine?

What happens to the old node on the raspberrry pi for example? Do they run simultaneously?

Also, the only part that confuses me a little is the “Leave it to start the sync a bit and construct the rest of the folders for LND. Then stop it.” How or when do we know its a good time stop it? Are there any commands that we can use for this? Also the starting node part, how do we start it in a safe way? is it the sudo ./start command in the script folder?

I think is specified there: DO NOT proceed to recover funds + channels when the node is online/active.
Why people always want to fuck up everything?

Just leave it to sync few dozens of blocks.
To stop the node, just go to Umbrel dashboard - settings - shut down.
There are also commands.
SSH into node and run
cd umbrel
sudo ./scripts/stop
sudo shutdown

Thank you Darth I got a little excited when I saw this post, prolly wasn’t thinking straight asking that question.

Okay got it.

Current machine:
Raspberry Pi 4 Umbrel installed 214 + channels 15 Btc capacity

  1. Backup channel using Umbrel Dashboard
  2. Backup lnd.conf
  3. Copy/Backup wallet.db & channel.db from lnd folder
  4. Copy the blockchain data if files integrity is good

You have to construct the data/… folders yourself and then copying the files to them, before starting up lnd.

  1. Now, for this step…
    Question #1: I assume we need to recreate this “/data/chain/bitcoin/mainnet/” and “/data/graph/mainnet/” directory on the new machine correct?
    Question #2: Another question this raises, wouldn’t these directories be created on the new machine upon installing umbrel on there?
    Question #3: Don’t we just replace the copied files from current machine with the new machines wallet.db and channel.db in this case?
  2. Shut down gracefully

New machine:
So I got a Intel Nuc 32 gigs ram, 4 core, 2 tb ssd

  1. Install debian on it
  2. Install umbrel
  3. 24 Word seed recovery
  4. Let it sync about 32 blocks
  5. Shut Down gracefully
  6. Replace lnd.conf with (back up copy of current machine)
  7. Replace wallet.db & channel.db with (back up copy of current machine)
  8. Replace blockchain data with the (copy from current machine)
  9. Start the node up and pray to god everything is working

Sorry for all the text I just put a lot of time and effort on the node I don’t wanna f it up. I do understand that things can go wrong, but please view over this when you get a chance and tell me if I got it right.
I’m sure there are going to be many other more that are going to want to upgrade their machines in the near future and this way they have something to go based off of.

Thank you

1 Like

Q1-3: just install a new LND node and start it. Once all the folders are created, stop it and start copying from old drive those 2 db files. Don’t bother with lnd.conf, you can just edit the new created one, is much better just to just adapt old lines in it than replace the whole file.

1 Like

Ahh man life saver this write up came in such a clutch. What is your node id? let me send some inbound your way or tip you or something.

Put your node up and running and we can have a channel then.
In this “Getting Started” guide about Umbrel, at the end is my node id.

Where can I find the correct formating to copy and paste into conf file?

https://www.lightningnode.info/advanced-tools/lnd.conf

can i use blixt to restore my “locked wallet”?


been waiting for replies from mayank but no replies yet since yesterday. i did try lncli unlock but no luck.

yes, but use the backup channels file from umbrel dashboard not from RTL or TH.
I hope you did one before this happen. Don’t use one from this status because it will give you error.
Remember:

  • Blixt will close the existing channels and send funds to your onchain wallet
  • do not power on your Umbrel in this process until you get the funds back
    Once is restored, you can start over with a new user data in Umbrel. See the Umbrel Troubleshooting Guide how to reset user data, without deleting the blockchain data
2 Likes

Boss, mayank has finally replied me and helped me fix the problem :laughing::sob:.

And what was the solution?

what was the solution?

some code which i don’t know, i just “copy and paste” a few times and then it’s fixed. you need to contact developer if you have this problem, only they can fix it AFAIK

woahh complete disaster, lnd wouldn’t start up lol good thing I left my current node in tact. I do have watchtowers enabled and I’m a watchtower to a few nodes. I also have wumbo channels enabled do you think these would cause lnd not to start up?