6

I'd like to create a multi-sig wallet where I can freely create transactions, but I want to give keys to trusted friends/family + a safety deposit box so that if I hit my head and forget my password, or I die, then the trusted people can recover my coins.

Is this something Bitcoin currently supports or plans to support?

2 Answers 2

6

Yes, this is possible. You can construct a script such as:

OP_IF
    <key1>
    OP_CHECKSIG
OP_ELSE
    OP_3
    <key2>
    <key3>
    <key4>
    <key5>
    <key6>
    OP_5
    OP_CHECKMULTISIG
OP_ENDIF

This will allow key1 to freely spend the coins, but if a signature from key1 is not present it also allows any 3 of the keys2-6 to spend the coins.

4
  • Awesome! Are there any wallets that support creating a structure like that?
    – B T
    Aug 5, 2019 at 1:09
  • Not to myknowledge - this is fairly non-standard, so you would likely have to script something yourself Aug 5, 2019 at 1:24
  • what does the OP_5 do here?
    – Antoni
    Dec 12, 2021 at 11:23
  • the OP_IF cant do anything because the stack is empty
    – Antoni
    Dec 12, 2021 at 19:25
2

You can try to miniscript compiler http://bitcoin.sipa.be/miniscript/ with the policy or(pk(K1),thresh(3,pk(K2),pk(K3),pk(K4),pk(K5),pk(K6))) to get a corresponding Script.

However, to the best of my knowledge there are no user-friendly wallets supporting this as of now. But there is work being done on trying to get Miniscript into bitcoin core that can allow signing for such complex scripts generically.

Disclaimer: I am one of the people working on Miniscript project.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.