OpenChainBench
All benchmarks
001 · DataLive

Aggregator Head Lag — How Fresh Is the Data?

Time between an on-chain event and its appearance on each aggregator's WebSocket — measured against archive nodes tracking the canonical tip.

Last run

Apr 28, 2026, 9:34 PM UTC

Sample size

138,488

Providers

3

Lead

Mobula

Mobula leads at 0.5 s — about 86% under the field median.

Mobula · p50

0.5s

Cross-region median latency

Field median

3.4s

Median across 3 providers

Tail spread (p99)

11.1×

Worst p99 23.3 s vs lead 2.1 s

Abstract

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. Lower is better.

Distribution

Fig. 1Head lag distribution
05.0s10s15s20s
↓ Field median
  • 01Mobula
    0.5 s
  • 02Codex
    1.6 s
  • 03GeckoTerminal
    8.0 s
p50p90 p99
Source · Run Apr 28, 2026, 9:34 PM UTC · 138,488 samplesNote · Lower is better. Range is p50 → p99; pill is each provider's signature color. Failed requests are excluded from latency aggregates and counted toward success rate.

Full ledger

Fig. 2Latency, reliability and 24-hour trend
Providerp50p90p99MeanSuccess24h trend
MobulaLead

WebSocket feed

0.5 s1.4 s2.1 s0.7 s97.93%
Codex

GraphQL feed

1.6 s3.3 s8.8 s2.0 s84.06%
GeckoTerminal

REST feed

8.0 s13.2 s23.3 s8.9 s99.41%
Source · Cross-region medians, all providers

By region

Fig. 3p50 latency by region
ProviderUS-EastEU-WestAP-Southeast
Mobula
0.5 s
0.5 s
0.5 s
Codex
1.5 s
1.6 s
1.6 s
GeckoTerminal
7.3 s
8.0 s
7.4 s
Source · Per-region cross-section

Methodology

  • Aggregators measured: Mobula, Codex, GeckoTerminal.
  • Chains: Base, BNB Chain, Solana.
  • Regions: us-east, eu-west, sgp. Cross-region median reported in the headline.
  • Reference: archive nodes per chain, validated against block hashes.
  • Metric: gauge `head_lag_seconds`, sampled every 15 seconds. Aggregated over the 24-hour window using `quantile_over_time`.
  • Success rate: presence ratio — share of expected sampling slots where a value was actually emitted (5,760 expected per provider per day at the 15s cadence). 100% means the aggregator's feed was reachable for the full window.
  • Cardinality: 3 aggregators × 3 chains × 3 regions = 27 active series.

Source code: OpenChainBench/OpenChainBench/tree/main/harnesses/aggregator-head-lag

Cite this report

@misc{openchainbench-001,
  author       = {{OpenChainBench}},
  title        = {Aggregator Head Lag — How Fresh Is the Data?},
  year         = {2026},
  howpublished = {\url{https://openchainbench.xyz/benchmarks/aggregator-head-lag}},
  note         = {Run on Apr 28, 2026, 9:34 PM UTC}
}