I always wondered why BIP44 HD wallet differentiate between internal change addresses (m/44'/0'/0'/1/*) and external receiving (m/44'/0'/0'/0/*)? Why do some wallets advice me not using internal address to receive funds? It seems to me superfluous complexity.


Why do some wallets advice me not using internal address to receive funds?

From this article on HD Wallets

Then we have the chain node, derived to a path of either 0 or 1. 0 is the external key pair chain, and is used for generating new public addresses. 1 is the internal keychain and is used for things like change addresses (in Bitcoin every transaction must have an address to send the excess funds to. The “change” of the transaction)...It’s because this is a derivation path that’s been formally agreed upon by the different crypto communities. This is significant because if I wanted to, I could create my own tree following any made up standard I want and create and sign valid transactions from the public/private keys. But could any other wallet ever regenerate that structure? What happens if my app goes off the market? The user’s money is locked into a completely arbitrary private/public key tree. Not the best situation to be in. Therefore, we hold on to these artifacts of the past because an extra derivation or two is a small price to pay for consensus.

TLDR: It is for organizational purposes. Wallet developers follow BIP44's derivation path regardless of currency for consensus reasons. It doesn't make a lot of sense for Ethereum HD wallets to utilize the account field since addresses are already accounts in ethereum, but some wallets do.


There is some explanation at this answer.

TLDR; The change is for a sender not a receiver. Internal and external addresses are not necessarily handled the same in all parts of the software.

  • I get that wallets implementing BIP44 may treat internal addresses differently now. But what I wanted to understand is which particular ideas are behind the concept. I understand any other field in BIP44 specification. The only thing that makes sense a bit, is it makes account analysis simpler as it is more clear which money 'flew into wallet'. – jakob May 13 '18 at 9:08

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.