Pages:
Author

Topic: Can't access my money because of the derivation path - page 3. (Read 739 times)

member
Activity: 76
Merit: 35
What if he does this:

1. creates a watching-only wallet with the interested address
2. selects the address with the money and sets up a payment transaction toward an address that he controls
3. saves the transaction to a .psbt file
4. open a new wallet with his seed
5. load the transaction from the file, sign it and broadcast it


Would it work? Even if the address does not show in the wallet, that's the private key so it should still sign the transaction without any issue, right?
member
Activity: 76
Merit: 35
And here coinbase wallet says that they change the addresses after transactions so that you never use the same address twice https://help.coinbase.com/en/coinbase/privacy-and-security/data-privacy/why-did-my-wallet-address-change
That help page is talking about Coinbase exchange accounts, and not about the Coinbase Wallet app, which are two different things.

With his public key I can see these addresses and his transactions, but not the one he wants.
Try changing that derivation path to m/0, m/2, m/3, etc., and seeing if anything shows up. Note that if the derivation path does follow BIP84 as it seems to from HCP's screenshots above, then you won't be able to find the address with only the master public key due to the hardened derivation.

How can he give me a Xpub and a Ypub, so that I can scan them also on that website?
xpubs and ypubs will not generate "bc1" addresses by default without some tinkering, and I would suspect it is highly unlikely that Coinbase will have done something non-standard like this. If you really want to look at them too, then your friend will need to import his seed in to Electrum, and select either "legacy (p2pkh)" for the xpub or "p2sh-segwit (p2wpkh-p2sh)" for the ypub on the wallet creation screen.

Mmh, interesting. I will make him open a new wallet with electrum using the legacy or p2sh-segwit option then. Although I doubt that's going to do anything given that the address with the money starts with bc1 so it should be segwit.



I really don't understand why he has TWO zpubs... he should only have one...

It's ridiculous, why would the derivation path change? I understand the address but the derivation path too?
I doubt that it has changed... what you are seeing is the "change" addresses from his wallet...

When you send Bitcoin, you often end up with change (read here to understand why)... HD wallets adhering to the BIP44 spec generate a separate group of addresses for this purpose... as per the derivation path format:
Code:
m / purpose' / coin_type' / account' / [b]change[/b] / address_index

Because of the way Electrum works, when you put the seed in, it actually derives the master private and public keys at the account level... and stores those in the wallet file. So it's basically "hiding" the m/84'/0'/0' part from you... and you need to use the m/0/x and m/1/y paths to find the receive and change addresses, respectively.

That fact that you can see "used" addresses on the m/1/0 path, indicates that the address you have found is a "change" address... you should be able to see other active addresses on the same public key using m/0/0


Having said that... something seems REALLY off here:


That is technically a "change" address, but the sending address in the transaction that it received coins from is an old Legacy address... so... either:

1. The Coinbase Wallet App is setup to ALWAYS use SegWit change addresses (regardless of sending address type)
or
2. The Coinbase Wallet App gave out a "change" address as a receive address


Can you ask your friend if he recognises either of the "1" addresses in this transaction: https://www.blockchain.com/btc/tx/ac14d45dfa3bfdc5ab026643ab214d2821fe245b401ace85fe01d29583285735

15FfborJuBXicY93ymX9QPf9nrQ6mHeH3k
and
1JuYbj6L8UCtBF5cJHFPaNb3kJEJcPXN8h

Are either of these addresses his? or does he remember receiving from 15FfborJuBXicY93ymX9QPf9nrQ6mHeH3k or sending to 1JuYbj6L8UCtBF5cJHFPaNb3kJEJcPXN8h? Huh

He gave me 2 different zpub public keys because I made him open different wallets on electrum trying to manually change the derivation path with some that I found online.
Now I'll ask him to open a legacy wallet too, maybe that's the issue, no idea.
I'll ask him your question regarding those 2 addresses as well. Thanks
HCP
legendary
Activity: 2086
Merit: 4363
I really don't understand why he has TWO zpubs... he should only have one...

It's ridiculous, why would the derivation path change? I understand the address but the derivation path too?
I doubt that it has changed... what you are seeing is the "change" addresses from his wallet...

