{"slug":"indexing-freshness","title":"Freshest wallet data API. Zerion, Moralis, Allium, GoldRush, Mobula","subtitle":"Seconds between an organic transfer confirming on Base and the moment each wallet data API first returns it, measured continuously on real user transactions.","category":"Aggregators","metric":"Indexing freshness","unit":"sec","status":"live","higherIsBetter":false,"value":1.54023,"leader":{"name":"Mobula","slug":"mobula","value":1.54023},"rankings":[{"name":"Mobula","slug":"mobula","ms":{"p50":1.54023,"p90":1.97241,"p99":61.2,"mean":1.54023},"successRate":100,"sampleSize":94.0208},{"name":"Zerion","slug":"zerion","ms":{"p50":1.54023,"p90":1.97241,"p99":10.295,"mean":1.54023},"successRate":100,"sampleSize":94.0209},{"name":"Allium","slug":"allium","ms":{"p50":3.47379,"p90":5.00085,"p99":13.8,"mean":3.47379},"successRate":100,"sampleSize":30.0069},{"name":"GoldRush","slug":"goldrush","ms":{"p50":5.72288,"p90":18.5,"p99":91.1,"mean":5.72288},"successRate":100,"sampleSize":89.0199},{"name":"Moralis","slug":"moralis","ms":{"p50":9.5,"p90":16.875,"p99":56.75,"mean":9.5},"successRate":100,"sampleSize":65.0145}],"sparkline":[1.25534,1.26232,1.3193,1.32185,1.33989,1.32097,1.3009,1.26477,1.25509,1.32617,1.58656,1.54671,1.4759,1.23779,1.20505,1.16278,1.20909,1.27812,1.34578,1.31788,1.2991,1.29642,1.2587,1.2862,1.37504,1.49936,1.48018,1.36029,1.25888,1.25787,1.24505,1.5479,1.60249,1.74085,1.41141,1.39287,1.20584,1.19057,1.14325,10.5127,10.5628,10.5586,1.25047,1.18858,1.35839,1.35951,1.40983,1.26588],"sampleSize":372.08299999999997,"asOf":"2026-07-08T13:35:23.053Z","headline":"Mobula leads indexing freshness at 1.5 s (p50, 24h) on Freshest wallet data API. Zerion, Moralis, Allium, GoldRush, Mobula.","quote":"Mobula leads indexing freshness at 1.5 s (p50, 24h) on Freshest wallet data API. Zerion, Moralis, Allium, GoldRush, Mobula. Source: OpenChainBench (https://openchainbench.com/benchmarks/indexing-freshness).","cite":{"plain":"OpenChainBench. \"Freshest wallet data API. Zerion, Moralis, Allium, GoldRush, Mobula\". Retrieved 2026-07-08. https://openchainbench.com/benchmarks/indexing-freshness","bibtex":"@misc{ocb_indexing_freshness,\n  author = {OpenChainBench},\n  title  = {Freshest wallet data API. Zerion, Moralis, Allium, GoldRush, Mobula},\n  year   = {2026},\n  url    = {https://openchainbench.com/benchmarks/indexing-freshness},\n  note   = {Retrieved 2026-07-08}\n}","apa":"OpenChainBench. (2026). Freshest wallet data API. Zerion, Moralis, Allium, GoldRush, Mobula. Retrieved July 8, 2026, from https://openchainbench.com/benchmarks/indexing-freshness"},"pageUrl":"https://openchainbench.com/benchmarks/indexing-freshness","ogImage":"https://openchainbench.com/api/og/indexing-freshness","source":"https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/indexing-freshness","methodology":["Ground truth: one probe event per 10 minutes. The harness watches new Base blocks through its own RPC and picks one random plain native transfer (value > 0, empty calldata, OP-stack system deposit excluded). T0 is the instant the harness observes the containing block; the same T0 is used for every provider.","Anti-gaming by construction: the measured wallet is a random real user's address, different on every event, so no provider can whitelist or pre-warm a known benchmark wallet. Every measurement is re-verifiable by anyone from the public tx hash.","Poll schedule: each provider's wallet transactions endpoint is polled at 1, 2, 3, 4, 6, 8, 11, 15, 20, 26, 34, 45, 60, 80, 100 and 120 seconds after T0. Reported lag is the first poll at which the response contains the tx hash, an upper bound with resolution equal to the gap between consecutive polls.","Detection is parser-free: the raw response body is scanned for the tx hash substring. Every cohort API returns the hash verbatim, so no provider gains or loses from response schema differences.","Cold wallets by design: because each event uses a never-before-queried address, results include any on-demand indexing path a provider runs for new wallets. This mirrors the experience of a user opening an app on a fresh address, and it is disclosed here because warm, continuously-queried wallets may see lower lags.","Classification: found (lag recorded), missed (not indexed within 120s), api_error (provider errored on every poll of the event). Percentiles are computed from the histogram of found lags over 24h; the miss rate is published alongside because latency without reliability is a misleading ranking signal.","Quota fairness: per-provider monthly call budgets sized to each free tier with headroom, enforced by a guard that pauses probing at 90%. Allium participates in every third event (20k calls/month free tier); all other providers join every event. Sample sizes per provider are published.","Scope: Base mainnet, single probe region. Freshness lags are measured in seconds while cross-region network deltas are milliseconds, so multi-region probing would add cost without changing the ranking; this is revisited if two providers converge within one poll-step of each other."],"license":"CC-BY-4.0"}