Skip to content

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

Bech32

Network & Protocol

Definition

Bech32, specified in BIP173, is the address encoding introduced for native Segregated Witness. It replaced Base58Check for witness outputs and is used by SegWit version 0 types such as P2WPKH and P2WSH, whose mainnet addresses begin with bc1q. A Bech32 string has three parts: a human-readable prefix (bc for mainnet, tb for testnet), a separator 1, and a Base32 data section ending in a six-character checksum.

Why it was designed

The character set deliberately excludes 1, b, i, and o to reduce visual ambiguity, and addresses are all-lowercase, which makes them compact in QR codes and easier to read aloud. The checksum uses a BCH code that guarantees detection of any error affecting up to four characters and catches larger errors with overwhelming probability, so a single mistyped character almost never produces a valid but wrong address.

Practical notes

Because Bech32 is case-insensitive, wallets may display it in uppercase for denser QR codes while accepting lowercase input. A subtle flaw, where inserting or deleting q characters before a final p could preserve the checksum, led to a refined variant for later witness versions. Self-custody operators reading addresses aloud or transcribing them benefit directly from Bech32's error-detection guarantees.

The refined successor used by Taproot is Bech32m, and the output type it encodes is P2WPKH (Native SegWit).

In Simple Terms

Bech32, specified in BIP173, is the address encoding introduced for native Segregated Witness. It replaced Base58Check for witness outputs and is used by SegWit version…

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