5

I come to you a little bit desperate, hoping for a clue to move forward.

Long ago, I created 3 seed phrases, and then made a 2 of 3 multisig wallet with these 3. I did all of this using Cold Cards

For each, I engraved metal plates with the seed phrase, derivation path, fingerprint and zpub.

I tested each of the 3 and restored them to validate I had enough information to access my funds from each individual wallet.

In addition, I used the 3 plates to restore the entire multisig wallet and validated I could access my funds from the multisig wallet too.

I stored each of the three plates in a different location, as conventional wisdom dictates. This means that I can secure the other two in the event that any one is compromised.

Unfortunately the worst has happened and one of my sites was ransacked during a time period in which I could not access it due to travel restrictions. This is a hard lesson learned. Fortunately (I thought) I still have access to the other 2 seed phrases and respective details.

So I immediately retrieved the other 2 seed phrases and began to attempt to restore them.

As I previously validated, I can access each of the 2 wallets using their seed phrases. However, I cannot access the majority of my funds as during the software wallet setup stage (Sparrow wallet, but I have since tried countless others) it asks me for the zpub of all 3 seed phrases to generate the watch only multisig wallet.

As such here I am, with 2 of my 3 seed phrases, unable to access my funds.

Is all hope lost? Can anyone help me access my funds?

Cheers

3 Answers 3

4

I think hope is lost, but let's give it a try...

You mentioned, you created all of this using coldcards. As coldcard is a stateful wallet, meaning each device itself needs the full multisig-wallet information (derivations, fingerprints, xpubs) for it to sign a multisig-transaction, maybe the full public key information is still saved on one of the coldcards?

How did you coordinate the multisig-wallet in the first place?

If you, at the time, followed coldcards tutorial there should've been a step where you handed the multisig-wallet information to each of the devices (by passing the SD card around). This is also true for software wallets (although not every software wallet has a prompt to do that...).

GL

2
  • Also, if you delete files off of an SD card, the files can possibly be recovered if a new files hasn't been written over the location it was saved. Immediately stop using the SD card and try a data recover tool such as cgsecurity.org/wiki/TestDisk Using the disk increases the probability that you corrupted the deleted file (especially writing to the disk).
    – Brandon
    Feb 1, 2022 at 8:14
  • Thanks for adding your answer, that's a great idea.
    – Murch
    Feb 1, 2022 at 15:28
3

Unfortunately, you need two private keys to spend but all three public keys to recreate the redeemscripts of the addresses. Unless you have a way to find out the third public key, you will not be able to spend.

2
  • I don't get it: more than just two private keys are needed to spend from a 2-of-3 wallet?? Did the OP, Ben, mention that he did something different from standard multisig wallet creation that needed more than 2 of 3 keys to recover? You say, "you need two private keys to spend..." but then you also say you also need a third public key to spend. Why does Ben need a "redeem script"?
    – zylstra
    May 15 at 0:56
  • @zylstra: Yes, you need all the public keys in order to reconstruct the redeemScript or witnessScript you need to show and satisfy in the input. The output script only contains the hash hash of that script. If you do not know one of the public keys, you generally cannot produce the script, since it is infeasible to guess the preimage of a hash. See also: bitcoin.stackexchange.com/q/119686/5406
    – Murch
    2 days ago
0

If you have reused addresses (spending from an address at least once and then later receiving more to the same address), then you can find those balances because input scripts will reveal all 3 public keys of the individual address.

To recover, you must figure out how to:

  1. Scan the blockchain for these addresses. You need to:
    1. Download the entire blockchain
    2. Use your 2 xpubs to create a list of individual public keys
    3. Filter all transactions for inputs whose input script (specifically, redeem script) pattern-matches any of the public keys
  2. Figure out how to construct a TX using the 2-of-3 P2SH multisig, then sign using the 2 keys you have.

Or, if you already know some addresses that were used before (like an address from some exchange's which you can find in your exchange history), just go and check them on a block explorer, if the address was spent from at least once, you can recover any balances still on it.

I'm not aware of any software that would let you do this easily. Good luck!

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