DEX Trades
Enriched swap events across 7 chains with token symbols, USD amounts, and protocol attribution.
13 tables — one trade table per chain, plus additional Tempo DEX detail tables.
| 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 |
agent.tempo_dex_swaps | Tempo | Solver/intent-based swaps, different schema (see below) |
Tempo also has raw and aggregated DEX detail tables:
| Table | What it is |
|---|---|
agent.tempo_dex_base_trades | Raw per-event swaps in the standard bought/sold shape (project, taker, amounts, USD) |
agent.tempo_dex_trades_daily | Daily volume, trade count, and unique traders per token pair (ReplacingMergeTree — use FINAL) |
agent.tempo_stablecoindex_swaps | Individual StablecoinDEX swap events |
agent.tempo_exchange_v2_pairs | TempoExchange V2 pair-creation registry (ReplacingMergeTree — use FINAL) |
agent.tempo_uniswap_v2_pairs | Uniswap V2 pair-creation registry (ReplacingMergeTree — use FINAL) |
agent.tempo_uniswap_v4_pools | Uniswap V4 pool initializations with fee, tick spacing, hooks (ReplacingMergeTree — use FINAL) |
Schema (EVM Chains)
The 6 EVM 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.
Tempo DEX Swaps Schema
agent.tempo_dex_swaps uses a different schema — Tempo is a stablecoin payment chain with solver/intent-based swaps, not a standard AMM DEX.
Engine: MergeTree | Partition: toYYYYMM(block_date) | ORDER BY: block_date, transaction_hash
| Column | Type | Description |
|---|---|---|
block_date | Date | Partition key |
block_number | UInt64 | |
transaction_index | UInt32 | |
transaction_hash | String | |
user_address | String | Swapper address |
token_in | String | Input token contract |
token_in_symbol | String | Input token symbol |
amount_in_usd | Float64 | Input amount in USD |
token_out | String | Output token contract |
token_out_symbol | String | Output token symbol |
amount_out_usd | Float64 | Output amount in USD |
reason_hex | String | Swap reason/memo (hex-encoded) |