SegWit P2SH-P2WPKH Address

Like any other P2SH address, P2SH-P2WPKH address has prefix 3.
Until a P2SH-P2WPKH utxo is spent and the redeemScript is exposed, a P2SH-P2WPKH address is indistinguishable from a non-segwit P2SH address (such as a non-segwit multi-signature address).
P2SH-P2WPKH uses the same public key format as P2PKH, with a very important exception: the public key used in P2SH-P2WPKH MUST be compressed, i.e. 33 bytes in size, and starting with a 0x02 or 0x03.
The P2SH redeemScript is always 22 bytes. It starts with a OP_0, followed by a canonical push of the keyhash (i.e. 0x0014{20-byte keyhash}):
0 <hash160(compressed public key)>

Use case:
A P2SH-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.

OP_HASH160 hash160(redeemScript) OP_EQUAL

0 <hash160(compressed public key)>

witness: <signature><compressed public key>


Public Key: 02f118cc409775419a931c57664d0c19c405e856ac0ee2f0e2a4137d8250531128

SegWit P2SH-P2WPKH Address: 3Mwz6cg8Fz81B7ukexK8u8EVAW2yymgWNd

For more information about SegWit: Segregated Witness Wallet Development Guide