AggregatorsLive

Crypto price API accuracy: how far each feed sits from the exchange price

Basis points between the USD price a market-data API publishes and the exchange mid of the same moment, on BTC, ETH, SOL, BNB, XRP, ADA, DOGE, AVAX and LINK.

TL;DR. As of , Bitculator posts the lowest price gap at 5.39 bps (p50, 24h) across 5 ranked price APIs. Source: OpenChainBench, https://openchainbench.com/benchmarks/price-api-accuracy.

Read this carefully

The figure is the gap between what a price API printed and what the exchanges were quoting when the answer arrived, so it bundles two things: how the API builds its price and how old that price is. A feed refreshed every minute carries up to a minute of market drift into its gap, and that is intended, because it is what a reader of the API receives. The signed bias column separates a constant offset from noise.

Every market-data API publishes a price for Bitcoin. Few say how close that price sits to the market at the moment you read it. This page asks each API for the same majors and scores every answer against the mid of three exchanges taken at the same second, so the figure is a distance rather than a price. Two things drive the distance: how the API builds its number, and how long ago it built it. A constant offset usually means the first, scatter around zero the second, which is why the bias sits beside the gap.

Methodology

The harness polls each price API for nine majors on the cadence its quota allows, and scores every answer against the median of the Coinbase, Kraken and Binance mids taken within six seconds of it. Binance quotes these coins against USDT, so its books are converted at the USDT/USD mid before entering the median: read as dollars they sat about twelve basis points high on 2026-10-19, with USDT at 0.9988. The ranked rows are APIs that publish a coin's market price. Serialized is listed beside them without a rank: it prices the wrapped token in its on-chain pools, which is a different product, and it covers the majors that have a canonical on-chain twin. What this page does not measure is latency. One provider is reached through a proxy because its keyless tier refuses the host's shared address, and a latency column would publish the proxy.

Results: 6 price APIs measured, 5 ranked by Price gap (p50, 24h)

Crypto price API accuracy: how far each feed sits from the exchange price: Price gap per price API (p50, 24h).
№Price APIsMedian gapSigned biasPrice ageAssets servedSuccess
1Bitculator5.39 bps0.28 bps52.6 s9100.00%
2CoinGecko6.83 bps2.91 bps44.8 s999.92%
3CoinPaprika7.53 bps3.03 bps3.3 min9100.00%
4Mobula10.2 bps-4.64 bps—999.92%
5CoinStats11.0 bps7.33 bps—9100.00%
Measured, not ranked
not rankedSerializedOn-chain DEX price6.90 bps3.64 bps—4100.00%

Frequently asked

Which crypto price API is closest to the market price?

On the nine majors measured here, Bitculator sits closest to the exchange mid, a 5.39 bps median gap over 24 hours. The asset tabs compare the same coin side by side and are the better read when two rows are close.

Why do price APIs print different prices for the same coin?

They weigh different venues and pairs, some count USDT books as dollars, and they refresh at different speeds. The USDT effect shows as a steady positive bias on every asset: when USDT trades at 0.9988, a price built from USDT books reads about twelve basis points high. The bias column shows which rows carry one.

What is the reference price?

The median of the Coinbase, Kraken and Binance mids, refreshed every five seconds, with Binance's USDT books converted at the USDT/USD mid of Coinbase and Kraken. Each answer is scored against the snapshot taken within six seconds of its arrival, and an asset is only scored when at least two venues priced it.

Why is Serialized not ranked?

It is an on-chain DEX price feed: it prices the wrapped token in its pools (WETH, wSOL, WBNB, LINK) rather than the coin's market, and covers four of the nine majors. Its numbers are published beside the ranked APIs so the two kinds of feed can be compared, without ranking them on ground they do not share.

Does a slower refresh make a price API less accurate here?

Yes, by design. The gap is what a reader of the API receives, and a price rebuilt every minute carries up to a minute of market drift. The price age column, read from each provider's own last-updated stamp, shows how much of a gap comes from age rather than from how the price is built.

Source code github.com/ChainBench/OpenChainBench/tree/dev/harnesses/price-api-accuracy