![](/assets/images/guide/inheritance-wallet/making-changes/header.jpg)
Making changes
Alice and Bob have been using their savings wallet for a couple of years now and everything has worked smoothly so far. On this page we will take a look at what happens if they need to make changes to their setup. If users are storing bitcoin over a long enough period of time, there are a couple of scenarios that they might run into:
- They need to replace a key that has been lost.
- They want to change the basic wallet configuration.
How it works #
When users need to make changes to their multisig wallet, such as replacing a key or modifying the wallet configuration, the process involves creating a new wallet and transferring funds. Here’s how the process works from Bob’s and Alice’s perspective:
- Bob makes the desired changes, which creates a new wallet
- He shares the new wallet with Alice for setup in her application
- Bob and Alice activate the new wallet on all three primary signing devices
- They save and store the new wallet recovery kit as described in the backup page
- Transfer all funds to the new wallet
- Archive the old wallet to manage any future incoming funds
Replacing David’s signing key #
Let’s assume that David, one of the heirs, has lost his signing device. Fortunately, it is part of the inheritance key set, which is restricted by a timelock, as we have covered here. Although David still has his seed phrase backup, the Joneses decide to replace David’s key as a precautionary measure. They would follow the same approach if David had lost the seed phrase backup or suspected it had been compromised.
Adding the new key #
After David received the new signing device, he exports the extendend public key (XPUB), just like he did during the wallet creation process. He then shares it with his parents via a shared chat on Signal.
The prototype below lets you click through the key replacement flow:
Once he receives David’s XPUB, Bob opens our application and navigates to the wallet settings. On the wallet settings page, Bob goes to the signing keys page. From there, the app guides him through the key replacement flow. It starts with a short explanation dialog that outlines how the process works.
![App home screen showing one wallet.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/app-home-initial.png)
Bob navigates from the home screen to the wallet overview screen.
![Wallet detail screen for the family savings wallet.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/wallet-overview.png)
He taps on the settings icon in the top right corner of the screen.
![Screen showing the settings and options for the family savings wallet.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/wallet-settings.png)
In the wallet settings, he drills into the signing keys section.
![Screen showing a list of all signing keys for the wallet.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/wallet-settings-signing-keys.png)
The app shows a list of all signing keys. Bob taps the “replace” button.
![Screen showing a dialog that explains how the process of replacing keys works.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/replace-keys-dialog.png)
A dialog pops up that explains how the process will work and what needs to be done.
![Screen that lets the user select which keys should be replaced.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/replace-keys-select-keys.png)
Bob selects the key that needs to be replaced.
![Screen that lets the user choose if they want to only replace the selected keys or also the configuration.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/replace-keys-wallet-configuration.png)
The app asks, whether Bob also wants to change the wallet configuration in addition to replacing the key.
![Screen letting the user enter a wallet name.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/replace-keys-wallet-name.png)
Because a new wallet will be created, the app lets Bob change the name of the wallet.
The app then asks which of the keys Bob would like to replace. Bob selects David’s Passport from the list of keys. On the next screen, the app gives Bob the option to change the wallet configuration as well. But he only needs to replace David’s key, so he continues with the same configuration. He does, however, choose a different name for the new wallet.
The next step is to add David’s new extended public key. This works in the same way as during the initial wallet creation. On the wallet review screen, the app indicates that a new signing key has been added. Bob reviews the changes and hits “create wallet.”
![Screen showing a list of five signing keys and one empty slot.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/replace-keys-missing-key.png)
Bob starts adding David’s new key.
![Screen that lets the user enter a name for the new key.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/replace-keys-key-name.png)
David uses his new key with a Jade signing device.
![Screen showing different options to import a key.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/replace-keys-xpub-import-options.png)
Bob chooses to scan the key via a QR code.
![Screen showing an open QR code scanner.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/replace-keys-xpub-import.png)
Bob scans the the extended public key that is displayed on the Jade.
![Screen showing detailed information about the imported signing key.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/replace-keys-xpub-details.png)
Bob makes sure that the key information matches with what is displayed on the Jade.
![Screen showing a list of six signing keys.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/replace-keys-key-added.png)
The new key is now part of the inheritance key set.
![Screen showing the new wallet configuration with an option to view the signing keys.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/replace-keys-review-config.png)
The wallet review screen indicates that there is a new signing key.
![Screen showing the list of signing keys. The newly added key is highlighted.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/replace-keys-review-keys.png)
In the “signing keys” tab, the new key is clearly indicated.
![Success screen showing the option to download the wallet backup kit.](/assets/images/guide/inheritance-wallet/making-changes/key-replacement/replace-keys-success.png)
The wallet has been created.
Cosigner setup, device activation and wallet backup #
The new inheritance wallet is now created. Just like during the initial wallet creation, Alice and Bob now need to:
- Share the wallet configuration with Alice, so that she can set up the wallet on her app
- Activate the new wallet on all of their signing devices
- Save the backup kit for the new wallet
We have covered these topics in the previous pages of this reference design.
Moving funds to the new wallet #
Now that the new wallet is ready, Alice and Bob need to transfer their savings to this new wallet. Again, our app shows this in the form of a reminder.
Bob creates and signs the transaction #
Bob taps on the reminder and initiates the transaction creation process. Because the app is aware of both wallets, it can prefill most of the information in the send flow, such as the recipient address and the transaction amount. After creating the transaction, Bob signs it with his Trezor right away.
![App home screen showing the Inheritance and the Family savings wallets.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/app-home-move-funds.png)
After the “Inheritance” wallet has been backed up, the app shows a new task on the “Family savings” wallet to move the funds.
![Screen of an introductory dialog explaining why the user should move funds to the new wallet.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-dialog.png)
A short dialog pops up that explain why it is necessary to move the funds.
![Screen letting the user enter a payment address.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-recipient.png)
The app prefills the recipient address. It also indicates the destination wallet’s name so Bob can be confident that the destination is right.
![Screen letting the user choose the amount that should be sent.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-amount.png)
Since all funds need to be moved, the app also prefills the amount to be sent to be the full amount.
![Screen lettin the user choose the appropriate transaction fee.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-fees.png)
Bob selects the transaction speed.
![Review screen that shows a summary of the all transaction information. There is an option to create the transaction.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-review.png)
Bob creates the transaction. He could also edit the details without having to go through the entire flow again.
![Screen showing a success dialog that lets the user choose whether they want to sign the transaction now or later.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-transaction-created.png)
The success dialog lets Bob know that the transaction needs to be signed before it is final.
![Screen showing the transaction details. It shows the three keys that can be used to sign the transaction.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-sign-0-signatures.png)
On the transaction detail screen, Bob continues to sign the transaction with his Trezor.
![Placeholder screen representing the transaction signing flow on Bob's hardware wallet.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-sign-bob-flow.png)
The app takes him through the signing flow.
![Screen showing the transaction details. It shows that one of three keys has signed the transaction.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-sign-bob-done.png)
The transaction details screen shows that the first signature has been provided.
![Screen showing a QR code and sharing options.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-share-transaction.png)
Bob shares the partially signed transaction with Alice.
The transaction is now ready for Alice to sign as well. However, there is no central server coordinating or automatically syncing transaction information between Bob and Alice’s devices, because our app aims to work in the most self-custodial way possible.
This means that Bob has to manually share the partially signed bitcoin transaction (PSBT) with Alice. Our app offers a variety of different sharing options. Bob chooses to generate a QR code, so that Alice can scan it conveniently.
Alice co-signs the transaction #
Alice opens the wallet app on her phone, selects the family savings wallet and hits send. In the send sheet she taps “sign transaction” and uses the QR scanner to import the partially signed transaction from Bob’s phone.
![App home screen showing that a transaction is ready to be signed for the family savings wallet.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-sign-alice-home.png)
Alice’s app shows that a transaction is ready to be signed.
![Wallet detail screen for the family savings wallet.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-sign-alice-wallet-overview.png)
Alic taps the pay button on the wallet overview screen.
![Dialog showing three different payment options.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-sign-alice-payment-sheet.png)
She selects sign transaction from the options.
![Screen showing different options for how to import a transaction.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-sign-alice-import-options.png)
Alice chooses the scan QR code option.
![QR code scanning screen.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-sign-alice-import-scan.png)
Alice scans the QR code from Bob’s phone.
![Screen showing the transaction details. It shows that one of three keys has already signed the transaction.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-sign-alice-initial.png)
Alice goes on to use her BitBox to provide the second signature.
![Placeholder screen representing the transaction signing flow on Alice's hardware wallet.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-sign-alice-flow.png)
The app takes her through the signing flow.
![Success screen showing that the transaction has been finalized.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-success.png)
With Alice’s signature the required threshold has been reached and the transaction is finalized.
![App home screen showing a pending transaction from the family savings to the inheritance wallet.](/assets/images/guide/inheritance-wallet/making-changes/fund-transfer/move-funds-transaction-pending.png)
Back on the home screen, the transaction is shown until it is confirmed by the network.
Once imported, Alice’s app displays the transaction details, showing that it has been signed by Bob and requires her signature to complete. Alice reviews the transaction details and initiates the signing process.
After she completes the signing flow with her BitBox, the app automatically broadcasts the fully signed transaction to the Bitcoin network. If she would like to have more control and broadcast transactions manually, Alice could change this behavior in the app settings.
Back on the home screen, Alice sees that the transaction is being confirmed by the network. After it has been confirmed, the app shows a reminder that the original wallet should be archived.
Archiving the old wallet #
Archiving unused wallets removes complexity and helps users focus on the wallets they actively use. Archiving a wallet does not delete it from the app. It is only removed from the home screen and from the wallets tab.
The app will still monitor the bitcoin blockchain for incoming transactions. If there are any, they are shown on the home screen and in the wallets tab. Users can then transfer the funds to a wallet that they actively use. This is why it is important to keep the backup kit and at least one of the primary keys of every wallet.
![Home screen showing the inheritance wallet and the family savings wallet. It also shows a task to archive the family savings wallet.](/assets/images/guide/inheritance-wallet/making-changes/archive-wallet/archive-home.png)
The home screen shows a task to archive the now empty wallet.
![Screen showing an information dialog that explains how archiving a wallet works.](/assets/images/guide/inheritance-wallet/making-changes/archive-wallet/archive-dialog.png)
It is important to explain what archiving means and that users should always keep their backups of the old wallet as well as of their keys.
![Screen showing a success dialog.](/assets/images/guide/inheritance-wallet/making-changes/archive-wallet/archive-success.png)
The success dialog explains where archived wallets can be accessed.
![Home screen showing only the inheritance wallet.](/assets/images/guide/inheritance-wallet/making-changes/archive-wallet/archive-done.png)
The home screen now only shows the actively used wallet.
Alternative approach #
As you can see, making changes to a multi-key wallet can be a tedious process. An alternative to replacing David’s key would be for David to simply import the backup of his existing private key into a new signing device. This approach has some advantages:
- Simplicity: It doesn’t require creating a new wallet or moving funds, which incurs transaction fees.
- Convenience: Other family members wouldn’t need to be involved in the process
However, there are also significant downsides:
- Security risk: If the original device was stolen rather than just lost, the thief might eventually gain access to the private key, putting the funds at risk
- Potential compromise: If there’s any chance the seed phrase backup was exposed or compromised, using it again could jeopardize the wallet’s security
In a multi-key setup, a single compromised key doesn’t immediately put the funds at risk because multiple keys are required to authorize a transaction. In addition to that, the inheritance key set is protected by the timelocks that Alice and Bob have put in place. However, it does reduce the overall security of the wallet.
Changing the wallet configuration #
If the Joneses would want to change only the wallet configuration the process would be the same. In the example below, Bob changes the activation timelock for the recovery path and the inheritance key set from 6 months to 12 months. After the new wallet is created, the process will be the same as described above.
![Home screen showing one wallet.](/assets/images/guide/inheritance-wallet/making-changes/config-changes/app-home-initial.png)
Bob navigates from the home screen to the wallet overview screen.
![Wallet detail screen for the family savings wallet.](/assets/images/guide/inheritance-wallet/making-changes/config-changes/wallet-overview.png)
He taps on the settings icon in the top right corner of the screen.
![Screen showing the settings and options for the family savings wallet.](/assets/images/guide/inheritance-wallet/making-changes/config-changes/wallet-settings.png)
From the wallet settings he goes to the wallet configuration screen.
![Screen showing the wallet configuration with an option to edit it.](/assets/images/guide/inheritance-wallet/making-changes/config-changes/wallet-settings-config.png)
The app shows an option to edit the wallet configuration.
![Screen showing an information dialog that explains how the process of editing a wallet works.](/assets/images/guide/inheritance-wallet/making-changes/config-changes/change-config-dialog.png)
The dialog clearly outlines how the process works and what comes after making the changes.
![Screen letting users choose from different wallet templates.](/assets/images/guide/inheritance-wallet/making-changes/config-changes/change-config-wallet-type.png)
The app prefills the selection from the current configuration.
![Screen showing an enabled recovery path.](/assets/images/guide/inheritance-wallet/making-changes/config-changes/change-config-recovery-path.png)
Bob wants to edit the timelock for the recovery path.
![Screen showing a dialog that lets users edit the unlock time for the recovery path. It is set to 6 months.](/assets/images/guide/inheritance-wallet/making-changes/config-changes/change-config-recovery-path-initial.png)
The current configuration is preselected.
![Screen showing a dialog that lets users edit the unlock delay for the recovery path. It is set to 12 months.](/assets/images/guide/inheritance-wallet/making-changes/config-changes/change-config-recovery-path-changed.png)
Bob changes the timelock to 12 months and saves the changes.
![Screen showing an enabled recovery path.](/assets/images/guide/inheritance-wallet/making-changes/config-changes/change-config-recovery-path-done.png)
The timelock is updated on the recovery path overview screen.
![Screen that lets users define, when the inheritance key set should be unlocked.](/assets/images/guide/inheritance-wallet/making-changes/config-changes/creation-inheritance-done.png)
Bob changes the timelock for the inheritance key set from 6 to 12 months.
![Screen showing the new wallet configuration. The changes that have been made are highlighted.](/assets/images/guide/inheritance-wallet/making-changes/config-changes/change-config-recovery-review.png)
The review screen clearly indicates the changes that Bob has made.
![Success screen showing the option to download the wallet backup kit.](/assets/images/guide/inheritance-wallet/making-changes/config-changes/change-config-success.png)
The new wallet has been created and added to the home screen.