Ethereum Address Format — 20-Byte Hex & EIP-55 Checksum
An Ethereum address is a 20-byte identifier derived from a public key. This reference explains its format, how it is derived, and how the EIP-55 mixed-case checksum guards against typos.
Format
An address is 20 bytes, written as a 0x-prefixed hexadecimal string of 40 hex characters (for example 0x followed by 40 hex digits). All EVM chains share this same address format, so one address is valid across Ethereum, Base, Arbitrum, Polygon and other EVM networks.
Derivation from the public key
For an externally owned account, take the uncompressed public key, hash it with keccak-256, and take the last 20 bytes of that hash. That is the address. The private key produces the public key, so the address is deterministically derived from the key material.
EIP-55 checksum
EIP-55 encodes a checksum in the letter casing of the hex address. You keccak-256 hash the lowercase address string; for each alphabetic character, if the corresponding hash nibble is 8 or higher you uppercase it, otherwise you leave it lowercase. Wallets can then detect a mistyped address without any extra bytes.
Validating an address
A valid address matches the length and hex rules. If it contains mixed case, verify it satisfies the EIP-55 checksum; an all-lowercase or all-uppercase address carries no checksum and should be accepted as unchecked. Rejecting a failed mixed-case checksum catches transcription errors before funds are sent.
常见问题
Is an Ethereum address the same as a public key?
No. The address is the last 20 bytes of the keccak-256 hash of the public key. It is shorter than the public key and cannot be reversed back into it.
Do I need to match the exact casing of an address?
The casing itself is not needed to send funds, but a mixed-case address encodes an EIP-55 checksum. Verifying that checksum protects against typos, so wallets typically display and validate the checksummed form.
相关工具
充值、拿密钥、上线。
自助开通。支持加密货币或银行卡。按额度计费——重型原语更贵,简单调用很便宜。
获取 API 密钥