Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions benchmarks/token-quote-coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@ per_chain_explainer:
- slug: solana
h2: "Best DEX aggregator for Solana launchpad tokens"
body: |
{{best_name:chain:solana}} currently leads on Solana at {{best_p50:chain:solana}} coverage (24h) across Pump.fun, Moonshot, and Meteora DBC. All three Solana launchpads graduate tokens to on-chain DEX pools: Pump.fun and Moonshot route to Raydium CPMM, while Meteora DBC graduates to DLMM concentrated liquidity pools. The pool-type split is the key differentiatoraggregators that hardcode Raydium AMM routing miss Meteora DBC graduates entirely. Jupiter's strictMode=false mode routes any token with a discoverable on-chain pool, giving it structural advantage on Pump.fun and Moonshot; DLMM coverage depends on whether the aggregator explicitly registers Meteora pool factories. The probe fires a 1 USDC to token quote at each provider once per 30-minute batch, using Dexscreener token-boosts as the discovery feed to avoid self-selection bias.
{{best_name:chain:solana}} currently leads on Solana at {{best_p50:chain:solana}} coverage (24h) across Pump.fun, Moonshot, and Meteora DBC. All three Solana launchpads graduate tokens to on-chain DEX pools: Pump.fun and Moonshot route to Raydium CPMM, while Meteora DBC graduates to DLMM concentrated liquidity pools. The pool-type split is the key differentiator,aggregators that hardcode Raydium AMM routing miss Meteora DBC graduates entirely. Jupiter's strictMode=false mode routes any token with a discoverable on-chain pool, giving it structural advantage on Pump.fun and Moonshot; DLMM coverage depends on whether the aggregator explicitly registers Meteora pool factories. The probe fires a 1 USDC to token quote at each provider once per 30-minute batch, using Dexscreener token-boosts as the discovery feed to avoid self-selection bias.
- slug: base
h2: "Best DEX aggregator for Base launchpad token coverage"
body: |
{{best_name:chain:base}} currently leads on Base at {{best_p50:chain:base}} coverage (24h) across Virtuals Protocol, Clanker, and WOW.XYZ. Base launchpad graduates converge on Uniswap V3 (Virtuals, Clanker) or Uniswap V2-style AMMs (WOW), so EVM aggregators with a live pool-creation event index have the narrowest discovery lag. The practical differentiator is indexing latency: an aggregator scraping the Uniswap V3 Factory log in real time picks up a new token within one block; one relying on a database sync job may lag by hours, recording misses on tokens the market is already actively trading. Clanker and WOW.XYZ show the most consistent coverage across providers because their pool types are already in every EVM router's standard graph. Virtuals agent tokens show wider spread due to metadata-gating in some routing engines.
- slug: bnb
- slug: bsc
h2: "Best DEX aggregator for BNB Chain new token coverage"
body: |
{{best_name:chain:bnb}} currently leads on BNB Chain at {{best_p50:chain:bnb}} coverage (24h) across Four.meme. BNB is the hardest environment in this benchmark for non-native aggregators: Four.meme graduates to PancakeSwap V2, and routing engines that do not maintain a live BNB Chain pool-creation index miss newly-minted pairs entirely. Providers that derive their BNB token list from a shared coingecko-style database rather than on-chain event tracking typically lag by several hours. The probe fires a 1 USDC (via USDC.e bridged) to token quote; KyberSwap has structural coverage advantages over Solana-first providers here due to its live BNB pool-creation event index.
{{best_name:chain:bsc}} currently leads on BNB Chain at {{best_p50:chain:bsc}} coverage (24h) across Four.meme. BNB is the hardest environment in this benchmark for non-native aggregators: Four.meme graduates to PancakeSwap V2, and routing engines that do not maintain a live BNB Chain pool-creation index miss newly-minted pairs entirely. Providers that derive their BNB token list from a shared coingecko-style database rather than on-chain event tracking typically lag by several hours. The probe fires a 1 USDC (via USDC.e bridged) to token quote; KyberSwap has structural coverage advantages over Solana-first providers here due to its live BNB pool-creation event index.
- slug: robinhood
h2: "DEX aggregator coverage on Robinhood Chain"
body: |
Robinhood Chain (chainId 4663) is Robinhood's EVM-compatible Layer 2, launched in 2025. Tokens on Robinhood launch and graduate via the Pons launchpad to Uniswap V3-based pools, with USDG as the primary stablecoin. The bench probes all EVM aggregators (KyberSwap, Mobula) against Pons-graduated tokens. As of launch, no major third-party aggregator has integrated Robinhood chain routing, so coverage is expected to be near 0% across all providersthis gap is the data point. The bench will capture the first aggregator to integrate Robinhood and reflect coverage improvements in real time.
Robinhood Chain (chainId 4663) is Robinhood's EVM-compatible Layer 2, launched in 2025. Tokens on Robinhood launch and graduate via the Pons launchpad to Uniswap V3-based pools, with USDG as the primary stablecoin. The bench probes all EVM aggregators (KyberSwap, Mobula) against Pons-graduated tokens. As of launch, no major third-party aggregator has integrated Robinhood chain routing, so coverage is expected to be near 0% across all providers,this gap is the data point. The bench will capture the first aggregator to integrate Robinhood and reflect coverage improvements in real time.

