SegWit Native P2WPKH Address

A native P2WPKH address has prefix bc1q for Bitcoin mainnet.
It uses the same public key format as P2PKH, with a very important exception: the public key used in P2WPKH MUST be compressed, i.e. 33 bytes in size, and starting with a 0x02 or 0x03.
The P2WPKH scriptPubKey is always 22 bytes. It starts with a OP_0, followed by a canonical push of the keyhash (i.e. 0x0014{20-byte keyhash}).

Use case:
A P2WPKH address should be used when only 1 public key is used to receive payment (like a standard P2PKH address).
Because the SegWit signature generating algorithm (described in BIP143) covers the value of the input being spent, a transaction spending a SegWit utxo can be signed securely by an air-gapped light-weight wallet or by a hardware wallet.
P2WPKH addresses are Bech32-encoded according to BIP143: they start with bc1q.. for Bitcoin mainnet and are somewhat longer than traditional P2PKH addresses.

0 <hash160(compressed public key)>


witness: <signature><compressed public key>


Public Key: 02530c548d402670b13ad8887ff99c294e67fc18097d236d57880c69261b42def7

SegWit Native P2WPKH Address: bc1qg9stkxrszkdqsuj92lm4c7akvk36zvhqw7p6ck

For more information about SegWit: Segregated Witness Wallet Development Guide