River Intelligence

Sign up for our curated weekly newsletter delivering exclusive market insights to your inbox.

Invest in Bitcoin.

green checkmark

Human Support

green checkmark

Track Performance

green checkmark

Recurring Buys

Bech32m


Bech32m is a modified version of the Bech32 encoding scheme, which is used to encode SegWit addresses. Bech32m is nearly identical to Bech32: it is an encoding scheme with 32 characters; it uses only lowercase letters; and it begins with a human readable part, which is ‘bc1’ for SegWit addresses.

Bech32 has an error detection mechanism built in, which is meant to detect alterations to Bech32-encoded data. However, the original Bech32 implementation had a vulnerability in this mechanism, allowing an attacker to change an address without invalidating the checksum. When a Bech32 string ends with a “p”, adding or removing “q"s before the “p” does not invalidate it. Bech32m removes this vulnerability by changing a constant used in the encoding scheme, and is thus more secure.

As specified in BIP 350, Bech32m is proposed as the encoding scheme for SegWit version 1 (Taproot) addresses, which will be introduced by the Taproot upgrade.

Learn more about the Taproot upgrade.