bitpay / wallet

Bitpay Wallet (formerly Copay) is a secure Bitcoin and other crypto currencies wallet platform for both desktop and mobile devices.
http://bitpay.com/wallet
MIT License
3.79k stars 1.74k forks source link

How to get private key #5859

Closed Holonato closed 6 years ago

Holonato commented 7 years ago

Hello I installed Copay Wallet on my desktop (pc+windows) months ago and it works perfectly well till now. I recently contributed to an ICO and private key is required to get my new coins. I don't know how to get it. On the top of that, I have no memory of having setted a 12 words pass phrase and I clearly won't be able to remind it if ever it is required to get my private key. Could you help me please. ?

JDonadio commented 7 years ago

Can you please tell us what version of Copay are you running so we can guide you to backup your wallet?

If you want to receive funds just provide an address and not your private key. Anyone that has access to your private key has access to your funds as well.

matiu commented 7 years ago

Please note that in general you dont need to give your private key to anyone. Just send them a transactions with the amount they ask...

Holonato commented 7 years ago

Hello, thanks for your warning, I have no intention to communicate my private key and I made transaction trough public address. It is said I need my private key to get my aeons (cf. https://wallet.aeternity.com/) I just have been dumb not reading the warning about having access to private key to complete the process (wich is still unclear to me). Anyway my copay version is 2.4.0. thx for help.

gabrielbazan7 commented 7 years ago

Go to Settings -> Wallets -> Choose your wallet -> More Options -> Export Wallet -> File/Text -> Set up a password -> Download



Then, go to https://bitwiseshiftleft.github.io/sjcl/demo/. 
 Open your file and copy the whole text. 
Paste the text in Ciphertext text area. 
 Enter your password on the Password input. (that password is the one that you enter in Copay)
 Then click in decrypt. 

In the Plaintext text area you could find the xPrivKey.

All of my steps assume that the computer is offline, each site can be used offline on Tails for more security.

Holonato commented 7 years ago

Worked perfectly well thx!

seekr commented 7 years ago

Hi @Holonato @gabrielbazan7,

I'm in a similar situation with MaidSafe tokens, I need a private key to the address I used to store those tokens but the resulting xPrivKey didn't work on OmniWallet (which requireds hex, b64 wif, compressed wif) but using walletPrivKey it seem to have imported another address which is not even on the Copay list of addresses associated with that wallet.

Can you help me understand whats going on? How can I regain control of the maidsafe tokens?

dabura667 commented 7 years ago

@seekr You need to derive the private key(s) from the xprv using BIP32.

https://bip32jp.github.io/english/ You can go here and paste your xprv key into the BIP32 Extended Key area.

Then scroll down to Derivation Path and choose "BIP44 ... (receiving) ..." and change your keypair index to match the address you need.

The "Private Key (WIF)" is what you want.

pablolarrimbe commented 7 years ago

@JDonadio Javier, what would the process be like for a multi-sig wallet? I wanna make sure I can access the private keys of this wallet too. The above instructions worked perfectly fine for my personal wallet but not a multi-sig one. This a 2-2 wallet and I have both 12 seed phrases.

JDonadio commented 7 years ago

You have to do the same process for wallet A and B that make up the multisig.

pablolarrimbe commented 7 years ago

Right, but from the two individual private keys, is there a way to obtain a unique private key for that 3x address? May be my question doesn't make sense as I'm not familiar with the internals of multisigs.

dabura667 commented 7 years ago

No. There is no "unique private key for multisig addresses."

You export key 1 of phrase A and key 1 of phrase B, and if your multisig is a 2 of 3 then you already have two private keys so all you need is the redeemscript which you can derive from the xpubs in any one of the wallet backup files. But the question "ok, then how to I make the redeemscript? ok then how do I sign the transaction? ok how do I ...?" is going to be endless. Copay already has a multisig recovery tool available that can recover funds if copay ever disappeared.

ahmedibrahemue commented 7 years ago

I have the same problem .. now i have a multisign 2-2 bitcoin wallet and i want to export addresses private keys to import them in a new BCH wallet .. i can't do this because the bitcore wallet client generate a dat wallet file with only wallet private key and public key .. howver i have a full node installed!! how i can go to https://bip32jp.github.io/english/ and generate first private key then second private key and after this how i will import private key in the BCH wallet?!

sulliwane commented 7 years ago

@gabrielbazan7 following your instructions, I could export from copay and decrypt it, so now I have a json with many fields.

using electrum wallet, if i create a wallet with "import from key" option, using the value of the field "xPrivKey", it creates a wallet with a 0 balance....!!

However, if I create from the "xPubKey" field, electrum shows my BTC balance correctly...

Any idea of the problem with this private key (field "xPrivKey") ? Isn't it the "master private key" ?

Many thanks!

Kidsnd274 commented 7 years ago

Having the same issue. It seems Copay uses some sort of 1-1 multisig wallet (i'm not sure) and I am having a hard time importing to Electrum

vinicius03 commented 7 years ago

Having the same issue as well, my wallet was created on v1.1.2, I got the xPrivKey by using the sjcl tool, but when using the http://bip32.org/ to derivate my addresses / keys it does not give me the correct addresses / privkeys although I'm using the m/45'/2147483647/0/i

isocolsky commented 7 years ago

Has this been resolved? @seekr @samuelt33 @vinicius03 @sulliwane @Ahmed18

vinicius03 commented 7 years ago

Not for me @isocolsky, seams like there's no way to use the existing tools to derivate the address / keys pairs with the BIP45 derivation paths, the addresses does not match.

isocolsky commented 7 years ago

@vinicius03 have you tried deriving m/45' and see if it matches the XPubKey?

jancervinka commented 7 years ago

@sulliwane After having the same problem I was able to import the wallet by using the seed phrase. Selected: I already have a seed -> Options -> Checked BIP39 seed -> entered 12 word seed -> got the full balance and could spend it I hope that helps.

vinicius03 commented 7 years ago

Hi @isocolsky, I'm using the http://bip32.org/ tool and custom path from m/45'/2147483647/0/1, the first address for example, does not match with the first address in my wallet, I used this tool to recover all my addresses: https://mybitprices.info/hd-wallet-addrs.html

isocolsky commented 7 years ago

@vinicius03 could you try with just m/45' and see if the resulting extended public key (Derived Public Key field on bip32.org) matches the XPubKey field in the decrypted Copay export?

vinicius03 commented 7 years ago

Thanks for your repply @isocolsky, With just m/45', It doesn't match, but it's weird that it matches with the XPubKey with my decrypted export when I use the full path (m/45'/2147483647/0/i), but the address shown is completely different, when I import this private key into a new wallet it displays the resulting address on bip32 tool and 0 balance, It seams like there's something wrong on the tool when generating the resulting address and the real private key, or maybe this legacy wallet version was using something different to generate the address / privkeys pairs.

isocolsky commented 7 years ago

Addresses for that version of Copay used to be P2SH IIRC, they start with a '3' as opposed to P2PKH addresses which start with a '1'. If your addresses start with a 3, please try using this tool to generate the first address: https://bitcore.io/playground/#/multisig

vinicius03 commented 7 years ago

Yes @isocolsky, using this tool the first private key matches with the first address and all sequential ones, question now is, how to use this private key to sign a withdraw transaction (it seams like there's no other compatible wallet as far as I tested), or even better, how to sign the transaction into the Bitcoin Cash network?

bereska commented 7 years ago

a similar problem with a shared 2-2 mulisig Copay wallet. Namely two wallets: one on Mac the other on iPhone with shared balance. I have tried to import seeds from to Electron Cash wallet to claim my BCH but no dice. How can i access my BCH?

isocolsky commented 7 years ago

We are working on releasing an upgrade to the Wallet recovery tool to allow moving out all BCH from Copay & BitPay App wallets. There is no ETA yet but a beta release should be available soon. Will keep you posted.

bereska commented 7 years ago

thank you, isocolsky

LeaTex commented 7 years ago

@isocolsky I have the same problem. Traying to restore a seed (spanish words) in Electrum wallet shows 0 Btc balances, and the addresses are different.

I use bip32.org to put my seed and derivation path (m/44'/0'/0') as I see in Copay but the resulting extended public key is not the same.

Kidsnd274 commented 7 years ago

@LeaTex @isocolsky . I think I have found the solution. I managed to do it using this site. https://iancoleman.github.io/bip39/ It converted my seed to the private key but I used the Account Extended Private Key, the part where it says "The account extended keys can be used for importing to most BIP44 compatible wallets, such as mycelium or electrum."

The generated public key in Electrum matches my public key in Copay and I have access to my balance.

LeaTex commented 7 years ago

Thank's @samuelt33 it worked for me.

My problem was de BIP39 passphrase. The option to use it was not so clear in Electrum wallet and I didn't know where to write it.

After try with the @iancoleman tool I note this.

ryanpamplin commented 7 years ago

Here are detailed directions on how to get your Bitcoin Cash from any wallet: https://www.reddit.com/r/Bitcoin/comments/6rvykc/super_easy_way_to_get_your_bitcoin_cash_from_12/

zobroj commented 7 years ago

For anyone trying to recover a CoPay multisignature wallet to Electron-Cash (or Electrum for that matter), you can derive the private keys in this way:

  1. Export the wallet from the CoPay app
  2. Decrypt the file with https://bitwiseshiftleft.github.io/sjcl/demo/
  3. Derive the BIP32 Extended Private Key with https://iancoleman.github.io/bip39/ a. Copy and paste the "xPrivKey" from the decrypted Copay backup to the "BIP32 Root Key" field* b. In the Derivation Path section, ensure that BIP44 tab is selected c. Observe that the Account Extended Public Key should match the "xPubKey" in the decrypted Copay backup d. The Account Extended Private Key can now be imported into Electron-Cash wallet e. Repeat for all other keys in your multi-sig wallet setup

Here we use the Root Key because the private keys may have been encrypted with a spending password, making the seed words useless. Also, the https://bitpay.github.io/copay-recovery/ tool did not work for me.

jason0027 commented 6 years ago

Anyone can help me to get master xprv for bitgo i have private keys of admin account but user side i cant transfere bitcoins using admin password they need master xprv in order to resert password so stressed users need their coins

emekacollins commented 6 years ago

Helo.. Good day, am trying to get my tokens from NVO ico and they request I use my wallet private key to sweep the address. Have tried severally but it's not working, please I really need assistance. Thanks

dabura667 commented 6 years ago

NVO ico is a scam that steals private keys.

emekacollins commented 6 years ago

Thanks dabura, how do I claim my token from counterwallet

raheeb123 commented 6 years ago

hello guys, i have an issue with dogecoin. i downloaded the android app from dogecoin.com and created an address using it and received coins.. it appears on the chain but not in the app.. i tried to re-sync the app with the network and back up the wallet.. my question is, is there anyway to get the privatekey of the address using the backup file, XPUB or using any other way??

RichardJECooke commented 6 years ago

Isn't @gabrielbazan7 advice to go to https://bitwiseshiftleft.github.io/sjcl/demo/ extremely dangerous?

You're giving a website on the Internet your Bitcoin keys, so they can just take your funds. Even if they don't save your data now, if they are ever hacked everyone who follows this advice would lose their entire Bitcoin savings.

Please explain how I'm wrong.

zobroj commented 6 years ago

All of my steps assume that the computer is offline, each site can be used offline on Tails for more security. Guess I should have mentioned that^^

priyankppsspp commented 6 years ago

Hello sir, i have blockchain wallet and i use it many time but now i lose my address private key. I can recover my private key??

gabrielbazan7 commented 6 years ago

HI ! It is now possible to access the xPriv key from settings. Settings -> choose the wallet -> More Options -> Wallet Information -> Extended Private Key. So there is no need to use any external site.

ubuntuser11 commented 6 years ago

Hi @dabura667 @seekr

@seekr did you solve this maidsafe problem? I in the similar situation with MAIDSAFE I see the MAIDSAFE balance in omniwallet watch-only public address but Im not finding the private key to import to the omniwallet. Hi @dabura667 please tell me, you say in the reply to @seekr "Then scroll down to Derivation Path and choose "BIP44 ... (receiving) ..." and change your keypair index to match the address you need." What do you mean the "change the keypair index to match the address you need"? What information do I put in "Keypair Index (I)" field? Thank you very much for the help.

paydiamond commented 6 years ago

I have a blockchain watch only wallet, and I can seems to do withdraw because a private key was attached to so I don't know if any body can can show me on how to get the private key.

BGalliotti commented 6 years ago

@paydiamond it is now possible to access the xPriv key from settings. Settings -> choose the wallet -> More Options -> Wallet Information -> Extended Private Key