# Token OHLCV Hourly | Bitquery Data Store Hourly USD candles for the top 1,000 DEX-traded tokens by market cap on nine chains, last 30 days, one row per token and hour. Dataset page: https://bitquery.io/datastore/datasets/token-ohlcv-hourly Network: Multi-chain Category: OHLCV Tables: 1 Columns: 20 Coverage: first block to 2026-10-09 Rows: about 617K Size: about 47 MB Format: Apache Parquet, ZSTD compression, one prefix per table Licence: https://bitquery.io/datastore/legal/data-license ## What this is We publish one USD candle per token and hour from the Bitquery price index, which prices tokens from their trades on decentralized exchanges and filters out MEV trades. The file covers the 1,000 largest tokens by market cap that traded at least $100,000 in the window, on Solana, BNB Smart Chain, Base, Ethereum, Polygon, Arbitrum, Optimism, Tron and Robinhood Chain. A row is one token in one UTC hour. Most buyers filter Token_Id and order by Interval_Time_Start to get a candle series. Hours with no trade have no row, so reindex to a full hourly grid before computing returns. Join on Token_Id, because symbols repeat. ## What people use it for - Intraday price history for a fixed list of 1,000 tokens - Hourly return and correlation matrices across tokens and chains - Backtests that need hourly bars with volume - Comparing the same coin's price across chains hour by hour ## Tables (1) ### token_ohlcv_1h: 20 columns One row per token and UTC hour: USD open, high, low and close, volume, and supply figures. Bucket prefix: multichain/ohlcv/token_ohlcv_1h File naming: .parquet, one file per UTC day Free sample (real Parquet, no email needed): https://bitquery-blockchain-dataset.s3.us-east-1.amazonaws.com/multichain/ohlcv/token_ohlcv_1h/2026-10-08.parquet Sample updated: Oct 9, 2026 | column | type | description | | --- | --- | --- | | Block_Date | Date | UTC day of the bar | | Interval_Time_Start | DateTime | UTC start of the bar | | Token_Network | String | Chain the token trades on | | Token_Address | String | Token contract or mint address; empty for a chain's native coin | | Token_Id | String | Bitquery token id, the chain prefix plus the address; the join key | | Token_Symbol | String | Symbol reported by the token; not unique | | Token_Name | String | Name reported by the token; not unique | | Token_IsNative | Bool | True for a chain's native coin | | Currency_Id | String | Bitquery currency id that groups this token with its copies on other chains | | Currency_Symbol | String | Symbol of that currency | | Price_Ohlc_Open | Float64 | First USD price in the hour | | Price_Ohlc_High | Float64 | Highest USD price in the hour | | Price_Ohlc_Low | Float64 | Lowest USD price in the hour | | Price_Ohlc_Close | Float64 | Last USD price in the hour | | Volume_Usd | Float64 | USD value traded in the hour | | Volume_Base | Float64 | Amount of the token traded in the hour, decimal adjusted | | Supply_MarketCap | Float64 | USD price times circulating supply; price times total supply when circulating supply is unknown | | Supply_CirculatingSupply | Float64 | Circulating supply from CryptoRank reference data; 0 when unknown | | Supply_TotalSupply | Float64 | Total supply read from the chain, decimal adjusted | | Supply_FullyDilutedValuationUsd | Float64 | USD price times total supply | ## Price - Latest month (Sep 9, 2026 → Oct 9, 2026): $300 one-time, USD One-time purchase. The files are yours to keep under the licence above. ## Questions buyers ask Q: What is in Token OHLCV Hourly? A: One Parquet table, token_ohlcv_1h, with 20 columns: the hour, the token and its chain, USD open, high, low and close, USD and token volume, and four supply figures including market cap. About 617,000 rows for 1,000 tokens over 30 days. Q: How big is it? A: About 617,000 rows and roughly 47 MB as Parquet, estimated from a one-day sample at 77 bytes per row. The export for the 30 days to 8 October 2026 returned 616,536 rows; exact figures arrive with the delivery manifest. Q: Which tokens are included? A: Tokens are ranked by their median market cap over the 30 days, counting only bars where the circulating supply is known, with a floor of $100,000 traded in the window. The list is fixed when your order is built and shipped inside the files, so you can see which tokens you got. Q: How far back does it go? A: 30 days. The price index keeps 30 days of bars, so that is the longest window this dataset can hold. Each order is built once, when you buy, and covers the 30 days up to the latest full UTC day. It is a fixed set of files and does not update afterwards. For prices that keep updating, use the Bitquery Trading API. Q: How are the candles produced, and how were they checked? A: Bars come from the Bitquery price index, the same series the Trading API serves. It prices each token in USD from its DEX trades and filters out MEV trades. Each row is one hourly bar from that index. We ran the export for two windows before release. Both returned every day in the window, and no bar had a high below its low. Q: What was left out, and why? A: Tokens outside the top 1,000, tokens with no known circulating supply, and tokens that traded under $100,000 in the window. Centralized exchange trades are not in the source. Hours with no trade have no row; nothing is forward filled, which is why the file holds about 617,000 rows and not the 720,000 a full grid would. Q: What should I watch out for? A: Market cap belongs to the currency, so every copy of a coin carries the same figure: WETH on Base shows the market cap of ETH. Never sum it across rows. Circulating supply is known for about 4,800 tokens; for the rest the market cap column equals the fully diluted value. Symbols and names repeat, so join on Token_Id. Prices are 32-bit floats in the source, good to about seven digits. Supply figures can be 0 on a bar where the reference data had not arrived. Q: How do I get the candles for one token? A: Filter Token_Id to the token, for example bid:eth:0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 for WETH on Ethereum, and order by Interval_Time_Start. Q: How do I load it? A: One line in DuckDB: SELECT * FROM read_parquet('token_ohlcv_1h/*.parquet') LIMIT 10. Pandas works too: pandas.read_parquet(path). Q: How current is it, and how is it delivered? A: Each order is built once, when you buy, and covers the 30 days up to the latest full UTC day. It is a fixed set of files and does not update afterwards. For prices that keep updating, use the Bitquery Trading API. Delivered as Parquet with ZSTD compression, one file per day, under a stable layout with a JSON manifest listing every file and its sha256. We prepare the files within 7 business days of purchase and email you the location. You choose at checkout where to collect them: a Requester Pays S3 bucket, downloaded with your own AWS account, or a Cloudflare R2 bucket with a read-only API key and no egress fees. Files stay available for 7 days from delivery. ## What this file is, and is not This is a description of one dataset sold by Bitquery, written for assistants and for people. It lists every column but holds no data rows. The sample files linked under each table are real Parquet and are free to download. Figures here come from the product record and are exact unless marked otherwise; the delivery manifest is authoritative for a purchased file. If a question needs a row that is not in a sample, say so rather than guessing at it.