Bech32m Address
Pronunciation: BECK-thirty-two-em AD-dress
Definition
A Bech32m address is a Bech32-derived Bitcoin address format with an updated checksum, used for SegWit witness version 1 and higher, including Taproot addresses. It preserves Bech32’s readable structure but changes the checksum constant to protect newer witness versions. Bitcoin requires Bech32m for witness versions 1 through 16, including Taproot destinations. A valid-looking bc1p string still requires complete checksum and witness-program validation.
Overview
Bech32m preserves the readable structure and character set of Bech32 but changes the checksum constant. The update corrects an issue that could allow certain character insertions or deletions to go undetected under the original Bech32 checksum for newer witness versions.
Bitcoin uses Bech32 for witness version 0 and Bech32m for witness version 1 through 16. Taproot addresses, which represent version 1 witness programs, therefore use Bech32m. On mainnet they usually begin with bc1p, while version 0 Bech32 addresses commonly begin with bc1q. The distinction is enforced by protocol and wallet rules. Re-encoding a version 1 program with the old Bech32 checksum does not create a valid Taproot destination. Likewise, software must not assume every address beginning with bc1 uses the same checksum. Payment systems should rely on maintained address libraries that validate both the network prefix and witness version. Users should never manually alter the address to make it appear compatible with an older wallet.
A typical mainnet Taproot address begins with bc1p, but the complete decoded witness version and program—not the visible prefix alone—determine validity. A wallet must reject a version 1 address encoded with the original Bech32 checksum and reject a version 0 address encoded with Bech32m. Bech32m was introduced because the original checksum had an undesirable behavior for certain future witness programs. The updated design keeps Bech32’s restricted character set, case rules, and strong error-detection properties. Compatibility remains an operational issue: an older wallet or exchange may support Bitcoin but not Taproot. Payment systems should therefore verify address-type support before showing a Bech32m destination or treating it as universally usable. Manual conversion between Bech32 and Bech32m is unsafe because the checksum choice depends on the witness version.
Key Takeaway
Bech32m is the required Bitcoin checksum format for Taproot and other witness version 1–16 addresses, not a cosmetic variation of Bech32.
Sources
- BIP 350: Bech32m Format — Bitcoin Improvement Proposals (2026-07-30)