Why does BIP32 use the derivation path m/0'/0'/k' by default? What is the significance of this particular path, and why not just use m/k' or m/k directly?

1 Answer 1


The tree structure is used for organizing the keys you generate. Its just a suggested way to do it. The first number is the account, in this case account 0 (the default account). This let's you support multiple separate accounts with keys of their own. Then you have the chain, either 0 or 1. 0 is the external keypair chain, and is used for generating new public addresses. 1 is the internal keychain and is used for things like change addresses - the addresses you don't give out to people (hence 'internal'). Finally the k is obviously used to generate the k-th keypair for account and keychain you've picked.

  • Thank you for your response. One query : Why we need chain? What is chain? and why it is either 0 or 1 only? It has 2 Billion possibility No? Same as Account. Commented Jul 13, 2017 at 9:24
  • 1
    As I said, chain is used to separate the external keypairs from those used internally. Account is just to organise different keys if you have different accounts or use-cases or whatever, I think its kind of self explanatory. This is just a suggested structure, you can choose your own way to organise keys if you want to, but having a guideline is best for compatibility between implementations Commented Jul 13, 2017 at 9:33

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.