Ethereum capitalization and EIP-55 checksums
EIP-55 encodes a checksum in the capitalization of hexadecimal letters. It changes the representation, not the underlying 20-byte address.
Worked example
| Representation | Example | Interpretation |
|---|---|---|
| Specification fixture | 0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed | EIP-55 capitalization |
| Lowercase form | 0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed | Same bytes; case checksum not enforced |
| Invalid shape | 0x123G | Non-hex character and wrong length |
Checksum procedure
Lowercase the 40-character body, hash that ASCII text using Keccak-256, then use the corresponding hash nibble to choose each letter’s case. A nibble of 8 or above makes the letter uppercase. Standardized SHA3-256 is a different function and gives the wrong EIP-55 result.
What to do after a mismatch
Return to the original receive screen and compare the full string. Do not simply lowercase a suspicious mixed-case address to silence an error. A passing checksum detects some typing mistakes; it does not establish ownership or safety.
Common pitfalls
- Some valid EIP-55 fixtures happen to be entirely uppercase or lowercase.
- Chain-specific checksum schemes are outside this EIP-55 checker’s scope.
Related references
Primary sources
Examples explain identifiers. They are not investment recommendations.