In this article, we'll introduce shared wallets, also known as multisig (multiple signature) wallets. We'll cover their advantages and disadvantages, and provide detail on how they work in the Bitcoin.com Wallet app.
Table of Contents
What is a shared wallet?
You might have come across the word “multi-signature” or “multisig” during your contact with cryptocurrencies. Multisig is a cryptographic technique used in what we call a shared wallet. Before we go any further, if you don’t already know what a Bitcoin wallet is, what a non-custodial wallet is, or how to create a wallet, stop right here and read those articles.
A fact that is often confused or overlooked is that in a crypto wallet, your funds are not inside the wallet - just as your debit card doesn’t actually contain your cash. Like your debit card, you gain access to your funds through a kind of password (a very long, 78 digit password) called a private key. Private keys are held in your crypto wallet, and without private keys, the associated cryptocurrencies cannot be used.
Basic crypto wallets use one private key to access and send transactions while shared wallets require two or more private keys to access the funds connected with the wallet. Private keys in shared wallets are often given to different people, called participants. For example, if you have three private keys, you might keep one yourself and give the others to family members. Using a shared wallet with multiple participants might seem unnecessary, but there are many benefits.
Read more: Get a deeper understanding of private and public keys, and learn how Bitcoin transactions work
Why should I use a shared wallet?
The first key reason to use a shared wallet is that it is a solution to the crypto wallet problem of having a single point of failure, which can result in losing access to your crypto assets. For example, imagine there is a fire in the apartment building you live in. Your computer and the paper backup keys for your cryptoassets are destroyed. Without the keys, you have no way to access those assets. But if your wallet is shared with others (who don't live in your building!), you'll still have access to your funds.
The other key reason to use a shared wallet relates to the utility that comes with having multiple decision makers. For example, you can introduce savings for your child by providing her with some funds in a crypto wallet. If it's a shared wallet, you'll have the chance to review any transactions initiated before approving or declining.
Read more: Here's a list of ways shared wallets can be used.
How does a shared wallet work?
Recall that crypto wallets do not actually contain cryptocurrency. Wallets contain private keys that grant access to the cryptocurrency. In a basic wallet, there is only one private key connected to the wallet and that key is necessary to use the cryptocurrency. The private key is used as a mathematical signature to prove your ownership of the cryptocurrency.
In a shared wallet, multiple private keys are connected to the wallet. You will have to decide how many keys will be connected to the wallet, and how many keys will be needed to approve a transaction.
For example, if you decide to make a shared wallet with your mom and dad, there will be a total of three participants for the shared wallet. You decide that 2 of the 3 participants must sign a transaction for it to be approved (and thereby 'valid' to be broadcast to the blockchain). This shared wallet is called a “2-of-3 wallet.” The shared wallet will have three private keys, but only two of the keys (in any combination) are required to approve transactions.
You can set the number of participants (up to 6) and number of approvals, such as, 1-of-2, 3-of-4, 6-of-6 etc...
How would this work in practice? Let’s look more closely at the above '2-of-3' example. We are going to talk below about setting up the shared wallet, so let’s assume you and your parents have successfully created the shared wallet.
Any private key holder can initiate a transaction through a transaction request. In this case, you, your mom, or your dad can request to move funds. As this is a 2-of-3 wallet, the transaction request will require just one approval from other participants, since the participant who made the transaction request (you) implicitly approves the transaction. If this was a 4-of-6 wallet, a transaction request would require 3 approvals.
Imagine you decide to buy a new car with some of the bitcoin from your shared wallet. You call your father on his day off, informing him of your plans and asking him to approve the forthcoming transaction request. Then, you submit the transaction request. Your father quickly approves the transaction, satisfying the conditions of the 2-of-3 shared wallet. The Bitcoin is transferred from the shared wallet to the car dealership.
What are the downsides of shared wallets?
There are a few potential downsides to using a shared wallet.
The first can easily be avoided by properly setting up the wallet. While it may seem that a 6-of-6 shared wallet is the most secure, this configuration in fact introduces an additional risk beyond a normal (single signature) wallet. Since a 6-of-6 shared wallet requires that all six participants approve any transactions, if even a single participant loses their private key, any funds in the wallet will be inaccessible. So, with a 6-of-6 wallet, you're effectively making the single-point-of-failure problem worse!
The other downsides of shared wallets relates to their ease of use and can be summarized as follows:
A shared wallet requires making sure the other participants can perform the computer-related skills required.
Once a shared wallet is set up it cannot be modified. Any modifications to a shared wallet, such as replacing a participant, requires setting up a brand new shared wallet from scratch.
Transferring funds from a shared wallet will take more time than a basic wallet because, as described above, you have to wait for other participants to approve.
Does every participant share a private and public key?
Nope. Everyone gets their own key.
Setting up a shared wallet
Download and install the app.
Tap +ADD/IMPORT.
Select Add new shared wallet.
On the next screen, you’ll set up your wallet.
Enter the asset type (BTC or BCH).
Decide the number of approvals and participants.
Enter a name for the wallet (eg. My Family Shared Wallet).
Enter your name or alias (this is the name that will be seen by the shared wallet participants).
Tap continue.
How to share a shared wallet?
After you’ve set up your shared wallet (see above), you’ll be prompted to invite participants. There are two ways to invite participants:
Ask them to scan the shared wallet’s QR code.
Tap the SHARE button and send them a link to the wallet.
How to join a shared wallet?
There are two ways to join a shared wallet:
Scan the QR code provided by the wallet creator (tap the scan button at the top-right of the app’s home screen).
Tap the shared wallet link sent to you by the wallet creator.
You’ll be prompted to enter your name or alias. This is the name that other wallet participants will see you as. Finally, tap JOIN to complete the process.
How many participants and approvals can my shared wallet have?
A shared wallet must have a minimum of two participants, with a maximum of six. There is a minimum of one approval and a maximum of six. This means you can make a 1-of-2 wallet all the way up to a 6-of-6 wallet -- and anything between.
What cryptocurrencies can I use shared wallets for in the Bitcoin.com Wallet?
Bitcoin (BTC) and Bitcoin Cash (BCH).
Why does my balance show 0 even though my transaction request is for a partial amount of my shared wallet’s balance?
Don’t worry, your remaining funds are still there. While a transaction request is waiting to be approved or declined, available funds are temporarily locked. When funds are locked, we show a 0 balance. When the transaction request is approved or declined, your funds will unlock and your balance will be shown again.
The creator of a transaction request can use the delete request action to cancel the transaction and unlock funds.
What is a transaction request?
Before a transaction is broadcast to the public network, it requires a certain number of approvals, based on the configuration of your shared wallet. For example, a 2-of-3 wallet requires 2 approvals before it can be broadcast. When you create a transaction request, you'll automatically send a notification to all wallet participants, which they must approve or reject.
How do I create a transaction request?
To create a transaction request, simply select your shared wallet, tap send, and follow the instructions.
Is a transaction request different from an on-chain transaction?
Yes, kind of. A transaction request represents the initiation of an on-chain transaction. Before the transaction is broadcast to the blockchain, it first must get enough approvals based on the configuration of the shared wallet. Once the required number of approvals is reached, the transaction will be automatically broadcast.
Can I delete a transaction request?
Yes, as long as you are the creator of the request and it is still in the pending state, you can delete a request. All funds locked will be freed and made available to your wallet.
To delete a transaction request:
Go to your shared wallet and select "Requests."
Tap on the request you want to delete. Note: You can only delete requests that are created by you and are still active.
Scroll to the bottom and select "Cancel transaction request."
How do I accept a shared wallet transaction request?
Go to your shared wallet and select "Requests."
Select the request titled "Waiting for your approval."
Slide the arrow to approve the request.
How do I decline a shared wallet transaction request?
Go to your shared wallet and select "Requests."
Select the request titled "Waiting for your approval."
Tap decline and confirm.
Does every participant share a private and public key?
In short, the public key, or the “address,” is same for all participants, but each participant gets their own unique “private key” (seed/recovery phase).
Technically, when a shared wallet is created, all participants are at first assigned their own unique public and private key pair. Once all participants have joined the wallet, a single common public key (aka “address”) is generated and displayed to all participants. This is the address that participants can provide when, for example, requesting a payment.
How can I back up a shared wallet?
Unlike "standard" Bitcoin wallets, shared Bitcoin wallets must be manually backed up. For most people, the best way to manually back up a wallet is to write down the wallet's recovery phrase (also known as a seed phrase) on a piece of paper and store that paper somewhere safe.
Here's how to find your shared wallet's recovery phrase in the Bitcoin.com Wallet:
Method 1:
From the home screen, tap on the shared wallet.
Tap the menu button in the top right.
Select "Show my recovery phrase."
Method 2:
Tap the settings icon at the bottom left.
Select "Backup & security."
Select "Manual backup."
Choose the wallet you want to show the recovery phrase for (Eg. My Family Shared Wallet).