When you send Bitcoin, you often end up with change (read here to understand why)... HD wallets adhering to the BIP44 spec generate a separate group of addresses for this purpose... as per the derivation path format:
Code:
m / purpose' / coin_type' / account' / [b]change[/b] / address_index

Because of the way Electrum works, when you put the seed in, it actually derives the master private and public keys at the account level... and stores those in the wallet file. So it's basically "hiding" the m/84'/0'/0' part from you... and you need to use the m/0/x and m/1/y paths to find the receive and change addresses, respectively.

That fact that you can see "used" addresses on the m/1/0 path, indicates that the address you have found is a "change" address... you should be able to see other active addresses on the same public key using m/0/0


Having said that... something seems REALLY off here:


That is technically a "change" address, but the sending address in the transaction that it received coins from is an old Legacy address... so... either:

1. The Coinbase Wallet App is setup to ALWAYS use SegWit change addresses (regardless of sending address type)
or
2. The Coinbase Wallet App gave out a "change" address as a receive address


Can you ask your friend if he recognises either of the "1" addresses in this transaction: https://www.blockchain.com/btc/tx/ac14d45dfa3bfdc5ab026643ab214d2821fe245b401ace85fe01d29583285735

15FfborJuBXicY93ymX9QPf9nrQ6mHeH3k
and
1JuYbj6L8UCtBF5cJHFPaNb3kJEJcPXN8h

Are either of these addresses his? or does he remember receiving from 15FfborJuBXicY93ymX9QPf9nrQ6mHeH3k or sending to 1JuYbj6L8UCtBF5cJHFPaNb3kJEJcPXN8h? Huh
legendary
Activity: 2268
Merit: 18771
And here coinbase wallet says that they change the addresses after transactions so that you never use the same address twice https://help.coinbase.com/en/coinbase/privacy-and-security/data-privacy/why-did-my-wallet-address-change
That help page is talking about Coinbase exchange accounts, and not about the Coinbase Wallet app, which are two different things.

With his public key I can see these addresses and his transactions, but not the one he wants.
Try changing that derivation path to m/0, m/2, m/3, etc., and seeing if anything shows up. Note that if the derivation path does follow BIP84 as it seems to from HCP's screenshots above, then you won't be able to find the address with only the master public key due to the hardened derivation.

How can he give me a Xpub and a Ypub, so that I can scan them also on that website?
xpubs and ypubs will not generate "bc1" addresses by default without some tinkering, and I would suspect it is highly unlikely that Coinbase will have done something non-standard like this. If you really want to look at them too, then your friend will need to import his seed in to Electrum, and select either "legacy (p2pkh)" for the xpub or "p2sh-segwit (p2wpkh-p2sh)" for the ypub on the wallet creation screen.
member
Activity: 76
Merit: 35
He has given me 2 different Zpub public keys, from electrum.

How can he give me a Xpub and a Ypub, so that I can scan them also on that website?
member
Activity: 76
Merit: 35
Yes indeed, it doesn't make any sense. It should show period.
The only possible explanation that I can suppose is that the coibase wallet shows you the same addresses because you tried it with an empty wallet, whereas his was full. And here coinbase wallet says that they change the addresses after transactions so that you never use the same address twice https://help.coinbase.com/en/coinbase/privacy-and-security/data-privacy/why-did-my-wallet-address-change

So maybe coinbase wallet changed his address given that it was already used.

Anyways he said that he's giving me the seed in a week if coinbase doesn't fix this.


With his public key I can see these addresses and his transactions, but not the one he wants.
It's ridiculous, why would the derivation path change? I understand the address but the derivation path too?

legendary
Activity: 2618
Merit: 6452
Self-proclaimed Genius
-snip-
Didn't work, all addresses are empty and that specific one doesn't show up.
HCP tried it and it worked, I have also done the same steps and it worked.
If you're sure that it restored the same username as the one he had set in the original wallet (used username can't be set to another wallet),
then the only way to resolve this is to wait for their response to your customer support inquiry because the backup should've restored the address using native SegWit's default derivation path.

