BIP 32 — Hierarchical Deterministic Wallets

Participants: Pieter Wuille

BIP 32: Hierarchical Deterministic Wallets

Author: Pieter Wuille Status: Final Type: Standards Track Created: 2012-02-11

Abstract

BIP 32 describes hierarchical deterministic wallets (HD wallets), which allow a tree of key pairs to be computed from a single seed value using a deterministic algorithm. Users only need to back up this single seed to recover all their keys.

Motivation

Before HD wallets, Bitcoin wallets generated random key pairs independently. This meant:

  • Users needed to back up after generating every new address
  • Key pools could be exhausted, leading to potential fund loss
  • No structured way to organize keys for different purposes

Key Concepts

Master Key Generation: A single 128-256 bit seed is used with HMAC-SHA512 to generate a master private key and master chain code.

Child Key Derivation: From any parent key, child keys can be derived using:

  • Normal derivation — child public keys can be computed from parent public key
  • Hardened derivation — requires parent private key, providing additional security isolation

Key Path Notation: Keys are identified by derivation paths like m/0'/1/2, where m is the master key and each number represents a child index.

Significance

BIP 32 is arguably one of the most important BIPs ever written. It became the foundation of modern Bitcoin wallet architecture and was extended by:

  • BIP 39 — Mnemonic seed phrases (human-readable backup)
  • BIP 43 — Purpose field for multi-account structure
  • BIP 44 — Multi-account hierarchy for deterministic wallets

Nearly every modern Bitcoin wallet uses HD key derivation based on BIP 32.