Title: Alternative methods to transfer BTC from an old Coinbase multisig Vault Post by: markantoine on January 20, 2023, 07:39:07 PM Issue: I am trying to access funds I had stored in a legacy Coinbase Vault 2/3 multisig wallet using the Coinbase multisig recovery tool (https://coinbase.github.io/multisig-tool/) . I have all of the necessary information to access the wallet, including the Coinbase xpubkey, the Shared xpubkey and the User xpubkey. Additionally, I have both the User seed and the Shared seed (encrypted) including the password.
However, I am encountering an issue with the recovery tool whereby the Vault wallet balance is not displaying upon entering in the xpubkeys in Step 1. Upon further research, it appears that there is an issue with the recovery tool referencing a Bitpay API endpoint that is no longer active. As such, the Coinbase multisig recovery tool is no longer functional. For reference, see the Reddit post and Bitcointalk forum post I'm referring to. Note, that I am experiencing the same issue described in the Reddit post (i.e. I have all of the necessary information to access the vault wallet). 1. https://www.reddit.com/r/BitcoinBeginners/comments/ndvhom/coinbase_multisig_vault_recovery_tool_wtf/ 2. https://bitcointalk.org/index.php?topic=5316286.0 Therefore, my question is, what are some other alternative methods to access the funds in my legacy Coinbase Vault 2/3 multisig wallet? Note, that the options should be prioritized in terms of technical complexity, with less technical methods preferred. Thanks Title: Re: Alternative methods to transfer BTC from an old Coinbase multisig Vault Post by: o_e_l_e_o on January 21, 2023, 03:47:50 PM I remember trying to help the user in that quoted thread at the time. If I remember correctly, he told me in another thread that his encrypted shared seed began with the characters "6P". Is this the case for you? Two additional questions regarding your user seed. Does it start with "5", "K" or "L", and is it 51 or 52 characters long?
If the answer to all those questions is yes, then it should be fairly easy to recover your vault in a wallet such as Electrum. If not, then we'll need to figure out exactly what format your two seeds are taking. Title: Re: Alternative methods to transfer BTC from an old Coinbase multisig Vault Post by: dkbit98 on January 21, 2023, 07:53:22 PM Therefore, my question is, what are some other alternative methods to access the funds in my legacy Coinbase Vault 2/3 multisig wallet? Note, that the options should be prioritized in terms of technical complexity, with less technical methods preferred. Have you by any chance tried contacting Coinbase exchange and BitPay support for help?Coinbase probably removed all vaults since 2018 but I see they still have page about that multisig vault available on their website, so they could help you to overcome unavailable Bitpay API. https://www.coinbase.com/blog/multisig-vaults-on-coinbase You can also download files and tried doing everything locally instead web tool, just follow this instructions: https://github.com/coinbase/multisig-tool Title: Re: Alternative methods to transfer BTC from an old Coinbase multisig Vault Post by: markantoine on January 24, 2023, 05:21:07 AM I remember trying to help the user in that quoted thread at the time. If I remember correctly, he told me in another thread that his encrypted shared seed began with the characters "6P". Is this the case for you? Two additional questions regarding your user seed. Does it start with "5", "K" or "L", and is it 51 or 52 characters long? If the answer to all those questions is yes, then it should be fairly easy to recover your vault in a wallet such as Electrum. If not, then we'll need to figure out exactly what format your two seeds are taking. 1. To your first question, yes, the encrypted shared seed begins with the characters "6P". 2. To your second question, the user seed begins with the character "L" and it is 52 characters long. I greatly appreciate your help. Title: Re: Alternative methods to transfer BTC from an old Coinbase multisig Vault Post by: markantoine on January 24, 2023, 05:27:30 AM Therefore, my question is, what are some other alternative methods to access the funds in my legacy Coinbase Vault 2/3 multisig wallet? Note, that the options should be prioritized in terms of technical complexity, with less technical methods preferred. Have you by any chance tried contacting Coinbase exchange and BitPay support for help?Coinbase probably removed all vaults since 2018 but I see they still have page about that multisig vault available on their website, so they could help you to overcome unavailable Bitpay API. https://www.coinbase.com/blog/multisig-vaults-on-coinbase You can also download files and tried doing everything locally instead web tool, just follow this instructions: https://github.com/coinbase/multisig-tool Yes, I tried contacting support but they were unable to provide any help, they simply just referred me to the 2018 Coinbase blog re: discontinuing support for the multisig vault tool. And I'm fairly certain the issue has to do with the Bitpay Insights api endpoint referenced in the code--as it appears to no longer be maintained (i.e. SSL handshake error). As such, I would prefer to access the funds using a regular wallet application vs. potentially running into issues trying to fix the code in the Coinbase recovery tool myself. Title: Re: Alternative methods to transfer BTC from an old Coinbase multisig Vault Post by: o_e_l_e_o on January 24, 2023, 09:59:05 AM 1. To your first question, yes, the encrypted shared seed begins with the characters "6P". Great. I think this should be relative straightforward then, although since I've never used Coinbase vaults myself I can't confirm for certain.2. To your second question, the user seed begins with the character "L" and it is 52 characters long. Your key which starts with "L" and is 52 characters long is a compressed private key in the wallet import format (WIF). Your encrypted shared seed which begins with 6P is an encrypted private key which uses the BIP38 standard. All BIP38 encrypted keys start with 6P. When you decrypt this with your password, it should (hopefully) provide you with a second key which mirrors your other one - starting with "L" and 52 characters long. The combination of these two private keys alongside the third Coinbase public key should be enough to recover your wallet. We might hit a stumbling block regarding individual addresses or derivation paths, but we can cross that bridge when we get to it. Next question: What format is the Coinbase public key in? Does it start with something like "xpub" or does it start with "02", "03", or "04"? For the next steps, you are going to need to start importing these keys in to a wallet or other software. Doing this on a computer with internet access brings risk of your keys being compromised. Do you have a spare computer or laptop which you can disconnect and do the next steps offline? Title: Re: Alternative methods to transfer BTC from an old Coinbase multisig Vault Post by: Pmalek on January 24, 2023, 05:26:39 PM For the next steps, you are going to need to start importing these keys in to a wallet or other software. Doing this on a computer with internet access brings risk of your keys being compromised. Do you have a spare computer or laptop which you can disconnect and do the next steps offline? That would be the best, but OP shouldn't reconnect that other device to the internet until (hopefully) the coins have been recovered and moved elsewhere. Alternatively, a Live OS could be used and booted from USB. But the Live OS shouldn't save anything to a local storage to prevent leakage. Title: Re: Alternative methods to transfer BTC from an old Coinbase multisig Vault Post by: markantoine on January 25, 2023, 06:00:26 AM 1. To your first question, yes, the encrypted shared seed begins with the characters "6P". Great. I think this should be relative straightforward then, although since I've never used Coinbase vaults myself I can't confirm for certain.2. To your second question, the user seed begins with the character "L" and it is 52 characters long. Your key which starts with "L" and is 52 characters long is a compressed private key in the wallet import format (WIF). Your encrypted shared seed which begins with 6P is an encrypted private key which uses the BIP38 standard. All BIP38 encrypted keys start with 6P. When you decrypt this with your password, it should (hopefully) provide you with a second key which mirrors your other one - starting with "L" and 52 characters long. The combination of these two private keys alongside the third Coinbase public key should be enough to recover your wallet. We might hit a stumbling block regarding individual addresses or derivation paths, but we can cross that bridge when we get to it. Next question: What format is the Coinbase public key in? Does it start with something like "xpub" or does it start with "02", "03", or "04"? For the next steps, you are going to need to start importing these keys in to a wallet or other software. Doing this on a computer with internet access brings risk of your keys being compromised. Do you have a spare computer or laptop which you can disconnect and do the next steps offline? 1. To your first question, the Coinbase public key begins with the characters "xpub" 2. To your second question, yes I do have a spare laptop I can use. Additionally, if it is of help, see below the vault Coinbase multisig vault wallet configuration information below. Multisig P2SH addresses: BIP16 HD wallets: BIP32 Seed format: Bitcoin private key in WIF Seed encryption: BIP 38 Seed to BIP32 wallet: BitcoinJS Order of pubkeys in P2SH: lexicographical BIP32 paths: m/n (m/0, m/1, ...) Title: Re: Alternative methods to transfer BTC from an old Coinbase multisig Vault Post by: o_e_l_e_o on January 25, 2023, 09:24:59 AM Ok. This is where things unfortunately are going to get rather complicated. Looking in to it a bit more, it appears that Coinbase don't just use the WIFs they give as normal WIFs like any other wallet does to generate a single private key. Instead, they use the WIFs to generate a seed to then generate a master private key. This is a very weird way of doing things and I'm not aware of any other wallet or service which does this.
You have two option. The first is more secure but much more complicated. It will involve your airgapped computer, installing Linux, installing various Python tools, using those tools to decrypt your BIP38 encrypted key, and then following the instructions here (https://bitcoin.stackexchange.com/a/57215) (with a little modification) to generate your two xprvs, before using those two xprvs and your other xpub to recreate your vault in a wallet such as Electrum. The second option is far easier, but not as secure. There is a fork of Coinbase's vault tool here (https://github.com/dlajarretie/multisig-tool) which replaces the now defunct BitPay API with BlockCypher's API which is still working just fine. However, I've never used this myself so cannot vouch for it. I've skimmed the code and it looks fine, but you will still be importing all your private keys on to an online computer with internet access, which is always a risk. Title: Re: Alternative methods to transfer BTC from an old Coinbase multisig Vault Post by: markantoine on January 26, 2023, 08:58:13 PM Ok. This is where things unfortunately are going to get rather complicated. Looking in to it a bit more, it appears that Coinbase don't just use the WIFs they give as normal WIFs like any other wallet does to generate a single private key. Instead, they use the WIFs to generate a seed to then generate a master private key. This is a very weird way of doing things and I'm not aware of any other wallet or service which does this. You have two option. The first is more secure but much more complicated. It will involve your airgapped computer, installing Linux, installing various Python tools, using those tools to decrypt your BIP38 encrypted key, and then following the instructions here (https://bitcoin.stackexchange.com/a/57215) (with a little modification) to generate your two xprvs, before using those two xprvs and your other xpub to recreate your vault in a wallet such as Electrum. The second option is far easier, but not as secure. There is a fork of Coinbase's vault tool here (https://github.com/dlajarretie/multisig-tool) which replaces the now defunct BitPay API with BlockCypher's API which is still working just fine. However, I've never used this myself so cannot vouch for it. I've skimmed the code and it looks fine, but you will still be importing all your private keys on to an online computer with internet access, which is always a risk. I'm open to trying the Python script approach. Regarding the modification you mentioned, are you simply referring to replacing the USER_PUB and USER_SEED values in the script? Assuming the case, then I feel reasonably confident with the first approach. In any case, I'll try the first approach and let you know whether I'm able to successfully restore the wallet using Electrum afterwards. Title: Re: Alternative methods to transfer BTC from an old Coinbase multisig Vault Post by: DaveF on January 26, 2023, 11:15:53 PM Ok. This is where things unfortunately are going to get rather complicated. Looking in to it a bit more, it appears that Coinbase don't just use the WIFs they give as normal WIFs like any other wallet does to generate a single private key. Instead, they use the WIFs to generate a seed to then generate a master private key. This is a very weird way of doing things and I'm not aware of any other wallet or service which does this. You have two option. The first is more secure but much more complicated. It will involve your airgapped computer, installing Linux, installing various Python tools, using those tools to decrypt your BIP38 encrypted key, and then following the instructions here (https://bitcoin.stackexchange.com/a/57215) (with a little modification) to generate your two xprvs, before using those two xprvs and your other xpub to recreate your vault in a wallet such as Electrum. The second option is far easier, but not as secure. There is a fork of Coinbase's vault tool here (https://github.com/dlajarretie/multisig-tool) which replaces the now defunct BitPay API with BlockCypher's API which is still working just fine. However, I've never used this myself so cannot vouch for it. I've skimmed the code and it looks fine, but you will still be importing all your private keys on to an online computer with internet access, which is always a risk. Not really from what they say in the readme Quote Internet connection is only required in Step 1, where you input the public keys, so that we can fetch the unspent outputs from your vault addresses. Before inputting your keys in Step 2 and signing the transaction you can safely go offline. In Step 3 you will get a signed transaction in raw hex form. You never have to go online with your public keys. You can do what you have to do online and then that machine never has to see the internet ever again. A live CD will work fine. There are even tools to read what the transaction says without going back online. Might work a bit better. Cannot vouch for any of it working since like you have not used it. -Dave Title: Re: Alternative methods to transfer BTC from an old Coinbase multisig Vault Post by: Pmalek on January 28, 2023, 07:34:56 AM Quote Internet connection is only required in Step 1, where you input the public keys, so that we can fetch the unspent outputs from your vault addresses. Before inputting your keys in Step 2 and signing the transaction you can safely go offline. In Step 3 you will get a signed transaction in raw hex form. You never have to go online with your Title: Re: Alternative methods to transfer BTC from an old Coinbase multisig Vault Post by: o_e_l_e_o on January 28, 2023, 09:36:38 AM I'm open to trying the Python script approach. Regarding the modification you mentioned, are you simply referring to replacing the USER_PUB and USER_SEED values in the script? Assuming the case, then I feel reasonably confident with the first approach. In any case, I'll try the first approach and let you know whether I'm able to successfully restore the wallet using Electrum afterwards. Not quite. The code that Andrew Chow has given there is in direct response to the user wanting to derive the individual private keys at index 14. You probably don't want individual keys like this and instead just want the master private keys which will let you recreate the entire vault alongside your already known master public keys.So yes, change USER_SEED and USER_PUB to your own values. You can then run the code as is, but it will output an extended private key at index 14 and a WIF key that you don't want. Make sure you use the keys it will give you entitled "Master Private Key corresponding to seed" and "Master Public Key corresponding to seed". Alternatively, just miss out the bottom two lines (print "Extended Private... and print "WIF format...). Not really from what they say in the readme Ahh well spotted. Still a risk if you simply turn off your internet on your main OS for a short period though. OP should use a live OS instead, as you say.Title: Re: Alternative methods to transfer BTC from an old Coinbase multisig Vault Post by: markantoine on February 07, 2023, 06:02:01 AM I tried running the modified script that Andrew Chow posted, however, it appears that the pybitcointools library has been deprecated.
Edit: I was able to successfully recover the funds from my old Coinbase multisig vault using the forked Coinbase tool (for anyone's reference: https://github.com/dlajarretie/multisig-tool) Thanks again for your help through all this, o_e_l_e_o Title: Re: Alternative methods to transfer BTC from an old Coinbase multisig Vault Post by: o_e_l_e_o on February 07, 2023, 12:54:03 PM Thanks again for your help through all this, o_e_l_e_o That's great news, and more than happy to have helped. Thanks also for updating us with your solution so we can refer anyone else in the future to the same solution.For future reference, pybitcointools has a number of still maintained forks. Title: Re: Alternative methods to transfer BTC from an old Coinbase multisig Vault Post by: DaveF on February 07, 2023, 01:14:29 PM @gmaxwell and @achow101 since this and a few other issues keep coming up again and again for the same wallets / services do you think a sticky post would be good?
i.e. for conbase multisig vault look here for old multibit look there and so on. I have the link to this post saved but 18 months from now and I'm sure others do to now. But 18 months from now we as a group may or may not remember it. Just a thought. OP glad to see you got your BTC. -Dave |