Skip to content
uencoder

Bech32m

Bech32m is an improved variant of Bech32 (BIP 350) that fixes the original's insufficient checksum strength for long data, and is used for v1+ Taproot addresses.

Purpose

It provides stronger checksum guarantees for SegWit outputs longer than 20 bytes, avoiding Bech32's false detections on long data.

Mechanism

It shares the Bech32 structure, but the checksum generator polynomial constant changes from 1 to 0x2bc830a3, keeping checksum strength consistent for data of any length.

Use cases

  • Bitcoin Taproot addresses
  • SegWit v1+ addresses
  • Checksummed encoding for long data

Related tools

References