BIP 32
Hierarchical Deterministic Wallets
Original title: Hierarchical Deterministic Wallets
- Status
- Deployed
- Type / Layer
- Informational / Applications
- Author
- Pieter Wuille
- Assigned
- Status verified
- Source
- github.com/bitcoin/bips/blob/master/bip-0032.mediawiki
Summary
Defines hierarchical deterministic ("HD") wallets: a tree of keypairs derived from a single seed. Earlier implementations generated keys at random, so a wallet had to be backed up again every time it consumed keys. BIP32 defines child key derivation functions built on HMAC-SHA512 over an extended key (a private or public key plus a 32-byte chain code), so that keeping the seed is enough to regenerate every key in the tree. Elliptic-curve arithmetic also allows public keys to be derived without the private keys, which enables watch-only sharing: the specification's own example is a web shop whose server generates a fresh receiving address per order while never gaining the ability to spend. Derivation comes in two forms — normal and hardened (index ≥ 2^31) — and the hardened form exists to prevent the failure mode where leaking a parent extended public key together with one child private key would expose the parent private key.
Why it matters
Nearly every wallet in use today stands on this specification. The familiar "one seed is the whole backup" model, hardware-wallet workflows, and watch-only monitoring all follow from this derivation tree. It is used together with BIP39 for seed generation and BIP44 / 49 / 84 / 86 for purpose-specific derivation paths.
Related BIPs
- BIP 39 — Mnemonic code for generating deterministic keys
- BIP 44 — Multi-Account Hierarchy for Deterministic Wallets
- BIP 49 — Derivation scheme for P2WPKH-nested-in-P2SH based accounts
- BIP 84 — Derivation scheme for P2WPKH based accounts
- BIP 86 — Key Derivation for Single Key P2TR Outputs
- BIP 174 — Partially Signed Bitcoin Transaction Format
Related articles
This page carries a summary, not a translation. The original document is authoritative, and the metadata above — including Status — was transcribed from the bips repository on the verification date shown. Always consult the original when implementing or verifying.