Skip to content

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

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.

Read the original on bitcoin/bips