When reading the BIP 44 proposal I stumbled upon this paragraph about address discovery:

We scan just the external chains, because internal chains receive only coins that come from the associated external chains.

Is it really enough to scan only the external addresses to recover the full transaction history? What if you are using the same wallet simultaneously on another device and it makes a new transaction using the internal (i.e. change) addresses as the only inputs?

Imagine having a new empty wallet and receiving 1 BTC to your first external address and making a 0.01 BTC transaction to somebody else subsequenly. The remaining 0.99 BTC (minus fee) would be sent to your first change address and subsequent transactions to other wallets could and would use as inputs only change addresses, so scanning the history of your external addresses when rcovering the wallet from zero would reveal only the first and second transaction you made with the wallet, not the subsequent ones.

Is it perhaps enforced to include an external address as a change address in the transaction if all the inputs are internal? What am I missing there?


I got it - the paragraph in the BIP 44 proposal I referenced is about "Account discovery" - i.e. discovering whether an account was used at all. It's not about used addresses discovery within the account which is another thing of course, and it apparently requires scanning the change addresses as well, given the example in the question. So I just misunderstood it.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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