There's also a chance that there's a corruption happened and that's out of their support's scope.

Or, is you "friend" your friend or another party of a deal?

Have you tried to tell your friend to access it through the browser and access it directly to coinbase.com?
"Coinbase App" and "Coinbase Wallet App" are two different applications. (weird naming system right?)
The former can be used in conjunction with the webpage, but the latter is a non-custodial wallet. (info)
HCP
legendary
Activity: 2086
Merit: 4363
I've tested this with the "Coinbase Wallet App"... created a "new" wallet... got the following seed:
Code:
river company grow smart ticket purity jeans south embark they cream atom

This gave me the following address in coinbase: bc1q4hjyxu8vnrqqeygz0laj4h4492je4qd6s5sdux


I then tried the seed mnemonic in both IanColeman's:






and in Electrum:





I also uninstaled/wiped the app and restore the wallet in that as well, and all 3 wallets yielded the correct addresses:








So, it is very strange that your friend has been unable to recover their wallet from the seed mnemonic. The only possibility I can think of, is that they have restored with a different seed mnemonic than the one they were using previously... however, coinbase assigns the username to the seed mnemonic somehow (I assume by attaching the username to the Master Public Key), so if you wipe the app and restore from your seed mnemonic, it will automatically reassign you the old username (ie. if you use my seed mnemonic above to restore a Coinbase wallet, it should give you the username @bct_test).

So, if the @ghfcvvhh username that it is showing when he restored the wallet in the coinbase app is identical to his previous username, then it should be the same seed mnemonic with the same addresses. Huh Huh Huh
legendary
Activity: 3472
Merit: 3217
Playbet.io - Crypto Casino and Sportsbook
Have you tried to tell your friend to access it through the browser and access it directly to coinbase.com?

If not, try it first you must see all of your wallet with balances if he is using a mobile you can use the built-in browser or chrome browser to access the coinbase.com and login there.

This is the only thing that I think will work if the above suggestion does not work because I have wallet created on apps before and I can also access it through their web version with history including the other wallet generated from Coinbase app(Much better try it on the PC/Laptop).
member
Activity: 180
Merit: 38
m/84'/0'/0' == bip84 == bc1 == zpub

If you have the keys you do not need any coinbase wallet at all.
You can import them into any application that is able to handle the protocol and your friends funds will be spendable immediately.

Hey by the way what do you mean with bip84? When he made the wallet and writes the seed in electrum (12 words), you can't click next. So I told him to press the option button and select bip39 so that he could click next (and also because as far as I know the seed phrase is taken from the bip39 list).
Could this bip84/bip39 be the issue???

Bip39 is related to the Mnemonic Phrase see:
https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki

Bip84 to the derrivation path see:
https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki

You can use this page also https://iancoleman.io/bip39/

If you want to import Bip39 seed into electrum you have to specify this in the options because it is not a default input.
member
Activity: 76
Merit: 35
m/84'/0'/0' == bip84 == bc1 == zpub

If you have the keys you do not need any coinbase wallet at all.
You can import them into any application that is able to handle the protocol and your friends funds will be spendable immediately.

Hey by the way what do you mean with bip84? When he made the wallet and writes the seed in electrum (12 words), you can't click next. So I told him to press the option button and select bip39 so that he could click next (and also because as far as I know the seed phrase is taken from the bip39 list).
Could this bip84/bip39 be the issue???
member
Activity: 76
Merit: 35
m/84'/0'/0' == bip84 == bc1 == zpub

If you have the keys you do not need any coinbase wallet at all.
You can import them into any application that is able to handle the protocol and your friends funds will be spendable immediately.

But he tried atomic wallet, exodus, and electrum. With electrum he even tried different derivation path.
These wallets only show him empty addresses.
member
Activity: 76
Merit: 35
He gave me 2 different public keys when we were trying different kinds of derivation paths. (is this normal)?
There is only one master public key per derivation path, so he must have given you keys from two different derivation paths.

I mean with it you can only watch all his transactions right? Nobody can enter a wallet with a public keys as far as I know.
That's correct, unless he also accidentally reveals a private key. The combination of a master public key and a private key is enough to completely empty his wallet.

