Fastest crypto price API, live head lag across Mobula, Codex, GeckoTerminal
Wall-clock head lag in seconds from on-chain swap event to API emission, measured live for Mobula, Codex and GeckoTerminal on Base, BNB Chain and Solana.
This benchmark measures the question every builder of a trading UI, a PnL tracker or a live DEX dashboard has to answer before picking a data provider. how many seconds elapse between a swap landing on chain and the same event appearing on the provider's feed. Marketing pages quote "real-time" without a number; this page quotes the number. Mobula's WebSocket, Codex's GraphQL feed and GeckoTerminal's REST endpoint are watched from three regions (us-east, eu-west, sgp) against canonical-tip archive nodes on Base, BNB Chain and Solana. Because each chain has its own base block cadence (Solana's ~400 ms slots vs Base/BNB's 2-3 s blocks), the headline winner shifts by chain. On Solana the leader is Mobula at 0.0 s; on Base it's Mobula at 0.7 s; on BNB Chain it's Mobula at 1.1 s. p50 and p99 are computed via Prometheus `quantile_over_time` over a 24-hour window so the leaderboard reflects sustained freshness, not a cherry-picked cold-start sample. The same harness tracks presence (5760 expected samples per provider per day), so a provider whose feed dropped for an hour shows it on the success rate column rather than disappearing silently from the latency aggregate.
Methodology
We measure the gap between a transaction settling on chain and the same transaction appearing on each aggregator's data feed. The harness watches reference pools across Base, BNB Chain and Solana from three regions (us-east, eu-west, sgp), records every new on-chain event with millisecond timestamps, and observes when each aggregator's WebSocket reflects the same event.
Frequently asked
Which crypto data API has the lowest latency right now?
It depends on the chain, because each chain's base block cadence sets a different floor. On Solana the leader is Mobula at 0.0 s (p50, 24 h). On Base it's Mobula at 0.7 s. On BNB Chain it's Mobula at 1.1 s. The unfiltered cross-chain aggregate puts Mobula on top at 0.7 s, but that ranking is influenced by chain mix as much as by provider pipeline speed - read the per-chain numbers if you're picking a provider for a specific chain.
What is head lag in a crypto data feed?
Head lag is the wall-clock interval between a transaction landing in a confirmed block on chain and the same transaction appearing on the data provider's feed. A provider with 200 ms head lag pushes the event a fifth of a second after it settled; a provider with 6 s head lag pushes it after six seconds. The number controls how live a trading UI, a chart or a PnL tracker actually feels when the underlying chain moves.
Is WebSocket faster than REST for crypto market data?
Yes, structurally. A WebSocket connection pushes events the moment the provider's indexer has them, so latency tracks the publisher's indexer speed and the network path. REST polling adds the poll interval to every read: a one-second poll cadence puts a floor of one second on top of whatever the indexer adds. The leaderboard shows the difference live, with Mobula on a WebSocket feed, Codex on GraphQL subscriptions and GeckoTerminal on REST.
How fast does GeckoTerminal update prices?
GeckoTerminal currently sits at 9.5 s (p50, 24 h) head lag on this benchmark. REST endpoints update at the publisher's chosen cadence rather than the moment a swap lands, which is the architectural reason REST polling reads slower than WebSocket feeds for the same underlying chain data.
How is head lag measured on OpenChainBench?
The harness holds a live WebSocket subscription to canonical-tip archive nodes on each chain (Base, BNB Chain, Solana). Every new on-chain swap is timestamped on receipt with millisecond precision. The harness then watches each provider's feed for the same event and computes the delta. p50, p90 and p99 are aggregated over 24 hours via Prometheus `quantile_over_time`. Errors and dropouts are tracked separately as a presence ratio so a fast feed that disappears does not silently rank above a slower feed that stays up.
Which data provider should I pick for a real-time trading interface?
Read both the p50 and the p99 columns. p50 tells the typical experience, p99 tells the worst minute a user will see when a chain spikes or a region's path degrades. A 500 ms p50 with a 30 s p99 means most of the time the UI feels snappy and once per minute it stutters. The leaderboard splits both, plus the success rate column flags providers whose feed dropped during the measurement window.
Source code github.com/ChainBench/OpenChainBench/tree/main/harnesses/aggregator-head-lag
