What We Measure
We track multiple metrics to provide a comprehensive view of aggregator performance:| Benchmark | Description |
|---|---|
| Transaction Coverage | Unique transaction hashes captured per token (the ground truth) |
| Pool Discovery | Time between on-chain token deployment and aggregator detection |
| Head Lag | Delay between latest blockchain block and aggregator sync |
| REST API Latency | Response time for REST API endpoints |
| Quote API Latency | Response time for swap quote endpoints (vs DEX aggregators) |
| Metadata Coverage | Percentage of tokens with logo, description, social links |
All metrics are available in real-time on the Live Dashboard. Check it out for the latest numbers!
Transaction Coverage — Competitive Analysis
Solana is the critical chain. The fragmentation is structural: traders route through aggregators like Jupiter that bundle swaps across multiple DEXs simultaneously. On EVM chains, most volume flows through Uniswap or PancakeSwap directly — every provider indexes those reliably. Beyond coverage, each provider has a structural limitation that matters in production:| Provider | Solana coverage | EVM coverage | Critical limitation |
|---|---|---|---|
| Mobula | Reference | Complete | None |
| Bitquery | -11% to -13% | Perfect | 10k trades hard cap, no pagination |
| Codex | -22% to -25% | Perfect | 10 trades/page (60s for 296 TX) |
| Moralis | -48% to -57% | Good | Not viable on Solana |
Transaction Hashes — 10 min Windows
We tested Mobula, Moralis, Bitquery, and Codex on 8 tokens across Solana, Ethereum, BSC, and Base using 10-minute windows. The metric: unique transaction hashes — not total trade count, which varies depending on how each provider handles multi-leg swaps.| Chain | Token | Mobula | Bitquery | Codex | Moralis |
|---|---|---|---|---|---|
| Solana | Nana | 166 TX | 144 TX (-13%) | 125 TX (-25%) | 72 TX (-57%) |
| Solana | Oilinu | 107 TX | 95 TX (-11%) | 83 TX (-22%) | 51 TX (-52%) |
| Ethereum | OIL | 26 TX | 26 TX (0%) | 26 TX (0%) | 26 TX (0%) |
| Ethereum | Kimchi | 7 TX | 7 TX (0%) | 7 TX (0%) | 6 TX (-14%) |
| BSC | MILADY | 27 TX | 27 TX (0%) | 26 TX (-4%) | 25 TX (-7%) |
| BSC | ARK | 296 TX | 296 TX (0%) | 296 TX (0%) | 205 TX (-31%) |
| Base | Broke | 41 TX | 41 TX (0%) | 41 TX (0%) | 39 TX (-5%) |
| Base | LANCER | 166 TX | 166 TX (0%) | 167 TX (+0.6%) | 164 TX (-1%) |
Full benchmark code (independently testable): github.com/Flotapponnier/token-trade-benchmark-
Live Metrics — Latency & Coverage
The following metrics are tracked in real-time on the Grafana dashboard. Mobula vs Codex vs GeckoTerminal (and DEX aggregators for quotes):| Metric | What it measures | Compared to |
|---|---|---|
| Pool Discovery | Time from on-chain deploy to aggregator detection. Tracked on Pump.fun, Meteora, Four.meme, BAGS, Moonshot (Solana, BNB). | Codex, GeckoTerminal |
| Head Lag | Delay between latest blockchain block and aggregator sync (Solana, BNB, Base). | Codex, GeckoTerminal |
| REST API Latency | Response time for token data endpoints (p50, p95). | Codex, GeckoTerminal |
| Quote API Latency | Swap quote response time (Solana, Ethereum, Base, BNB, Arbitrum). | Jupiter, OpenOcean, ParaSwap, Li.Fi, KyberSwap |
| Metadata Coverage | % of tokens with logo, description, twitter, website. | Codex, GeckoTerminal, Jupiter |
View Live Dashboard
Real-time Grafana dashboards with all metrics above — updated continuously.
Methodology
- Transaction coverage: unique TX hashes in 10-minute windows, same tokens queried simultaneously across all providers
- Latency: real-time monitoring via WebSocket + REST polling, Prometheus metrics, Grafana visualization
- Same events compared across all aggregators at the same time
- Multiple chains tested: Solana, Ethereum, BSC, Base, Arbitrum
Tracked Aggregators
| Aggregator | TX Coverage | Pool Discovery | Head Lag | REST API | Quote API | Metadata |
|---|---|---|---|---|---|---|
| Mobula | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Codex | ✅ | ✅ | ✅ | ✅ | - | ✅ |
| GeckoTerminal | - | ✅ | ✅ | ✅ | - | ✅ |
| Bitquery | ✅ | - | - | - | - | - |
| Moralis | ✅ | - | - | - | - | - |
| Jupiter | - | - | - | - | ✅ (Solana) | ✅ (Solana) |
| OpenOcean | - | - | - | - | ✅ (EVM) | - |
| ParaSwap | - | - | - | - | ✅ (EVM) | - |
| Li.Fi | - | - | - | - | ✅ (EVM) | - |
| KyberSwap | - | - | - | - | ✅ (EVM) | - |
Run Your Own Benchmark
Want to verify the results yourself? Both benchmark tools are fully open-source.Latency Benchmark
| Service | URL | Credentials |
|---|---|---|
| Grafana | http://localhost:3000 | admin/admin |
| Prometheus | http://localhost:9090 | - |
| Metrics | http://localhost:2112/metrics | - |
Transaction Coverage Benchmark
Why These Metrics Matter
Transaction Coverage
Missing trades = wrong PnL, wrong volume, wrong analytics. On Solana, the gap between providers is 25-57%.
Pool Discovery
Faster detection of new tokens = first-mover advantage on new launches. Critical for trading bots and snipers.
Head Lag
Lower head lag = more accurate real-time data. Essential for live price feeds and position monitoring.
API Latency
Faster API responses = better UX. Important for dashboards, portfolio trackers, and trading interfaces.
Get Started with Mobula
Experience the fastest crypto data API yourself:Get Free API Key
Create your account and get instant access
View API Docs
Explore the REST API documentation
WebSocket Streams
Connect to real-time data streams
Cookbooks
Build with production-ready examples