How to Setup a MultiParty 3-of-5 Multisig Wallet Using Electrum
Tags: Btc, Bitcoin Wallet, Bitcoin, Multisig

How to Setup a MultiParty 3-of-5 Multisig Wallet Using Electrum ecurrencyhodler Aug 26·6 min read

The purpose of this guide is to show you how to setup a 3-of-5 multisig and how to co-manage it with five different people who live in different geographic locations. This setup could be useful for those running a remote-based Bitcoin business, a family wallet, a Bitcoin pot for a fantasy league, or even your own geographically distributed setup with computers in different locations.

Here are the six things you will need:

Five hardware wallets — This guide will specifically focus on Trezor and Ledger for simplicity’s sake. Zpubs of the hardware wallets. Electrum wallet. Password manager such as 1password. Encrypted chat tool such as Signal or Telegram. A computer.

Hardware wallets

Purchase the hardware wallets

Each person should purchase their own hardware wallet. Make sure to buy them directly from their website or an authorized reseller and get it shipped to a P.O. box or office. Do not ship these to your personal home. It would also be ideal to have hardware wallet diversity meaning three Trezors and two Ledgers or vice versa. Lastly, the Ledger or Trezor models you purchase won’t matter.

P.S. if you’re fairly technical, I would highly recommend Coldcard as well!

Setup the hardware wallets

After each person purchases their own hardware wallet, you all will need to set them up individually. Below are the setup guides for Trezor and Ledger:

Setup guide for Trezor.

Setup guide for Ledger.

Hot Tips:

Make sure no one is around when you set these up. Write down your seedphrase on a piece of paper, preferably on a steel plate and inside a tamper evident bag. Also keep it somewhere safe like a home vault and don’t share them with anyone! Keep the pin # in a password manager so it doesn’t get forgotten. Because the hardware wallet is going to be used with a multisig, it’s not a huge deal if one of them gets compromised. Each member should set their own pin #’s as well.

Grab the Zpubs from the hardware wallets

The next step is that everyone must grab their Zpubs from the hardware wallets using Electrum. A Zpub is a public key expressed in the SLIP-0132 standard. It is NOT a private key so they are safe to share. Here’s a video of the directions below:

Download Electrum from electrum.org/#download, install it, then open it up. Start creating a wallet by giving it a name. Select “multi-signature wallet” Set it to 2 cosigners and 2 required signatures Plug in your hardware wallet device Select “Use a hardware device” (Make sure to be inside the Bitcoin app if you’re using a Ledger. It should say application is ready). Select “native segwit multisig” and copy the derivation path into a password manager. Keeping the derivation path is super important! It should look something like this: m/48’/0’/0’/2’. Then copy the Zpub and then you can click Cancel. The Zpub should look like this: Zpub7547VVDh2UVhSisRLLPhwCvLmqv3rUSQoAxjwVDwVD4mHNYi2QdgzhjDAVodTN3JbgC1fnrsbW82c9uTVpNTkXeX7jc6LnuBgEbBRekJFhA Paste the Zpub and derivation path into an encrypted chat (Signal or Telegram) to the other members of your multisig wallet. A group encrypted chat through Signal would be the most efficient way to do this. Make sure everyone has the same derivation path! If you don’t, you won’t be able to setup the multisig.

Use Electrum to create the multisig wallet

This is also something everyone must do so that all parties can have a copy of the multisig wallet as well as sign with their own hardware wallets. Here’s a video of the directions below:

Open Electrum. Create a new wallet then name it. Select “Multi-signature Wallet”. Then create your wallet with spending the appropriate conditions. For a 3-of-5 multisig wallet, set it to 5 co-signers and 3 required signatures. For the first cosigner, select “Use Hardware Wallet”. Connect your hardware wallet. Make sure “native segwit multisig” is selected and that the derivation path matches the default one Electrum gave you earlier when you grabbed the Zpub (e.g. m/48’/0’/0’/2’). Then click next on the screen that says “Master Public Key” and skip that section as you’ve already shared this with your fellow co-signers. For the second cosigner, select “Enter cosigner key.” Copy and paste one of the Zpubs that was given to you. Click next and select “Enter cosigner key”. Paste the next Zpub. Repeat steps 8–10 until you’re done adding all five Zpubs. Encrypt the wallet with a password and store the password in a password manager so you don’t forget! You should now see a multisig wallet with addresses.

How to send Bitcoin

Your multisig transaction can be performed asynchronously, from different geographic locations, and without a time limit in-between sharing the signed transactions.

Open up the wallet with your password in Electrum. Create a transaction by entering in the Bitcoin address, amount, and fee inside of Electrum. Make sure to enter a fee that is acceptable to everyone. Hit sign transaction in Electrum and then follow the prompts in your hardware wallet. Make sure to verify the amount, the address, and the fee before signing it. Export the signed transaction into a file. Share the file with the second co-signer of the multisig wallet via encrypted chat. This can be any other member of the multisig wallet. The second co-signer downloads the signed transaction file to their desktop. Then they load that file into Electrum by going to Tools > load Transaction. They’ll find the file on their desktop. The second co-signer signs the transaction with their hardware wallet device. Then the second co-signer exports the transaction into a file again and sends it to the third co-signer via encrypted chat. The third co-signer loads the file into Electrum and signs with their hardware wallet. Once Electrum sees three signatures, it will prompt the third co-signer to broadcast the transaction. This person must then click “broadcast.” Everyone deletes the files they shared with one another in the encrypted chats and desktops.

Final considerations

You can connect Electrum to your own full node using Electrum Personal Server.

It is absolutely imperative that everyone writes down the Zpubs and the derivation paths for their hardware wallets. If you ever need to recreate your multisig for any reason, you will need both of these two pieces of information from everyone. If one person fails to provide them, you may never be able to recreate your multisig. So keep the Zpub and derivation paths somewhere safe such as a password manager. But do NOT keep your seedphrase in the password manager.

After you set up the multisig, I would first verify that everyone sees the same Bitcoin addresses in their wallets to check that they were set up properly. Then drop a small amount of Bitcoin (~$50 worth) and see if the transaction shows up in everyone’s wallet. Finally, send a test transaction out of the multisig.

If your hardware wallet ever breaks, you can restore it by purchasing the same device and typing in your seedphrase. When you open Electrum and connect your newly recovered hardware wallet, you should be able to sign transactions like you did before.

If someone has one of their hardware wallets compromised (such as a stolen seedphrase), you must perform a key rotation. Have the person wipe the device and setup a brand new seedphrase for the hardware wallet and run through the guide again. Everyone else must also run through the “Use Electrum to create the multisig wallet” section again because a new Zpub is being introduced to the keyset creating a brand new multisig wallet. The last is to then send bitcoin from the old multisig wallet to the new multisig wallet.

A word of caution

Maintaining a multisig wallet can be difficult. Not only must you stay abreast with firmware updates and figure out whether or not they will break compatibility (for all the hardware wallets and Electrum), you should periodically practice signing transactions without broadcasting them and then delete the transaction file. This will keep the process fresh in your memories and checks to see that the hardware wallet is still functional. Lastly, keep in mind that there is no support team to contact if you run into any issues. However if everyone keeps their seedphrase, derivation paths, and Zpubs written down, you will be well positioned to recover your Bitcoin.