Skip to main content

Pool OHLCV Table

Description

OHLCV time series per pool & direction (base/quote). Includes USD OHLCV as well as raw price ratios and quote-denominated volume. Useful for charts, volatility, and cross-venue comparisons.

Schema

FieldTypeDescription
idBYTESDeterministic ID (MD5 of key fields).
liquidity_pool_idSTRINGFK to the generic pool registry.
base_token_contract_idSTRINGFK → token_contract.id (base).
quote_token_contract_idSTRINGFK → token_contract.id (quote).
block_numberINTEGERBlock at end of the candle (nullable).
datetimeTIMESTAMPCandle timestamp (UTC).
open_usdFLOATOpening price in USD.
high_usdFLOATHigh in USD.
low_usdFLOATLow in USD.
close_usdFLOATClose in USD.
volume_usdFLOATTotal traded volume (USD).
openFLOATOpening quote/base price ratio.
highFLOATHigh quote/base ratio.
lowFLOATLow quote/base ratio.
closeFLOATClose quote/base ratio.
quote_volumeFLOATVolume in quote token units.
ingested_atTIMESTAMPInsert time (UTC).

Example Queries

30-day top pools by USD volume (cross-DEX)

SELECT  SUM(o.volume_usd) AS volume_30d,
DATE_TRUNC(o.datetime, DAY) AS day
FROM `defi_prepared.pool_ohlcv` o
WHERE o.datetime >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
GROUP BY day
ORDER BY day DESC;

Daily price & volume for WETH quoted in USDC across venues

SELECT
DATE(o.datetime) AS date,
AVG(o.close_usd) AS avg_close_usd,
SUM(o.volume_usd) AS daily_volume_usd
FROM `defi_prepared.pool_ohlcv` o
JOIN `defi_prepared.token_contract` b ON o.base_token_contract_id = b.id
JOIN `defi_prepared.token_contract` q ON o.quote_token_contract_id = q.id
WHERE b.symbol = 'WETH' AND q.symbol = 'USDC'
AND o.datetime >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
GROUP BY date
ORDER BY date DESC;