Skip to main content
metrics.tokens_prices_daily carries one row per token per day: the price in USD at midnight UTC. metrics.tokens_prices_hourly carries the same price hour by hour. Both cover every token in the catalog, so every priced row joins to dimensions.tokens on token_id.

Columns

Both tables share one schema.
ColumnTypeDescription
timestampTIMESTAMPThe moment the price was taken: midnight UTC in the daily table, the top of the hour in the hourly one.
token_idSTRINGToken the price belongs to: {token_address}-{chain_id}.
chain_idSTRINGChain the token is deployed on.
priceFLOAT64The price in US dollars at that moment.

Sample queries

Read one token’s daily price series with its metadata.

Notes

The daily table suits long histories, and joins to the other daily tables at a fraction of the hourly table’s size. The hourly table suits analysis within a day, and pricing individual events precisely. Both key the same way, so moving a query from one to the other means swapping the table name and the time bounds. price is never empty in either table. A token with no price on a day has no row for that day, rather than a row with nothing in it. A left join from another table comes back empty because the join found nothing, not because the column was blank.