Bech32 Address
Pronunciation: BECK-thirty-two AD-dress
Definition
A Bech32 address is a human-readable Bitcoin address format defined for native SegWit version 0 outputs, using a lowercase alphanumeric encoding and an error-detecting checksum. It uses a human-readable network prefix, a restricted lowercase character set, and a checksum designed for reliable error detection. In Bitcoin, the original Bech32 checksum is specifically used for witness version 0 destinations. It should be entered and displayed consistently without mixed letter case.
Overview
Bech32 was introduced to make native SegWit addresses easier to recognize and less vulnerable to transcription mistakes than legacy Base58Check addresses. A Bitcoin mainnet Bech32 address begins with the human-readable prefix bc1, while testnet uses a different prefix. The format separates a human-readable network part from encoded data and a checksum. It avoids mixed case and excludes visually ambiguous characters. For Bitcoin, Bech32 is used for witness version 0 programs, such as native P2WPKH and P2WSH outputs. Bech32 should not be used for every SegWit version. A weakness in its checksum behavior for certain future witness versions led to Bech32m, which is required for witness version 1 and later, including Taproot. Wallets and payment systems therefore need to decode the witness version before deciding which checksum variant is valid.
A Bech32 address is still network-specific. A syntactically correct address can be inappropriate for the selected network, unsupported by an older wallet, or associated with the wrong recipient. The encoded witness program determines the actual spending condition, such as pay-to-witness-public-key-hash or pay-to-witness-script-hash. A mainnet address normally begins with bc1, while test networks use different human-readable prefixes. Bech32 improves QR-code efficiency and avoids visually ambiguous characters, but it is not the correct checksum for every SegWit version. Bitcoin uses Bech32m for witness version 1 and above, including Taproot. Wallets must therefore decode the witness version before deciding which checksum variant is valid. Older software may support Bitcoin generally while still being unable to send to native SegWit destinations. Users should not manually alter prefixes, case, or characters to force compatibility, because the resulting string may fail validation or refer to a different destination.
Key Takeaway
Bitcoin Bech32 addresses encode native SegWit version 0 destinations, while Taproot and later witness versions require the related Bech32m checksum.
Sources
- BIP 173: Base32 Address Format — Bitcoin Improvement Proposals (2026-07-30)