BIP 84
Derivation scheme for P2WPKH based accounts
Original title: Derivation scheme for P2WPKH based accounts
- Status
- Deployed
- Type / Layer
- Specification / Applications
- Author
- Pavol Rusnak
- Assigned
- Status verified
- Source
- github.com/bitcoin/bips/blob/master/bip-0084.mediawiki
Summary
Defines the derivation scheme for HD wallets that use native SegWit addresses (P2WPKH). It reuses the five-level path of BIP44 and changes only purpose, to 84'. The resulting outputs have a scriptPubKey consisting of a 0 followed by the 20-byte key hash, and addresses are encoded with BIP173 bech32, beginning with "bc1q". Unlike BIP49, which nests the witness program inside P2SH, the witness program sits directly in the output, so none of the nesting data is required and transactions are smaller. The reason for a distinct purpose is the same as before: only wallets implementing this scheme detect these accounts, so importing the seed into an incompatible wallet fails visibly — the account is not found — rather than showing a partial balance. Extended keys are assigned their own version bytes, written as zpub / zprv on mainnet.
Why it matters
It is the derivation scheme most modern wallets adopt as their default for receiving, and the origin of addresses beginning with "bc1q". Together with BIP32's derivation tree, BIP39's recovery phrase and BIP173's address encoding, it is what makes the now-ordinary experience possible: one seed regenerates the everyday receiving account.
Related BIPs
- BIP 32 — Hierarchical Deterministic Wallets
- BIP 44 — Multi-Account Hierarchy for Deterministic Wallets
- BIP 49 — Derivation scheme for P2WPKH-nested-in-P2SH based accounts
- BIP 86 — Key Derivation for Single Key P2TR Outputs
- BIP 141 — Segregated Witness (Consensus layer)
- BIP 173 — Base32 address format for native v0-16 witness outputs
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.