Address Checksum
Pronunciation: AD-dress CHECK-sum
Definition
An address checksum is redundant data encoded with an address so software can detect many typing, copying, or character-substitution errors before a transaction is sent. It helps software reject many accidental character errors before funds are sent. However, a checksum cannot detect that the user selected the wrong network, copied an attacker’s valid address, or entered the wrong recipient. It is therefore one validation layer, not a complete security guarantee.
Overview
A checksum is calculated from the meaningful address data and included in, or represented by, the final address string. When software decodes the address, it recalculates the checksum. If the result does not match, the address is rejected as malformed.
Checksums improve usability because blockchain addresses are long and visually difficult to verify. Base58Check addresses include checksum bytes, while Bech32 and Bech32m use error-detecting checksum constructions suited to their character sets and witness-version rules. Other networks use capitalization, hashes, or protocol-specific encodings.
A checksum does not prove ownership, intent, or network suitability. A maliciously substituted address can have a perfectly valid checksum, and an address valid for one network may still be wrong for the intended payment. A checksum also cannot confirm that a token contract, destination tag, or receiving service is correct.
Payment software should validate the complete destination context: address syntax, checksum, network, supported asset, and any auxiliary routing data. Users should still compare addresses or verify them through a trusted channel for high-value transfers.
Checksum strength and behavior vary by format. Base58Check appends checksum bytes to encoded data, while Bech32 and Bech32m use character-level error-detection designs. Some Ethereum interfaces use mixed-case checksum capitalization, although all-lowercase hexadecimal addresses may still be accepted by many tools.
Developers should use the official or widely reviewed address library for the target network instead of reproducing checksum logic with a regular expression. A regular expression can verify length and character set but usually cannot prove that the encoded payload and checksum agree. Payment applications should combine checksum validation with network, asset, and destination-type checks.
Key Takeaway
A checksum catches many accidental typing errors, but it cannot prove recipient ownership, transaction intent, correct network selection, or destination safety.
Sources
- Ethereum Accounts — Ethereum.org (2026-07-30)