BitqueryBitqueryData Store
Multi-chain logoMulti-chainOHLCV

Crypto Price History

Daily USD price history for the top 300 cryptocurrencies by market cap, last 30 days, one blended price per coin from its DEX trades on ten chains.

Coverage
Latest monthto Oct 8, 2026 · yesterday
Rows
≈9Krows · estimate
Size
≈1.3 MBParquet · estimate
Tokens
≈300distinct · estimate
Table
1currency_ohlcv_1d
Columns
15typed
Coverage ends yesterday, UTC

Overview

We publish one crypto price history row per coin and day. Each price blends every copy of the coin across chains, weighted by trading volume, so Bitcoin is one series built from WBTC, cbBTC, BTCB and the rest, not ten. The file covers the 300 largest currencies by market cap that traded at least $100,000 in the window. Prices come from decentralized exchange trades on Solana, BNB Smart Chain, Base, Ethereum, Polygon, Arbitrum, Optimism, Tron, Robinhood Chain and Arc.

Most buyers pivot Price_Ohlc_Close by Currency_Id and Block_Date and load the result into their own store. Use Currency_Id as the key, because symbols repeat. These are DEX prices: for large coins the daily close sits within a fraction of a percent of exchange prices, and a coin that trades only on centralized exchanges is not in the file.

Use cases

  • Daily price history for a coin list, ready to load into a database
  • DCA, drawdown and recovery calculators that need daily closes
  • Correlation and return tables across 300 coins
  • Market cap history by coin, taken at each day's last bar

Table

15 columns · free sample for the table

currency_ohlcv_1d

15 columns

One row per currency and UTC day: blended USD open, high, low and close, volume, and supply figures at the day's last bar.

multichain/ohlcv/currency_ohlcv_1d<YYYY-MM-DD>.parquetone file per UTC day
Browse columns Sample fileSample updated Oct 9, 2026

Schema reference

copies a column name
15 columns
ColumnTypeDescription
Block_DateDateUTC day of the bar
Currency_IdStringBitquery currency id; the join key
Currency_SymbolStringSymbol of the currency; not unique
Currency_NameStringName of the currency
Price_Ohlc_OpenFloat64First USD price in the day
Price_Ohlc_HighFloat64Highest USD price in the day
Price_Ohlc_LowFloat64Lowest USD price in the day
Price_Ohlc_CloseFloat64Last USD price in the day
Volume_UsdFloat64USD value traded in the day, all chains
Volume_BaseFloat64Amount of the coin traded in the day, decimal adjusted
Interval_BarsUInt32Hours of the day that had at least one trade, 1 to 24
Supply_MarketCapFloat64USD price times circulating supply; price times total supply when circulating supply is unknown
Supply_CirculatingSupplyFloat64Circulating supply from CryptoRank reference data; 0 when unknown
Supply_TotalSupplyFloat64Total supply read from the chain, decimal adjusted
Supply_FullyDilutedValuationUsdFloat64USD price times total supply
Sample file

Ask an AI about this data

Send this dataset’s full schema to an assistant and ask it anything. It reads the plain-text brief first, so the answer comes from the real column list rather than a guess.

Start with

Opens a new chat with the question filled in. Nothing about you is sent to Bitquery, and the assistant sees only the public brief.

Delivery

Parquet files in a Requester Pays S3 bucket or a Cloudflare R2 bucket, chosen at checkout. On S3 you download with your own AWS account and AWS bills the transfer; on R2 you download with a read-only API key and pay no egress. Layout:

# currency_ohlcv_1d: one file per UTC day
multichain/ohlcv/currency_ohlcv_1d<YYYY-MM-DD>.parquet
  1. Download a free sampleNo email needed.
  2. Pay nowName, work email and licence check.
  3. Pay the invoiceBy card or bank transfer.
  4. Download from S3 or R2The team prepares the export and emails the bucket path, plus a read-only API key for R2 orders.

Price

Latest month
Sep 8, 2026 → Oct 8, 2026
$75one-time, USD
  • The currency_ohlcv_1d table, 15 columns
  • Parquet files in the layout under Delivery
  • S3 or R2 download, chosen at checkout
  • Licensed under the Data License
Pay now

FAQ

10 questions
What is in the Crypto Price History dataset?

One Parquet table, currency_ohlcv_1d, with 15 columns: the day, the currency, USD open, high, low and close, USD and coin volume, the number of hourly bars behind the day, and four supply figures including market cap. About 8,900 rows for 300 currencies over 30 days.

How big is it?

About 8,900 rows and roughly 1 MB as Parquet, estimated from a one-day sample at 141 bytes per row. The export for the 30 days to 8 October 2026 returned 8,862 rows; exact figures arrive with the delivery manifest.

Which coins are included?

Currencies 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 file.

How far back does it go?

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.

How are the prices produced, and how were they checked?

Prices come from the Bitquery price index, the same series the Trading API serves. A daily bar is rolled up from the 24 hourly bars: open of the first hour, close of the last, highest high, lowest low, summed volume. 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.

What was left out, and why?

Coins with no trading on the ten chains we cover, coins with no known circulating supply, and coins that traded under $100,000 in the window. Centralized exchange trades are not in the source. Days with no trade have no row.

What should I watch out for?

Supply for a coin such as Bitcoin counts its wrapped copies on the chains we cover, not the native supply, so its market cap here is far below the figure on a price site. A few coins appear under more than one Currency_Id when a bridged copy has not been grouped with the main one. Prices are 32-bit floats in the source, good to about seven digits.

Is this the same as exchange price data?

No. Every price here is built from on-chain DEX trades. For widely traded coins it follows exchange prices closely; for a coin with thin DEX trading it can differ or have gaps.

How do I load it?

One line in DuckDB: SELECT * FROM read_parquet('currency_ohlcv_1d/*.parquet') LIMIT 10. Pandas works too: pandas.read_parquet(path).

How current is it, and how is it delivered?

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.