Uniswap V3 Pool Table
Description
Registry of Uniswap V3 pools (pair + fee tier) with creation metadata and on-chain address.
Schema
| Field | Type | Description |
|---|---|---|
| id | STRING | Deterministic ID (MD5 of network_id, pool address) |
| dex_instance_id | STRING | FK → dex_instance.id (which implies the network). |
| token_0_contract_id | STRING | FK → token_contract.id (token0). |
| token_1_contract_id | STRING | FK → token_contract.id (token1). |
| pool_creation_datetime | TIMESTAMP | Deployment time (UTC). |
| pool_creation_block | INTEGER | Deployment block. |
| name | STRING | Human-readable pool label (e.g., WETH/USDC 0.05%). |
| address | STRING | Pool contract address. |
| fee_tier | INTEGER | Fee tier in bps (100, 500, 3000, 10000). |
| ingested_at | TIMESTAMP | Insert time (UTC). |
Example Queries
List all WETH/USDC pools by network and fee tier
SELECT n.name AS network, p.name, p.fee_tier, p.address
FROM `defi_prepared.uniswap_v3_pool` p
JOIN `defi_prepared.dex_instance` d ON p.dex_instance_id = d.id
JOIN `defi_prepared.network` n ON d.network_id = n.id
JOIN `defi_prepared.token_contract` t0 ON p.token_0_contract_id = t0.id
JOIN `defi_prepared.token_contract` t1 ON p.token_1_contract_id = t1.id
WHERE t0.symbol = 'WETH' AND t1.symbol = 'USDC'
ORDER BY network, fee_tier;
Pools created in the last 30 days
SELECT p.address, p.name, n.name AS network, p.pool_creation_datetime
FROM `defi_prepared.uniswap_v3_pool` p
JOIN `defi_prepared.dex_instance` d ON p.dex_instance_id = d.id
JOIN `defi_prepared.network` n ON d.network_id = n.id
WHERE p.pool_creation_datetime >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
ORDER BY p.pool_creation_datetime DESC;