In this track: Connect everything together
advanced · 6 MIN READ

Build an address checksum checker

Validate byte length and explain what a checksum does.

LET’S PICTURE IT

A spelling check can catch a typo without proving the recipient is trustworthy.

SEE IT FOR YOURSELF
From a public address to a verified signatureStep 1 / 4
From a public address to a verified signaturePublic address0x0000…0001Share to receiveAnother personCan read the addressCannot sign for youPublic identifier ≠ secret authorizationLocal signerPrivate key stays hereSign the chosen requestSigned requestMessage + signatureSecret key not includedThe moving packet represents a signature, not a keySignatureCheck the exact messageCheck the signing contextVerificationAuthorization checkedIntent still mattersValidity and safety are different questionsWallet interfaceReads public dataRequests authorizationNetwork stateBalances and recordsIndependent verificationNo wallet is connected in this local illustration

An address is public receiving information. It is not the private key that authorizes actions.

Animated local teaching model. No wallet, RPC or live blockchain data. Some labels and hashes are abbreviated for readability.

Separate format validation

An Ethereum address has twenty bytes. Validate the hexadecimal form and expected length before presenting a checksum result.

Apply the correct checksum convention

EIP-55 uses Keccak-256 of the lowercase hexadecimal address text without the prefix to choose letter casing. Use a tested implementation and known fixtures.

Explain acceptance policy

Libraries differ in how they accept uniform-case and mixed-case input. State the chosen policy and reject a mixed-case checksum mismatch where that policy requires it.

Keep conclusions narrow

The tool does not prove ownership, network deployment, balance or safety. It should not resolve names or connect a wallet merely to perform a formatting check.

Your acceptance target

input: public 20-byte address
output: validated format + EIP-55 display
reject: malformed hex or incorrect length
no balance or ownership claim

Use only local examples and public sample addresses. State the assumptions and limits alongside the result.

TURN UNDERSTANDING INTO PRACTICEOpen the Address checker →
QUICK CHECK · NO PRESSURE

Does a valid checksum establish recipient honesty?

Your progress stays in this browser.
Keep exploring the original referenceEthereum Improvement Proposals ↗

Original explanations by EtherTools. Examples are educational and source-linked; this site is independent of the Ethereum Foundation. Our approach.