{"slug":"price-api-accuracy","title":"Crypto price API accuracy: how far each feed sits from the exchange price","subtitle":"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.","category":"Aggregators","metric":"Price gap","unit":"bp","status":"live","higherIsBetter":false,"filters":null,"value":5.37755,"leader":{"name":"Bitculator","slug":"bitculator","value":5.37755},"leaders":[{"name":"Bitculator","slug":"bitculator","value":5.37755}],"rankings":[{"name":"Bitculator","slug":"bitculator","ms":{"p50":5.37755,"p90":17.8971,"p99":44.88,"mean":8.03486},"successRate":100,"sampleSize":2412.56,"sampleHealth":3.7230864197530864,"dataConfidence":"healthy"},{"name":"CoinGecko","slug":"coingecko","ms":{"p50":6.80101,"p90":23.2626,"p99":48.3758,"mean":10.0097},"successRate":99.92490000000001,"sampleSize":11981.8,"sampleHealth":18.49043209876543,"dataConfidence":"healthy"},{"name":"CoinPaprika","slug":"coinpaprika","ms":{"p50":7.70833,"p90":23.8143,"p99":71.7813,"mean":11.2705},"successRate":100,"sampleSize":603.141,"sampleHealth":0.930773148148148,"dataConfidence":"healthy"},{"name":"Mobula","slug":"mobula","ms":{"p50":10.1682,"p90":39.7962,"p99":111.874,"mean":16.8588},"successRate":99.9253,"sampleSize":24089.6,"sampleHealth":37.175308641975306,"dataConfidence":"healthy"},{"name":"CoinStats","slug":"coinstats","ms":{"p50":10.8732,"p90":24.5863,"p99":58.9545,"mean":12.9879},"successRate":100,"sampleSize":6031.41,"sampleHealth":9.30773148148148,"dataConfidence":"healthy"}],"sparkline":[4.33333,5.75,5,5.125,5.1,5.05556,3.92857,3.5,2.88889,3.375,3.64286,4.7,5.2,6,7.25,7.66667,8.16667,9,9.625,5.58333,4.75,4.2,3.625,3.5,3.07143,4.3,5.2,7.5,8.66667,6,3.5,2.92857,3.33333,2.83333,3.7,3.33333,5,5.25,6.5,4.5,3.5,3,3.2,4,5.2,5.5,6,4.9375,7,6.3,10,8.4375,10.75,12,15.9375,18.4615,15.625,10.75,8.5,8.125,9,7.5,5.9,4.66667,4.5,4.625,5.81818],"sampleSize":50475.761,"expectedN":648,"dataConfidence":"healthy","asOf":"2026-10-20T19:02:14.151Z","freshness":{"asOf":"2026-10-20T19:02:14.151Z","ageHours":0.2,"stale":false},"measured":6,"ranked":5,"headline":"Bitculator posts the lowest price gap at 5.38 bps (p50, 24h) across 5 ranked price APIs.","quote":"Bitculator posts the lowest price gap at 5.38 bps (p50, 24h) across 5 ranked price APIs. Source: OpenChainBench (https://openchainbench.com/benchmarks/price-api-accuracy).","cite":{"plain":"OpenChainBench. \"Crypto price API accuracy: how far each feed sits from the exchange price\". Retrieved 2026-10-20. https://openchainbench.com/benchmarks/price-api-accuracy","bibtex":"@misc{ocb_price_api_accuracy,\n  author = {OpenChainBench},\n  title  = {Crypto price API accuracy: how far each feed sits from the exchange price},\n  year   = {2026},\n  url    = {https://openchainbench.com/benchmarks/price-api-accuracy},\n  note   = {Retrieved 2026-10-20}\n}","apa":"OpenChainBench. (2026). Crypto price API accuracy: how far each feed sits from the exchange price. Retrieved October 20, 2026, from https://openchainbench.com/benchmarks/price-api-accuracy","ris":"TY  - GEN\r\nAU  - OpenChainBench\r\nTI  - Crypto price API accuracy: how far each feed sits from the exchange price\r\nPY  - 2026\r\nUR  - https://openchainbench.com/benchmarks/price-api-accuracy\r\nY2  - 2026-10-20\r\nER  - \r\n"},"pageUrl":"https://openchainbench.com/benchmarks/price-api-accuracy","ogImage":"https://openchainbench.com/api/og/price-api-accuracy","source":"https://github.com/ChainBench/OpenChainBench/tree/dev/harnesses/price-api-accuracy","methodology":["Reference: the median of the Coinbase (USD), Kraken (USD) and Binance mids, refreshed every five seconds, Binance's USDT books converted at the Coinbase and Kraken USDT/USD mid. An asset is scored only when two venues priced it (the median of two is their mean), against the snapshot nearest the answer's arrival, within six seconds. A poll with no reference that close, or lost in our proxy before any HTTP status, is counted apart and never against the provider.","The headline is the median absolute gap over 24 hours, pooled across the assets a provider serves, in basis points. Percentiles are read from a histogram with half basis point buckets up to 15, so a median is exact to within half a basis point. The asset tabs give the same figure per coin, which is the like for like comparison. The bias column is the mean signed gap: positive means the API prints above the market.","Each provider is polled on the cadence its quota allows: every 30 seconds to every 20 minutes. Fewer polls give fewer samples of the same distribution, not a different score, and the Samples column shows how many answers each row rests on.","Price age comes from the provider's own last-updated stamp, read at the moment the answer arrived. A provider that publishes no stamp shows a dash, which does not mean its price is fresh.","Serialized is an on-chain DEX price feed and is listed unranked. It prices WETH, wSOL, WBNB and LINK in their pools. BTC is left out because WBTC trades 15 to 20 bps under BTC, measured on Binance's WBTC/BTC book and on a KyberSwap quote, and scoring it against BTC would charge it for the wrapper's discount. Serialized does not index Avalanche.","Mobula is addressed by its numeric asset id. Looked up by name, Bitcoin resolved to a different token priced at 9e-14 USD in three of 66 internal polls, a lookup artefact this page does not charge to anyone.","CoinGecko is read through its keyless public API, reached through a proxy because it answers 429 to the host's shared address. Paid CoinGecko plans may refresh faster than the keyless tier measured here. CoinPaprika is read keyless at 27 calls an hour, under its 60 an hour and 25,000 a month limits. POL was measured internally and left out: one ranked provider does not list it.","Absent and why: CoinMarketCap and CoinDesk (formerly CryptoCompare) require an API key we have not been issued. Neither is excluded on performance.","One probe region, the OpenChainBench host in France. The gap does not depend on where the request comes from the way latency does, but the reference and the answer are both read from there."],"license":"CC-BY-4.0"}