Hi all! I made a post a few months ago titled “Can we make 2-of-3 multisigs a better user experience?” (#389403). In summary, I found it frustrating and confusing as a user to learn that 2 seed phrases wasn’t actually enough to recover a 2-of-3 multisig. Without the descriptor, containing all three extended public keys, the funds can’t be accessed. This requirement is not intuitive and runs counter to the “2-of-3” moniker, which implies that 2 seed phrases should be enough.
The lack of a standard way to back up a multisig descriptor puts users’ funds at risk and makes inheritance more challenging that it needs to be. Expensive tools like SeedHammer exist to try to solve this problem, by splitting the descriptor into shares and inscribing those shares onto steel, but this isn’t the best user experience, and at $600 a piece, this isn’t practical for most users.
I built this tool as a way for me to easily encrypt and inscribe my 2-of-3 descriptor on Bitcoin, so I can always recover it with 2 seeds. All sensitive data in a
k-of-n
descriptor (master fingerprints, xpubs) is stripped from the descriptor and encrypted such that it can’t be decrypted without k
xpubs.To recover, the user simply inputs two master fingerprints, which are hashed and used to find the encrypted descriptor onchain. An open source indexer makes this near instantaneous. Once the user has the encrypted descriptor, they use the derivation paths in the descriptor template to derive
k
xpubs, decrypt the encrypted data, and reassemble the original descriptor.The cost of using this tool on a 2-of-3 descriptor is the same as inscribing about 0.5kb of data, which is about 400vb or 2000 sats at 5 sats/vb (~$2 at current prices). Even at higher fee rates, I think this is a no-brainer for anyone storing a significant amount in a conventional multisig, especially if you don't want to rely on a third party like Unchained, Casa, or Nunchuk to store your descriptor.
Try it out at multisigbackup.com and let me know what you think! Appreciate any and all feedback.
Source code:
https://github.com/joshdoman/multisig-backup
https://github.com/joshdoman/multisig-recovery (indexer)