The address that I found starts with bc1 and he does recognize the transaction. It's this one.
It seems like that is a good starting point to go from them. What was the derivation path you used to find the address involved in that transaction?

I have uploaded the image of that address. The derivation path is m/0
member
Activity: 180
Merit: 38
m/84'/0'/0' == bip84 == bc1 == zpub

If you have the keys you do not need any coinbase wallet at all.
You can import them into any application that is able to handle the protocol and your friends funds will be spendable immediately.
legendary
Activity: 2268
Merit: 18771
He gave me 2 different public keys when we were trying different kinds of derivation paths. (is this normal)?
There is only one master public key per derivation path, so he must have given you keys from two different derivation paths.

I mean with it you can only watch all his transactions right? Nobody can enter a wallet with a public keys as far as I know.
That's correct, unless he also accidentally reveals a private key. The combination of a master public key and a private key is enough to completely empty his wallet.

The address that I found starts with bc1 and he does recognize the transaction. It's this one.
It seems like that is a good starting point to go from them. What was the derivation path you used to find the address involved in that transaction?
member
Activity: 76
Merit: 35
The username is irrelevant - it is an unique feature of Coinbase's wallet and is used by Coinbase to let you send funds to other Coinbase wallet users and invade your privacy. It is unrelated to either the seed phrase or the addresses.

The public key he gave you - what letter did it start with? x, y, or z?

The transaction that you found - what letter or number did the associated address start with? Does he recognize the transaction? Did he make it?

He gave me 2 different public keys when we were trying different kinds of derivation paths. (is this normal)?
They both start with zpub.
If you want I can give it to you. I mean with it you can only watch all his transactions right? Nobody can enter a wallet with a public keys as far as I know.
Plus once he gets access to this address with the money I already told him to move everything out of coinbase.

The address that I found starts with bc1 and he does recognize the transaction. It's this one.

https://i.imgur.com/6EtoM6L.jpg

It may be important to state: when I searched the first public key he gave me, this site found no used addresses.
When he gave me the second one, the site found this one that I posted.


legendary
Activity: 2268
Merit: 18771
The username is irrelevant - it is an unique feature of Coinbase's wallet and is used by Coinbase to let you send funds to other Coinbase wallet users and invade your privacy. It is unrelated to either the seed phrase or the addresses.

The public key he gave you - what letter did it start with? x, y, or z?

The transaction that you found - what letter or number did the associated address start with? Does he recognize the transaction? Did he make it?
member
Activity: 76
Merit: 35
This is the address that received the fund

https://i.imgur.com/NRhWOPK.jpg

This is the username he had on coinbase wallet

https://i.imgur.com/xjpKL1z.jpg

This is the screen he got when he logged back into the app. The transactions were gone and the funds too, because the coinbase wallet gave him other addresses and for whatever reason the address with the money doesn't show anywhere
https://i.imgur.com/UUJuiIi.jpg
legendary
Activity: 2268
Merit: 18771
Are the incorrect addresses you are generating starting with "bc1" or with something else?

If you are sure the seed phrase is correct (and there is no passphrase associated with the above address, but I don't think Coinbase wallet even offers this), then your options are either to share the zpub with someone you think can help (being aware of the privacy implications of this), or simply wait for Coinbase to respond.

Is the seed you are using backed up from the old Coinbase wallet before he uninstalled it, or from the fresh install?
member
Activity: 76
Merit: 35
If nc50lc's suggestions don't work, then rather than just trying trial and error to stumble on the correct derivation path you would be better off contacting Coinbase through their support pages and asking specifically for the derivation path which leads to that address. You can find their support pages here: https://help.coinbase.com/en/contact-us.html

I also found this issue on Electrum's GitHub (https://github.com/spesmilo/electrum/issues/6015), where the user said they imported a Coinbase phrase and recovered the SegWit addresses without issue. I would make sure you selected "native segwit" as opposed to manually changing the derivation path. Did the incorrect addresses you generated in Electrum start with "bc1"?

He's already contacted coinbase. They asked him for the txid but they said they'll reply within 5-7 days.
Pages:
Jump to: