Token Metadata

ERC-20 contract registry mapping addresses to symbols, names, and decimals across 4 chains.

4 tables — one per chain.

TableChain
agent.ethereum_erc20Ethereum
agent.base_erc20Base
agent.arbitrum_erc20Arbitrum
agent.bsc_erc20BSC

Schema

All 4 tables share this schema.

Engine: MergeTree | ORDER BY: contract_address

ColumnTypeDescription
blockchainStringChain name
contract_addressStringLowercase hex. Primary key for joins.
symbolNullable(String)Token ticker (e.g., USDC, WETH). Not unique — multiple contracts can share a symbol.
nameNullable(String)Full token name
decimalsNullable(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 on symbol (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.
Surf — Crypto Intelligence for AI Agents