Skip to content

BIP44 - Multi-Account Hierarchy for Deterministic Wallets

BIP44 (Bitcoin Improvement Proposal 44) is one of the Bitcoin improvement proposals, put forward by Marek Palatinus and Pavol Rusnak in 2014. BIP44 builds on the BIP32 hierarchical deterministic wallet standard to define a standardized multi-currency, multi-account key derivation path structure, enabling different wallet software to manage multiple cryptocurrencies in a unified manner.

Core Concept

BIP44 solves the problem of inconsistent path structures in BIP32. While BIP32 defines how to derive keys, it does not specify a concrete path structure. BIP44 provides a standardized five-level path structure so that all compatible wallets can organize keys in the same way.

Standard Path Structure

The path format defined by BIP44 is:

m / purpose' / coin_type' / account' / change / address_index

Detailed Level Descriptions

1. Purpose Level

  • Fixed value: 44'
  • Indicates compliance with the BIP44 standard
  • Uses hardened derivation
  • Other standards use different values:
  • BIP49 (P2WPKH-nested-in-P2SH) uses 49'
  • BIP84 (native SegWit) uses 84'
  • BIP86 (Taproot) uses 86'

2. Coin Type Level

  • Uses hardened derivation
  • Assigns a unique numeric identifier to each cryptocurrency
  • Common coin type codes:
  • Bitcoin (BTC): 0'
  • Bitcoin Testnet: 1'
  • Litecoin (LTC): 2'
  • Dogecoin (DOGE): 3'
  • Ethereum (ETH): 60'
  • Cosmos (ATOM): 118'
  • Full list available at SLIP-0044

3. Account Level

  • Uses hardened derivation
  • Increments starting from 0'
  • Allows users to create logically independent accounts for different purposes
  • For example:
  • 0': Personal main account
  • 1': Work account
  • 2': Savings account

4. Change Level

  • Uses normal derivation (non-hardened)
  • Only two values:
  • 0: External chain (receiving addresses, publicly shared)
  • 1: Internal chain (change addresses, used internally)
  • This distinction aids privacy protection and account management

5. Address Index Level

  • Uses normal derivation (non-hardened)
  • Increments starting from 0
  • Theoretically can generate 2^31 addresses
  • Used sequentially for easy wallet scanning and recovery

Path Examples

Bitcoin Addresses

m/44'/0'/0'/0/0  -> First Bitcoin receiving address
m/44'/0'/0'/0/1  -> Second Bitcoin receiving address
m/44'/0'/0'/1/0  -> First Bitcoin change address
m/44'/0'/1'/0/0  -> First receiving address of the second account

Ethereum Addresses

m/44'/60'/0'/0/0  -> First Ethereum address
m/44'/60'/0'/0/1  -> Second Ethereum address

Multi-Currency Wallet

m/44'/0'/0'/0/0   -> Bitcoin address
m/44'/2'/0'/0/0   -> Litecoin address
m/44'/60'/0'/0/0  -> Ethereum address
m/44'/118'/0'/0/0 -> Cosmos address

Technical Advantages

1. Multi-Currency Support

Users can manage multiple cryptocurrencies with the same mnemonic phrase, without needing to create a separate wallet for each currency.

2. Multi-Account Management

Supports creating multiple logical accounts under a single currency for categorized fund management: - Personal/business account separation - Fund isolation for different projects or purposes - Simplified accounting and auditing

3. Privacy Protection

By distinguishing between receiving addresses and change addresses: - Improves transaction privacy - Avoids address reuse - Reduces the risk of address correlation analysis

4. Wallet Interoperability

Standardized paths mean: - Different wallet software can be mutually compatible - Users can freely switch wallets without losing assets - Hardware wallets and software wallets can work together seamlessly

5. Simplified Backup

Users only need to back up: - One set of mnemonic words (via BIP39) - (Optional) a passphrase to recover all accounts across all currencies

Relationship with Other BIPs

BIP32

BIP44 is based on BIP32's hierarchical deterministic wallet and uses its defined key derivation algorithm.

BIP39

Commonly used together: 1. BIP39 converts a mnemonic phrase into a seed 2. BIP32 defines the key derivation mechanism 3. BIP44 specifies the concrete path structure

BIP49 and BIP84

  • BIP49: For P2WPKH-nested-in-P2SH (compatibility SegWit) addresses, path uses 49'
  • BIP84: For native SegWit (Bech32) addresses, path uses 84'
  • These are evolutions of BIP44, adapting to new address formats

BIP86

For Taproot (P2TR) addresses, path uses 86', the latest address type.

Practical Applications

Hardware Wallets

All major hardware wallets support BIP44: - Ledger: Supports 100+ currencies - Trezor: Supports multi-currency, multi-account - Coldcard: Bitcoin-focused, fully compatible

Software Wallets

Most modern software wallets implement BIP44: - MetaMask: Ethereum wallet (uses m/44'/60'/0'/0/x) - Trust Wallet: Multi-currency mobile wallet - Exodus: Desktop and mobile multi-currency wallet - Electrum: Bitcoin wallet

Enterprise Applications

Enterprises and exchanges use BIP44 to manage large numbers of addresses: - Generate unique deposit addresses for each user - Use extended public keys to generate new addresses without exposing private keys - Simplify key management for hot and cold wallets

Security Considerations

1. Hardened Derivation

The first three levels (purpose, coin_type, account) use hardened derivation to prevent: - Deriving the parent private key from the extended public key and a child private key - Key correlation between accounts

2. Address Reuse

Although addresses can be reused, it is strongly recommended to: - Use a new address for each transaction - Improve privacy protection - Reduce security risks

3. Gap Limit

Address scanning strategy during wallet recovery: - Typically checks 20 consecutive unused addresses - Gaps in between may cause some funds to go undiscovered - Using addresses sequentially is recommended

4. Mnemonic Security

The BIP44 path itself is public; security depends entirely on: - Confidentiality of the mnemonic phrase - Strength of the optional passphrase - Good key storage practices

Account Discovery

Account discovery algorithm during wallet recovery:

  1. Start from the first account (account 0)
  2. Derive external and internal chains
  3. Check the transaction history for each address
  4. If the entire account is empty (20 consecutive addresses with no transactions), stop scanning
  5. Otherwise continue checking the next account

Extensions and Variants

Single Address Wallets

Some wallets (such as early Ethereum wallets) simplify to single-address mode:

m/44'/60'/0'/0/0  -> Always uses the first address

Custom Paths

Some wallets use non-standard paths: - Ledger Live Ethereum (legacy): m/44'/60'/0' - Ledger Live Ethereum (new): m/44'/60'/x'/0/0 - MEW (MyEtherWallet): m/44'/60'/0'/0

Future Development

  • BIP86: Taproot address support
  • New coin type codes are continuously added
  • More specialized path standards may emerge

Summary

BIP44 makes cryptocurrency wallet key management simple, secure, and interoperable through its standardized path structure. It is the foundation of modern multi-currency wallets, allowing users to securely manage all crypto assets with a single set of mnemonic words.

BIP44's success lies in: - Simplicity: A clear five-level structure that is easy to understand and implement - Flexibility: Supports unlimited currencies, accounts, and addresses - Compatibility: Has become an industry standard with widespread support - Security: Protects critical levels through hardened derivation

For regular users, BIP44 makes wallet backup and recovery simple and reliable; for developers, it provides a clear specification ensuring interoperability between different wallets. This makes BIP44 an indispensable part of cryptocurrency infrastructure.