segregated witness – Is a P2WPKH address synonymous with a Bech32 address?

P2WPKH and bech32 are not quite synonymous.

Native segwit describes a type of output schema in which the scriptPubKey (the “locking script”) is composed of a witness version and a witness program. P2WPKH is a native segwit v0 output type.

Bech32 refers to an encoding scheme and an address format to represent a recipient’s scriptPubKey in out-of-band communication.

We use “bech32 addresses” to instruct spenders to create “P2WPKH outputs”:

  • Pay to Witness Public Key Hash (P2WPKH) and Pay to Witness Script Hash (P2WSH) are native segwit v0 outputs that get represented using bech32 addresses.
  • Pay to Public Key Hash (P2PKH) and Pay to Script Hash (P2SH) use base58 addresses.
  • Pay to Taproot (P2TR) and future native segwit output types will use bech32m addresses.