Definition
P2WPKH (Pay to Witness Public Key Hash) is the native Segregated Witness equivalent of a legacy P2PKH output, introduced with the 2017 SegWit upgrade. Its addresses are encoded in Bech32 rather than Base58Check, always begin with bc1q on mainnet, and are exactly 42 characters long. P2WPKH is the workhorse single-signature output type for most modern wallets.
How it differs from legacy
The scriptPubKey is minimal: a witness version byte OP_0 followed by the 20-byte public-key hash. The signature and compressed public key needed to spend it live in the transaction's witness field instead of the scriptSig. Because witness data receives a weight discount, spending a P2WPKH output is cheaper than spending the legacy equivalent. Uncompressed public keys are non-standard here, unlike P2PKH.
Practical implications
Native SegWit also fixed third-party transaction malleability, a prerequisite that made the Lightning Network practical. For operators batching withdrawals or consolidating UTXOs, choosing P2WPKH change outputs trims fee overhead across many transactions. Wallets that cannot yet parse Bech32 can fall back to the nested form, at a small fee penalty.
The encoding is detailed under Bech32; the backward-compatible wrapper is Nested SegWit (P2SH-P2WPKH); and the upgrade itself is covered at SegWit.
In Simple Terms
P2WPKH (Pay to Witness Public Key Hash) is the native Segregated Witness equivalent of a legacy P2PKH output, introduced with the 2017 SegWit upgrade. Its…
