Bech32m
Bech32m is a checksummed base-32 address encoding for Bitcoin-style networks, defined in BIP 350 as a revision of the bech32 format from BIP 173. An address consists of a human-readable prefix, the separator 1, and data in a 32-character alphabet protected by a checksum that detects common typing errors.
The checksum fix
Bech32 has a mutation weakness: when the final character of an address is p, inserting or deleting q characters immediately before it does not invalidate the checksum. Bech32m changes the checksum constant from 1 to 0x2bc830a3, restoring the guarantee that small insertions and substitutions are detected.
Usage
Bitcoin uses bech32m for segwit version 1 and later outputs, that is, taproot addresses starting with bc1p (BIP 341); version 0 addresses keep the original bech32. An address encodes the locking condition of a UTXO, and the encoding matters for quantum analysis because taproot outputs expose a public key directly (taproot and quantum key exposure). The BTX network also encodes its addresses with bech32m, using the prefix btx1z.
Sources
- BIP 350: Bech32m format for v1+ witness addresses (Bitcoin Improvement Proposals, 2020)
- BIP 173: Base32 address format for native v0-16 witness outputs (Bitcoin Improvement Proposals, 2017)
- BIP 341: Taproot: SegWit version 1 spending rules (Bitcoin Improvement Proposals, 2020)
Cite this entry
"Bech32m." postquantum.wiki. Updated July 11, 2026. https://postquantum.wiki/bech32m@misc{pqwiki-bech32m,
title = {Bech32m},
howpublished = {\url{https://postquantum.wiki/bech32m}},
year = {2026},
note = {postquantum.wiki, updated 2026-07-11}
}