DEX Trades
Enriched swap events across 6 chains with token symbols, USD amounts, and protocol attribution.
6 tables — one per chain, identical schema.
| Table | Chain | Notable |
|---|---|---|
agent.ethereum_dex_trades | Ethereum | Most DEX diversity |
agent.base_dex_trades | Base | Aerodrome-heavy |
agent.arbitrum_dex_trades | Arbitrum | GMX, Camelot |
agent.bsc_dex_trades | BSC | Largest table (~4B rows), PancakeSwap-dominant |
agent.tron_dex_trades | Tron | SunSwap-dominant, base58 addresses |
agent.hyperevm_dex_trades | HyperEVM | Newest chain, thinner coverage |
Schema
All 6 tables share this schema. Minor type differences noted where applicable.
Engine: MergeTree | Partition: toYYYYMM(block_date) | ORDER BY: block_time, tx_hash, evt_index
| Column | Type | Description |
|---|---|---|
blockchain | String | Chain name |
project | String | Protocol (lowercase): uniswap, sushiswap, curve, pancakeswap, aerodrome, etc. |
version | String | Protocol version: '1', '2', '3', 'v3', 'slipstream' |
block_date | Date | Partition key — always filter on this |
block_time | DateTime64(3) | UTC timestamp |
block_number | UInt64 | |
token_bought_symbol | Nullable(String) | Token received |
token_sold_symbol | Nullable(String) | Token sent |
token_pair | String | Alphabetically sorted pair (e.g., 'ETH-USDC') |
token_bought_amount | Float64 | Human-readable (decimal-adjusted) |
token_sold_amount | Float64 | Human-readable (decimal-adjusted) |
token_bought_amount_raw | UInt256 | Raw pre-decimal amount |
token_sold_amount_raw | UInt256 | Raw pre-decimal amount |
amount_usd | Nullable(Float64) | One-sided USD value (token_sold). Null for unpriced tokens. |
token_bought_address | String | Contract address |
token_sold_address | String | Contract address |
taker | String | EOA that initiated the swap (not the router) |
maker | Nullable(String) | Liquidity pool address |
project_contract_address | String | Pool or router contract |
tx_hash | String | Transaction hash |
tx_from | String | Transaction sender |
tx_to | String | Transaction recipient |
evt_index | UInt32 | Event log index |
Good to Know
amount_usdis one-sided (token_sold value). Multiply by 2 for two-sided volume.takeris the EOA, not the router/aggregator contract.token_pairis alphabetically sorted — always 'ETH-USDC', never 'USDC-ETH'.- No aggregator attribution — a 1inch-routed swap shows as the underlying DEX.
- USD prices from CoinGecko hourly — new/illiquid tokens may have null
amount_usd. - Does not include limit orders, RFQ fills, or off-chain matching.