---
id: "ethereum_address"
kind: "datatype"
status: "stable"
is_pii: false
categories: ["cryptocurrency"]
langs: ["common"]
quality: 90
url: "http://registry.apicrafter.io/datatype/ethereum_address"
---

# Ethereum address (`ethereum_address`)

Address of an Ethereum account or contract: 0x followed by 40 hexadecimal digits, the last 20 bytes of the Keccak-256 hash of the public key (or the address computed for a contract). Mixed upper and lower case encodes the EIP-55 checksum; all lower case or all upper case carries no checksum. Other EVM networks (BNB Smart Chain, Polygon, Arbitrum, Optimism, Avalanche C-Chain and others) use the same format, so the value alone does not tell the network.

- Parent datatype: `crypto_address`
- Personal data (PII): no
- Categories: Cryptocurrency (cryptocurrency)
- Countries: global
- Languages: Common to most languages (common)
- Classification: identifier

## Detection

Regular expression (Python `re`):

```
^0x[0-9a-fA-F]{40}$
```

## Examples

- `0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed` — EIP-55 test vector (checksummed)
- `0xfb6916095ca1df60bb79ce92ce3ea74c37c5d359` — EIP-55 test vector, all lower case
- `0xdbF03B407c01E7cD3CBea99509d93f8DDDC8C6FB` — EIP-55 test vector (checksummed)
- `0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAe` (invalid example) — 39 hex digits

## Metacrafter rules

2 rules: 1 match the field name, 1 match values.

- `ethereum_address` (data, `common/cryptocurrency.yaml`)
- `ethereum_address_by_field` (field, `common/cryptocurrency.yaml`)

## Supported by tools

- `greatexpectations`
- `metacrafter`

## Translations

- ru: Адрес Ethereum

## Sources

- doc: <https://eips.ethereum.org/EIPS/eip-55>
- doc: <https://ethereum.org/en/developers/docs/accounts/>

## Quality

Score 90/100. Missing: mapping (Wikidata, Schema.org, ...).

JSON: <http://registry.apicrafter.io/api/v1/datatypes/ethereum_address.json> · Edit: <https://github.com/apicrafter/metacrafter-registry/edit/main/data/datatypes/any/cryptocurrency/ethereum_address.yaml>
