pull down to refresh

This is an idea how to improve your bitcoin backup setup. You can use it for yourself or as a dead men’s switch for your loved ones to get access to your bitcoin holdings if something happens to you.
Caution: While this method improves the resiliency of your backup if could potentially harm your privacy.

Summary:

The idea is to create a signed bitcoin transaction which will become valid in the future (e.g in two years). To do that we leverage bitcoins timelock feature. The target of the transaction is an empty wallet which you can keep with the signed transaction. If you lose your keys or something happens to you, the signed transaction can be broadcasted after the specified time by someone who holds the transaction and the empty wallet. If you don’t need it, you just must move one utxo of the whole transaction to invalidate the signed transaction. I assume you know how to handle your wallets and seed phrases and familiar with creating on-chain bitcoin transactions.

Step 1: Create empty wallet

First create an empty wallet where the transaction will be sent to. To do this, use your favorite way to create a fresh wallet. You could either use an existing hardware-wallet, a seed signer or electrum booted on a tails OS. Write down the seed phrase and generate a new address which we will need later to send the funds to.

Step 2: Create a signed bitcoin transaction

For the purpose of this example I will use the sparrow-wallet software. Open the wallet you want to “protect” by the dead man’s switch and navigate to UTXOs. There you can see all your available outputs to spend. Now select all the utxos you want to include in your dead man’s switch, mark them, right click them, and select “send selected”.
Next paste the generated receiver address which you generated in step one. Use a fee that is not too low. Of course, you don’t know how the fees will be in the feature but if necessary, you can always do a CPFP. Click “Create Transaction”.
This is the important part of the transaction. You must lock the transaction to make sure it is only valid in the future. Click on “Detail” in the transaction screen and choose the appropriate locktime. You can either select a block after which you transaction will be valid or a specific date.
Now “Finalize Transaction for Signing” and click “Sign”.
After that you can save the transaction as a Transaction file or a QR Code.
If you open the .txn file with a text-editor, it looks something like this:
It is safe to keep this information on a “hot” device as long as the locktime not passed.

Step 3 Use the transaction or invalidate it

In the best case nobody needed this transaction. Now make sure that you invalidate the transaction bevor the locktime is reached. To do that, you only need to change one of the utxos you choose in step 2. Spend it to your wallet and the signed transaction is invalidated.
If you need to use the dead man’s switch after the locktime period is passed, make sure you have access to the wallet you created in step one.
Now you can broadcast the signed transaction and all the utxos will be sent to your wallet created in step one. To broadcast the transaction you can use one of the following websites:

Additional information

This additional information is manly if you create the transaction to make sure your loved ones can access your Bitcoin if something happens to you.
Important: If you handle over the signed transaction to someone else, that person knows immediately how much Bitcoin you signed. This is a huge privacy issue with this method. Use carefully.
If the person, you give the transaction does not know about Bitcoin (maybe your grandmother) make sure you pass enough information to that person that she can handle it. Maybe write down some contact information about someone you trust and know how to handle it.
Is it coincidence or not, today in my head emerged this question - How to share you private key with your lovely one and I decided to write post how I made it.
Thanks for your work it'll help to improve my method.
Happy Thanksgiving
reply
Interesting. Might test this out to get a feel for the practice.
Still think it might be better to wait for this in covenant form just for its relative simplicity.
reply
How would this look like with covenants?
reply
It might be just a few clicks.
If no one checks in before block 1000000, send here
reply
when will covenants be available?
reply
Well....that's THE question. There are a bunch that are being peer reviewed & could be implemented in the next few years. But its not guaranteed
reply
nice! Looking forward to see that.
reply
I can give you an address to send the sats to if you want. Don't worry, I definitely won't make sure you go missing right before the switch needs to be activated ;)
In all seriousness, I'm tempted to test this out too, although covenants seem like they would make it go far smoother
reply
Good guide !
reply
good writing, I like this, you make useful writing to help our friends here, thank you for sharing.
reply
Very interesting and elegant, thank you.
reply
I wasn't aware it's so simple to set this up with Sparrow. Thank you so much for writing this. I have to share this with so many Bitcoiners around me.
reply
you are very welcome :)
reply