Restore Umbrel funds – SHTF scenario

Ways to restore your Umbrel / LND node funds in case of SHTF

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.
  • Restoring funds procedure is the LAST resort, so before starting it, please consult with others and try to have a correct diagnostic of what happen to your node. Maybe a simple restart is just enough.

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. Standard, normal way using a new instance of Umbrel node
  2. Using Bluewallet mobile app
  3. Using Blixt wallet mobile app
  4. Using Zap wallet desktop app
  5. Using Sparrow wallet desktop app
  6. Using a copy of database files into another LND node instance
  7. Experimental full copy data from RPi node to desktop/NUC Linux machine
  8. Using Thunderhub / Amboss SCB backup to restore in Blixt

More tools, documentation, guides about restoring funds from a dead LND node:


1 – Standard method

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 (contact them in Umbrel Telegram group or on Umbrel Community Forum

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.

Enter using SSH and run this:

scp <path/to/your/channel/backup/file> umbrel@umbrel.local:/home/umbrel/umbrel/lnd/channel.backup

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 – Bluewallet method

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 – Blixt mobile method

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

– you have a backup of your 24 words seed

Steps to do:

1 – Install Blixt wallet on your mobile

2 – Go to menu settings and activate Tor (app will restart). This is necessary due to the fact that Umbrel is by default Tor and many of your previous channels were open with Tor node peers.

3 – Select restore wallet

4 – take your 24 words seed and insert it in the 1st field

5 – 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.

6 – 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 – Zap desktop method

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

Just install the Zap 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 – Sparrow method

  • 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.
  • 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 – Experimental method – copy db files

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 – RPi node into new desktop machine

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. Have patience for node to catch up with latest blocks and indexes.


8 – Blixt / Thunderhub / Amboss SCB method

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 into your mobile device.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.
  • Paste the HEX data from Amboss backup into a text file and name it channels.backup or whatever you want.
  • 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>