Skip to main content

Try it Live

Run HDWallet examples in the interactive playground

Overview

Derivation paths define hierarchical routes from master seed to specific keys. BIP-32 defines the structure, BIP-44 standardizes multi-account usage, and SLIP-44 assigns coin types.
Examples:

BIP-32 Path Format

Standard Notation

Components:
  • m: Master key (root)
  • purpose': Use case (44’ = BIP-44, 49’ = SegWit, 84’ = Native SegWit)
  • coin_type': Cryptocurrency (0’ = Bitcoin, 60’ = Ethereum)
  • account': Account number (0’, 1’, 2’, …)
  • change: External (0) or internal/change (1)
  • address_index: Address within account (0, 1, 2, …)
Hardened Notation:
  • ' (apostrophe): Hardened derivation
  • h: Alternative hardened notation (m/44h/60h/0h)

Path Examples

BIP-44 Standard

Hierarchy Levels

Level 1 - Purpose Fixed at 44’ for BIP-44:
Level 2 - Coin Type (SLIP-44)
Level 3 - Account
Level 4 - Change
Level 5 - Address Index

Ethereum Derivation

Bitcoin Derivation

Hardened vs Normal Derivation

Hardened Derivation

Index ≥ 2^31 (0x80000000):

Normal Derivation

Index < 2^31:

Security Implications

Hardened Derivation:
  • Requires private key
  • More secure (leaked child key doesn’t compromise parent)
  • Used for: purpose, coin_type, account
Normal Derivation:
  • Can derive from public key only
  • Allows watch-only wallets
  • Used for: change, address_index

Common Derivation Paths

Ethereum Wallets

MetaMask / Standard:
Ledger Live:
MyEtherWallet (Legacy):

Multi-Coin Wallets

Path Parsing and Validation

Validate Path Format

Parse Index

Check Hardened Path

Advanced Path Patterns

Gap Limit (BIP-44)

Scan for used addresses with gap limit:

Custom Derivation

Deterministic Per-Service Accounts

Path Constants

Best Practices

1. Use Standard Paths
2. Harden Sensitive Levels
3. Document Custom Paths
4. Validate Before Derivation

References