Skip to content

Bitcoin accepted at checkout  |  Ships from Laval, QC, Canada  |  Expert support since 2016

Bech32m

Network & Protocol

Definition

Bech32m, specified in BIP350, is a small but important revision of the Bech32 address encoding. It is mandatory for Segregated Witness version 1 and above, which is why every Pay-to-Taproot address begins with bc1p rather than the bc1q of SegWit v0. To users the two encodings look identical; the difference lives entirely in the checksum.

What changed and why

The original Bech32 checksum had a known weakness: when the final data character was p, inserting or deleting any number of q characters immediately before it left the checksum valid, allowing a malformed address to slip through. Bech32m replaces the checksum's final XOR constant of 1 with 0x2bc830a3, which eliminates that insertion/deletion vulnerability while preserving the strong substitution-error detection of the original.

How wallets choose

The rule is clean: SegWit v0 outputs (P2WPKH, P2WSH) keep using Bech32, while every witness version from 1 through 16 uses Bech32m. Wallets pick the encoding from the witness version, so sending software must support both. For operators, the takeaway is that a bc1p address is a Taproot output validated by the hardened checksum, protecting against transcription mutation when funds are at stake.

The base scheme is Bech32, and the output type Bech32m encodes is P2TR (Pay to Taproot).

In Simple Terms

Bech32m, specified in BIP350, is a small but important revision of the Bech32 address encoding. It is mandatory for Segregated Witness version 1 and above,…

Explore the Full Glossary

Browse all Bitcoin mining terms from A to Z. Whether you are a beginner or expert, deepen your understanding of the mining ecosystem.

Mining Glossary

ASIC Miner Database

Compare 500+ miners with real-time profitability data, home mining scores, and detailed specs.

Compare Miners