In Bip44 "Account Discovery" section, there is following sentence:

We scan just the external chains, because internal chains receive only coins that come from the associated external chains. (https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#address-gap-limit)

I do not understand it. If I do not scan internal chain, how will I find the change addresses? Yes, change address will exist in transaction output of public (external) addresses, but I can not find out which output address is change address as it can be real receiver address. Thanks for help.

1 Answer 1


In terms of "Accounts discovery" algorithm, it is not needed to get internal addresses. We just sequentially take receiver addresses of an account and check whether one of them was used in any transaction. Literally: we get a transaction and check whether receiver address is in the set of target addresses of looking transaction.

This is so because if there is a change address in the transaction then there is a receiver address mandatory. It allows us to skip checking of change addresses for this task.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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