P2WPKH (Pay to Witness Public Key Hash)
A native SegWit single-sig format (often bech32 bc1q...) that lowers fees and prevents signature malleability.
P2WPKH - "Pay to Witness Public Key Hash" - is the native SegWit version of P2PKH. It's the single-signature address format that became standard after SegWit activated in 2017. Addresses start with bc1q (e.g. bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq).
Functionally identical to P2PKH: lock to a 20-byte public-key hash, unlock with a public key + signature. What changes is where the signature lives.
In SegWit, the unlocking data (the "witness") is separated from the main transaction body. This has two practical consequences:
- Smaller effective fee. Witness data counts at 1/4 the weight of non-witness data. A typical P2WPKH spend costs ~40% less in fees than the equivalent P2PKH spend.
- No transaction malleability. The txid is computed over the non-witness part only. The signature can't be tweaked after broadcast to change the txid. This is what made Lightning practically deployable.
P2WPKH was the dominant new-receive format from 2018 through ~2023. As of 2026, many wallets have shifted defaults again toward P2TR (Taproot, bc1p...) for further fee savings and privacy. P2WPKH remains fully supported, cheaper than P2PKH/P2SH, and a perfectly good choice for everyday use.
Like P2PKH, P2WPKH provides defense-in-depth against post-quantum threats: the public key is hashed in the address and only revealed at spend time. Single-use P2WPKH addresses are quantum-safe today; reused ones are not, because the spending witness contains the raw public key and every subsequent deposit inherits that exposure.
Key takeaways
- A witness version for single key/sig with better fee efficiency
- Removes signature data from the main block, cutting malleability
- Encouraged as a standard for modern wallets over legacy addresses