ClearTrace Scorecard · Edition 2 of a recurring series

DEX Aggregator Execution Scorecard
Edition 2, August 2026

The rated record of DEX aggregator execution quality: quote accuracy, execution slippage, and revert rates, measured the same way for every aggregator on this board, by a third party with no routing product, and frozen so the numbers can't be edited after the fact. The board is not a complete census: venues withheld from ClearTrace's published outputs, and venues we do not yet sample, do not appear on it at all.

Chain: Ethereum  ·  Snapshot frozen: 2026-08-07 04:27 UTC  ·  On-chain data: 7-day window to 2026-08-05  ·  Published: 2026-08-07  ·  Snapshot: scorecard-edition-2.json
SHA-256: 79069bbe93d86070af2a60c3b21770400bbecef918063aaef4f4a9e1cf184203

Why a rated edition exists

Every aggregator claims best price and high reliability, and those claims are self-reported, published by the routing product being measured. Meanwhile MiCA transposes MiFID-style best-execution duties into crypto: under Regulation (EU) 2023/1114, Article 78 obliges a CASP executing client orders to take all necessary steps to obtain the best result and to evidence it on request, with record-keeping under Article 68. The regime applied from 30 December 2024, and the transitional window that let existing providers keep operating without full authorisation closed, at the latest, on 1 July 2026, so evidencing best execution is already in force. Compliance dashboards (e.g. DefiLlama's MiCA tracker) cover exchange-level obligations, not execution quality at the routing layer, where the trades actually happen.

This scorecard is a neutral, methodology-published, third-party rated record: we operate no router and take no order flow, the method is published, and each edition is numbered, dated and hashed. A rating you can cite in a governance forum, a marketing page, or a best-execution file. The snapshot below is what the hash covers, so the numbers cannot be back-dated or quietly revised; the findings text on this page is not hashed, and corrections to it ship as dated, additive notes whose full history is public in git.

Errata & changes since Edition 1

This scorecard corrects earlier editions in the open, never by silent edit. Edition 1's frozen snapshot and hash are unchanged; the corrections below travel forward with the record.

Edition 2 findings

Post-publication note (2026-09-24). The quote-gap figures below were computed over four chains, not Ethereum. They are flagged rather than restated, and the reason is given here. This edition is scoped to Ethereum and its revert and execution-cost columns are. Its quote-gap column is not: the code that built it filtered the on-chain half to one chain and never filtered the quote samples, so each gap pooled Ethereum, Base, Arbitrum and Optimism fills. L2 sampling had begun three days before this edition froze, so the contamination here is small — 9.7% of the 43,590 samples behind these figures were not Ethereum, against 39.3% by Edition 3. The direction is known and is the same throughout: L2 fills quote tighter, so each published figure flatters the venue slightly against its own Ethereum samples. No corrected value is published here, because we cannot produce one honestly. Restating a frozen figure means rebuilding it from this edition’s own corpus at its own freeze, and that rebuild does not reproduce what this edition published: against today’s code it returns KyberSwap 1.14 where 1.18 was published, OKX 2.96 against 3.04, OpenOcean 10.88 against 10.96 and LI.FI 0.83 against 0.82. Those gaps are small and they are not the chain defect — they are the sampler corpus and the cell code having moved in the seven weeks since. A restated number that cannot first reproduce the published one is a different measurement wearing a correction’s clothes, so the figures below stand as published and should be read as four-chain numbers. Edition 3’s note of the same date carries restated values, because its rebuild does reproduce its published figures exactly. Per this scorecard’s integrity model the snapshot, the findings text and the SHA-256 hash are unchanged.
Post-publication note (2026-09-10). Tokenlon's execution-cost figure below is withdrawn. Most of it was never a cost anyone paid. Dune's Tokenlon spellbook records the signed order's quoted amount as the amount bought: tokenlon_v5_ethereum_amm_v1/v2_trades take token_bought_amount_raw from order.makerAssetAmount on the AMMWrapper Swapped event, while the same event carries the settleAmount the taker actually received. The amount sold is read from takerAssetAmount and is correct, because the taker does pay exactly that. So the error runs one way only, and an execution-cost metric measured against the quote reads it as a cost.

Decoding every AMM-route fill of a seven-day window (1,310 fills, from transaction receipts) puts the size of it at a median 47.4 bps: takers received that much more than the source records, and the quoted amount matches no transfer in the transaction. About 30 bps of what remains is Tokenlon's own disclosed fee, measured from the same log, leaving a few basis points of genuine routing cost. Tokenlon's RFQ route reads the same field and shows no such gap, because an RFQ quote is firm and the quote is the fill.

The caution extends to the execution-cost column of the table below, which is sorted by it. Tokenlon's position at the bottom of that column is a ranking whatever the prose says, and it is not supported.

No replacement figure. The window decoded above is a recent one, not this edition's. The direction is certain for every window — on a route that quotes with a slippage buffer the recorded quote can only understate what the taker received — so 74.47 bps overstates Tokenlon's execution cost here too. The size of the overstatement in this edition's window has not been measured, and we are not going to publish a number we did not measure. It follows that we have also not established whether the count in “Most aggregators do not beat the venue default” is affected: it moves only if the corrected figure falls below the 8.82 bps baseline, and we have not checked that for this window.

Per this scorecard's integrity model, the Edition 2 snapshot, its findings text, and its SHA-256 hash are unchanged: the record stays frozen, and corrections are published as dated notes like this one. Tokenlon's execution cost is no longer served on any live ClearTrace surface, pending a source that records settled amounts; its revert rate is measured from transaction outcomes, not from amounts, and is unaffected by this defect.
Post-publication note (2026-10-01). The findings below describe the v6 user-only revert rate as a rate among “genuine users” counted by “our v6 classifier”, and the Errata section above calls it the rate among senders who “behave like real users”. It is neither. The v6 predicate is a threshold on each sender’s own outcomes, not a classification of who the sender is: it keeps senders whose transactions to the venue succeeded at least 90% of the time over the window (personal revert rate below 10%, with at least one success) and drops the rest. Two consequences follow. The figure is bounded under 10% by construction, and a sender whose few transactions included one failure is removed from the numerator and the denominator alike. Read every “genuine-user” figure on this page as the failure rate among consistently-succeeding senders, not as the rate people experience and not as the share of all attempts that fail. The residual term the first finding decomposes is likewise everything the threshold removed, which includes searcher traffic but is not a measurement of it. The frozen snapshot’s own note field carries the same wording (“senders classified as genuine users”, “the rate users actually experience”) and is left as it is, because it is inside the hash. No number on this page changes. Per this scorecard’s integrity model the snapshot, the findings text and the SHA-256 hash are unchanged; Edition 4 carries this correction forward in its errata, and the filter is set out in full on the methodology page.

Provenance: Bitget DEX, OpenOcean, SushiSwap, DODO X and Bebop are named above, and we have not ingested their own published deployment addresses. Their figures rest on our labelling of which contracts belong to them, and should be read as provisional.

The rated table

Rated = ≥30 realized fork-simulation quote samples spanning ≥7 days. On-chain metrics (slippage, reverts) cover every trade/transaction we attribute to the venue in the window, not a sampled subset of them, but attribution is entrypoint-framed, so the denominator is the flow entering through contracts we can tie to the venue, not the venue's total volume. Baseline = the direct-venue default aggregators are implicitly compared against. Revert rate shows the headline with the v6 genuine-user rate in parentheses; n/c marks a venue whose settlement model (batch auction, intent, or unclassified where we have not established who submits the settlement transaction) makes its on-chain revert rate not comparable to a router's. A venue marked wound down has shut down: its numbers are frozen history for the window measured, not a live venue. A venue marked unestablished is one whose own published deployment addresses we have not ingested: its numbers rest on our labelling rather than on the venue's list, and should be read as provisional. An execution-cost cell marked all-chain means the venue has no row on this chain, so the figure is its median across every chain we measure, shown as context and excluded from every finding. A dash (—) means we hold no measurement for that cell this edition, whether the venue had no qualifying traffic, fell below the query's reporting floor, or is not yet quote-sampled; it never means zero. Router counts differ between findings because each states its own pool: the residual decomposition includes the venue default, the genuine-user comparison does not.

AggregatorStatusModelExec slippageRevert rate Quote gapQuote nRouting txs
Bitget DEX · unestablishedon-chain onlyRouter2.24 bps1.31% (0.47% users)——43,100
Bebop · unestablishedratedUnclassified6.66 bps3.85% n/c0 bps3,12692,269
1inchratedRouter6.9 bps1.41% (0.58% users)0 bps4,73191,593
Uniswap (direct venue)baselineRouter8.82 bps2.81% (1.05% users)0 bps4,834149,656
KyberSwapratedRouter9.42 bps2.39% (1% users)1.18 bps4,50687,659
CoW Protocolon-chain onlyBatch auction10.26 bps0.09% n/c——70,898
ParaSwap (Velora) · unestablishedratedRouter17.95 bps1.7% (0.35% users)1 bps4,63325,008
OKXratedRouter23.26 bps—3.04 bps3,033—
Tokenlon · unestablishedon-chain onlyUnclassified74.47 bps0% n/c——2,705
Odos · Wound down 2026-07-30 · data through Jul 2026ratedRouter——0 bps3,109—
OpenOcean · unestablishedratedRouter14.57 bps all-chain5.87% (0.76% users)10.96 bps3,8002,931
SushiSwap · unestablishedratedRouter28.75 bps all-chain2.54% (0.29% users)0 bps3,86940,575
LI.FIratedRouter——0.82 bps2,828—
1inch Limit Order Protocolon-chain onlyIntent—0.62% n/c——31,637
DODO X · unestablishedon-chain onlyUnclassified—3.59% n/c——17,364

Verify this edition

The findings above are computed from a frozen snapshot. To verify nothing has changed since publication, hash the snapshot and compare:

curl -s https://cleartracedata.com/static/data/scorecard-edition-2.json | shasum -a 256
79069bbe93d86070af2a60c3b21770400bbecef918063aaef4f4a9e1cf184203

The snapshot is committed to a public git history at publication time, which independently timestamps it.

Methodology & scope

Full methodology: cleartracedata.com/methodology and the open-dataset README. In brief: execution slippage is the median per-fill gap vs a 1-minute VWAP oracle over all on-chain trades; revert rate counts failed routing transactions from raw on-chain data; quote accuracy is a forward-captured fork-simulation sample (quoted vs realized). Aggregators we don't yet quote-sample appear with on-chain metrics only. Preliminary cells are shown but never rated. Quote-sample windows differ by venue (each venue is rated once it has enough samples of its own), so the quote column is not a single shared window the way the on-chain columns are. Scope: Ethereum for this edition; the live leaderboard is the free preview layer that accrues between editions.

Post-publication note (2026-09-25). The sentence above misnames the slippage baseline. It says execution slippage is measured against “a 1-minute VWAP oracle.” It is not. The query values both legs of each fill against Dune’s prices.usd at the minute of the fill, and Dune documents that table as a view of its Coinpaprika feed: exchange-aggregate market data at 5-minute intervals, interpolated to the minute. No volume weighting is applied anywhere in the query. Every figure on this page was computed exactly as it says elsewhere; only the name of the reference price was wrong. Logged in our corrections log and registered in our metric-findings registry as exec-slippage-baseline-is-not-a-vwap-2026-09-25.

Cite or commission

Cite this edition as: ClearTrace DEX Aggregator Execution Scorecard, Edition 2 (August 2026), sha256:79069bbe93d8…. Link: https://cleartracedata.com/scorecard/edition-2. For a private cut of your own routing versus peers (per-pair, per-size, with the failure modes), or a subscription to future rated editions for a best-execution evidence file, book a working session.

ClearTrace is an independent measurement firm: we operate no router, no frontend, and take no order flow. Editions are immutable once published; corrections, if ever needed, ship as an errata note in the next edition, never as a silent edit. · Home · Live leaderboard · Research · Privacy Policy · Terms of Service