← Back to dashboard

Methodology

SwapBench continuously polls each provider's quote API on a fixed schedule (a "round", every 5 minutes by default) for a given chain, token pair and amount, then ranks providers on four metrics.

Scoring · % of Best

Rather than only counting outright wins (which collapses to 100% for one provider and 0% for everyone else), we score how close each provider is to the best one in every round, then average across the window. A score of 100% means the provider was the best (or tied) that round; a slightly worse quote scores slightly below 100%, so the real gap is visible.

Providers with no comparable value for a metric are shown as n/a rather than scored.

Metrics

Accuracy tiers (honest by design)

True accuracy requires the quote's executable calldata, which only some APIs return. We never fabricate a number:

Providers & the cross-chain problem

0x quotes EVM chains, Jupiter quotes Solana, and Chainworks quotes native-asset ↔ token swaps on both. Because the chains share no liquidity, providers are only ranked within a chain group: 0x vs Chainworks on EVM, Jupiter vs Chainworks on Solana. The benchmark pair is "sell N USDC for the chain's native asset" (USDC → ETH/BNB on EVM, USDC → SOL on Solana) — the one shape all three can quote.

The amount parameter

?amount= is the sell amount in 6-decimal USDC base units: 500000000 = 500 USDC, 50000000000 = 50,000 USDC. On chains where USDC has different decimals (BSC), the notional is rescaled automatically.

Extensible by design

New aggregators can be added without changing the methodology: each provider declares which chains it supports, and the dashboard renders whatever chain groups exist.

All providers are benchmarked using their standard API configuration. No fees waived or negotiated.