Cardano Improvement Proposals

CIP 1852 - HD (Hierarchy for Deterministic) Wallets for Cardano



Cardano extends the BIP44 by adding new chains used for different purposes. This document outlines how key derivation is done and acts as a registry for different chains used by Cardano wallets.


Derivation style

Cardano does not use BIP32 but actually uses BIP32-Ed25519. The -Ed25519 suffix is often dropped in practice (ex: we say the Byron release of Cardano supports BIP44 but in reality this is BIP44-Ed25519).

The Byron implementation of Cardano uses purpose = 44' (note: this was already a slight abuse of notation because Cardano implements BIP44-Ed25519 and not standard BIP44).

There are two (incompatible) implementations of BIP32-Ed25519 in Cardano:

1) HD Random (notably used initially in Daedalus) 2) HD Sequential (notably used initially in Icarus)

The difference is explained in more detail in CIP3


For Cardano, we use a new purpose field 1852' instead of 44' like in BIP44. There are three main reasons for this:

1) During the Byron-era, 44' was used. Since Byron wallets use a different algorithm for generating addresses from public keys, using a different purpose type allows software to easily know which address generation algorithm given just the derivation path (ex: given m / 44' / 1815' / 0' / 0 / 0, wallet software would know to handle this as a Byron-era wallet and not a Shelley-era wallet). 2) Using a new purpose helps bring attention to the fact Cardano is using BIP32-Ed25519 and not standard BIP32. 3) Using a new purpose allows us to extend this registry to include more Cardano-specific functionality in the future

1852 was chosen as it is the year of death of Ada Lovelace (following the fact that the coin_type value for Cardano is 1815 for her year of birth)


Using 1852' as the purpose field, we defined the following derivation path

m / purpose' / coin_type' / account' / chain / address_index

Example: m / 1852' / 1815' / 0' / 0 / 0

Here, chain can be the following

Name Value Description
External chain 0 Same as defined in BIP44
Internal chain 1 Same as defined in BIP44
Staking Key 2 See CIP11

Wallets MUST implement this new scheme using the master node derivation algorithm from Icarus with sequential addressing (see CIP3 for more information)

This CIP is licensed under CC-BY-4.0