category: Aggregators
status: live
Expand Down Expand Up @@ -76,7 +76,7 @@ methodology:
- "Quote probe: 1 USDC → token, fired in parallel to all in-scope providers with a 10s timeout. Input token is always USDC (native USDC on Solana and Base, bridged USDC.e on BNB). A probe is a coverage hit when the HTTP response is 2xx and the parsed outAmount field is a non-zero positive integer or decimal. All other outcomes (4xx, 5xx, no-route JSON, empty outAmount, timeout) record as misses."
- "Aggregator endpoints: Mobula /api/2/swap/quoting (Bearer auth, EVM), Jupiter lite-api.jup.ag/swap/v1/quote (Solana), KyberSwap aggregator-api.kyberswap.com/{chain}/api/v1/routes (EVM), ParaSwap apiv5.paraswap.io/prices (EVM). Each adapter normalises chain identifiers, input/output decimals, and error response shapes before recording outcome."
- "Jupiter strictMode=false: queried without the curated-token filter so Jupiter will attempt routing for any token with a discoverable on-chain pool, matching how most wallets call the API. strictMode=true would trivially exclude new tokens and defeat the purpose of the benchmark."
- "Chain-scope enforcement: Jupiter probes Solana-only. KyberSwap, Mobula, and ParaSwap probe EVM chains. KyberSwap and Mobula also cover Robinhood chain; ParaSwap covers Base and BNB only. Robinhood chain is currently at 0% coverage across all providersan accurate reflection that no major aggregator has integrated Robinhood yet. Providers are never penalised for chains they structurally do not support: Solana cells for EVM-only providers are null, not zero."
- "Chain-scope enforcement: Jupiter probes Solana-only. KyberSwap, Mobula, and ParaSwap probe EVM chains. KyberSwap and Mobula also cover Robinhood chain; ParaSwap covers Base and BNB only. Robinhood chain is currently at 0% coverage across all providers,an accurate reflection that no major aggregator has integrated Robinhood yet. Providers are never penalised for chains they structurally do not support: Solana cells for EVM-only providers are null, not zero."
- "Coverage metric: Prometheus counters token_quote_coverage_success_total and token_quote_coverage_attempts_total carry labels {provider, venue, chain}. The bench queries compute increase(success[24h]) / increase(attempts[24h]) * 100 live at read time. No pre-aggregation; the ratio reflects exactly the tokens probed in the rolling window."
- "Probe cadence and deduplication: each batch cycles through the current Dexscreener token-boosts feed. Tokens are not deduplicated across batches; the same token may appear in multiple 30-minute windows if it remains boosted. The score therefore reflects freshness of the aggregator's current routing graph, not historical coverage depth."
- "Single origin: all probes originate from the eu-west OCB VPS. Regional latency is not a factor in this bench (the outcome is binary hit/miss, not latency). No region dimension in v1."
Expand Down Expand Up @@ -127,7 +127,7 @@ dimensions:
- { value: all, label: All chains }
- { value: solana, label: Solana }
- { value: base, label: Base }
- { value: bnb, label: BNB }
- { value: bsc, label: BNB }
- { value: robinhood, label: Robinhood }

ledger_columns:
Expand Down
Loading