Token Metadata
ERC-20 contract registry mapping addresses to symbols, names, and decimals across 4 chains.
4 tables — one per chain.
| Table | Chain |
|---|---|
agent.ethereum_erc20 | Ethereum |
agent.base_erc20 | Base |
agent.arbitrum_erc20 | Arbitrum |
agent.bsc_erc20 | BSC |
Schema
All 4 tables share this schema.
Engine: MergeTree | ORDER BY: contract_address
| Column | Type | Description |
|---|---|---|
blockchain | String | Chain name |
contract_address | String | Lowercase hex. Primary key for joins. |
symbol | Nullable(String) | Token ticker (e.g., USDC, WETH). Not unique — multiple contracts can share a symbol. |
name | Nullable(String) | Full token name |
decimals | Nullable(Int64) | Typically 18 (ETH-like) or 6 (USDC/USDT) |
Good to Know
- Small dimension tables — safe to use in subqueries or JOINs without filtering.
- Always join on
contract_address, never onsymbol(symbols are not unique). - EVM chains only — Tron, HyperEVM, and Tempo don't have a separate token metadata table.
- Reflects deployment-time metadata — tokens that rebrand won't show new names.