In this track: Cryptography with intuition
advanced · 4 MIN READ

Ethereum address derivation

An EOA address is derived from a public key, not directly from its display text.

LET’S PICTURE IT

A short identifier is selected from a fingerprint of a carefully encoded public record.

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.

Start with the public point

For ordinary EOA derivation, use the uncompressed public key’s x and y bytes without the leading format byte. That payload has sixty-four bytes.

Hash the correct bytes

Apply Keccak-256 to those public-key bytes. Hashing the hex characters as text or including a format prefix produces a different input.

Keep the final twenty bytes

The EOA address is the low twenty bytes of that digest. Its common hex display has forty digits after 0x, before optional checksum capitalization.

Separate checksum and other address types

EIP-55 casing adds a display checksum without changing the address bytes. Contract creation addresses use other derivations and should not be explained as EOA public-key hashes.

Inspect the distinction

public x32 || public y32
→ Keccak-256
→ retain final 20 bytes
→ display as 40 hex digits

These are local teaching values, not a signature request or a live-chain lookup.

TURN UNDERSTANDING INTO PRACTICEOpen the Keccak-256 →
QUICK CHECK · NO PRESSURE

How many digest bytes are retained for an EOA address?

Your progress stays in this browser.
Keep exploring the original referenceethereum.org ↗

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