ClearTrace|← All issues

ClearTrace

DEX Execution Insights

September 10, 2026  ·  Ethereum mainnet

Lead finding

The slippage number we publish is not an execution cost. What changed, and what did not.

The on-chain slippage figure on our leaderboard, our comparison pages and our API is built like this: for each fill, take the absolute gap between the minute-oracle value of what went in and what came out, then publish the median across a venue's fills. On 2026-09-09 we root-caused three venue cells on Ethereum and each one breaks that construction a different way. A fourth, the first one found, sits on a venue we do not currently publish and is left out here.

A flat wedge inside the fill. Tokenlon's Ethereum cell is 1,944 fills through one entrypoint from 708 senders, and it is at least three populations. 868 fills form a one-sided wedge at a median 82.05 bps with an interquartile range of 8.74, and that wedge sits at 79 to 80 bps in every notional band from $100 to $10,000. 278 fills on volatile pairs at $10k and above are ordinary execution, median 9.72, interquartile range 76.16. 425 stable-to-stable fills carry their own tighter wedge at a median 14.46. The number we publish, 65 to 70 bps depending on the week and 66.36 on this morning's board, lands in the trough between the modes, which holds about 7% of the fills. It describes none of them. Twenty-eight of the 31 senders with eight or more fills appear on both sides of the wedge, so this is a per-trade attribute rather than two kinds of customer. Whether it is an integrator fee or a flat quoted spread we cannot tell from the trade table, which has no fee field, and we have not identified which integrator it belongs to. What the shape does settle is that a wedge which does not move across two orders of magnitude of trade size is not price impact.

The absolute value discards direction. A venue whose fills systematically land above oracle value publishes as if they had lost. Swaap's Ethereum cell, at the time of the diagnosis, was 2,225 fills entering 99.6% through one unlabelled contract from 33 addresses, published at 12.56 bps and ranked 18th of 37 on the chain. Only 8.9% of those fills were positive; the signed median was -10.09 bps; and every qualifying pair was negative in both directions, WBTC to USDC at -13.37 and USDC to WBTC at -12.32, which is a risk-free round trip and cannot be an execution cost. The decode is correct. In 40 of 40 sampled transactions the address the row calls the sender holds no tokens at all, 85% of them are two contracts exchanging directly, and the entrypoint keeps a median 1.60 bps of the 7.86 bps the metric booked as the taker's gain. There is no trader in the row. That cell was withdrawn venue-wide on 2026-09-09 and no Swaap row is served today.

Below the oracle's own dispersion the metric measures the dispersion. For a signed distribution symmetric about zero, the median of the absolute values equals the 75th percentile of the signed ones, exactly. A venue whose real cost is small next to minute-scale oracle noise publishes the 75th percentile of that noise for its token pairs. DODO's Ethereum cell is the clean case: in the 2026-09-09 sweep every entrypoint with more than 100 fills had a signed median inside plus or minus 0.10 bps, and this morning's row reads 0.42 bps over 4,936 trades, 48.9% positive, signed quartiles -0.45 and +0.39. That row stays, and it sorts first on the Ethereum board, because it is a genuine two-sided cell. What its 0.42 measures is how quietly its pairs are priced.

The third case had already reached a reader. Our DODO-versus-Uniswap comparison page told anyone choosing between the two that DODO showed tighter execution, 99.2 against 87.7 out of 100 and about 0.8 bps against about 12.3, over 7,983 and 1,471,657 trades as of September 4. Uniswap's figure is a real two-sided cost. DODO's is oracle dispersion. We withdrew that ranking on 2026-09-09, and the page generator now refuses to state one wherever either side's signed median is negative, which is a sign change rather than a tuned threshold. While checking this issue we found one sentence on that page still claiming an 11.5-point edge, a paragraph above the withdrawal; it goes out with this issue.

What changed and what did not. Withdrawn: Swaap's cells, DODO's Arbitrum cell (45.8% of it is a staking vault rebalancing itself, and all three qualifying pairs are negative both ways), DODO's cross-chain rollup, which pooled the withdrawn Arbitrum fills with the rest, and the DODO-versus-Uniswap ranking. Kept: the leaderboard still sorts venues by this number, and the public protocols endpoint still serves it in that order. Disclosed: the three limits above are now on the API field itself, in the open dataset's README, and in the execution-quality write-up linked below. The shape that makes the three cases visible, the share of fills that are positive, the number scored and the signed quartiles, landed in the table this morning and is not yet shown beside the number on the board or the API. Until it is, the number is easier to misread than it should be, and a reader ranking venues on it should read the API field description first.

We did not delete the Tokenlon wedge. Every one of those fills is a trade that happened at that price, the table has no fee field to net out, and any rule sharp enough to catch the wedge would have to cut on the shape of the distribution itself. That moves Tokenlon's published figure from 68.18 to 12.07 bps on mode detection we cannot falsify and cannot attribute to a named party. We already treat the quote side the same way: OpenOcean charges 1 bp on stables and 10 bps on volatile pairs, ParaSwap a flat 1 bp on major pairs and LI.FI 25 bps of the sell amount, and each of those is disclosed next to its number rather than subtracted from it, because any threshold over medians reads a fee-bearing venue as fee-free.

This is the on-chain metric taken over all of a venue's trades. The quote sampler's realized comparison, which simulates a venue's own route against the same trade sent through the Uniswap default, is a separate measurement. The sign and noise-floor cases do not apply to it. The fee case does, and last week's issue was about exactly that.


Also this week

The quote sample, as of this morning's 11:34 UTC capture. 115,316 quotes over 79.5 days, of which 99,211 were simulated to a realized fill, or 86%. 325 of 403 cells, a venue on one pair at one size, now clear the bar for a rated accuracy figure: at least 30 realized samples spanning at least seven days, with a sample in the last three.

A rated badge on a cell that had gone quiet. Our third frozen scorecard edition, published 2026-09-08, shows OpenOcean's Ethereum quote-accuracy cell as rated. The last quote OpenOcean's API returned to our sampler was on 2026-08-20 at 19:05 UTC; the 1,930 requests since then, through this morning, all came back without one. The edition met the sample-count rule on frozen history and missed the recency rule. The live board has read stale for that cell since; the edition is frozen by design and carries the error, and it is registered as an open defect against our own number.

Attribution coverage, as of the 2026-09-08 weekly refresh. The share of DEX volume in our denominator that we can attribute to a named router or frontend: Arbitrum 94.3%, Optimism 94.2%, Ethereum 82.5%, Base 82.1%, which weights to 85.9% across the four chains. That leaves $924.5M untraced on Ethereum and $867.6M on Base for the week. One caveat on Base: our denominator there is 81.9% of DefiLlama's chain volume, so both sides of that ratio are missing some flow.


Open the dashboard  ·  How the slippage figure is built, and its three limits  ·  Methodology

If you think a figure here is wrong, reply and we will check it.

ClearTrace · Cross-chain DEX attribution. On-chain slippage figures are from the 2026-09-10 02:18 UTC data sync unless dated otherwise; the Tokenlon, Swaap and DODO diagnoses are from Dune runs on 2026-09-09. Quote figures come from the forward-captured quote sample, 115,316 captures between 2026-06-23 and 2026-09-10, matched against the Uniswap default route by pair, size cohort, time window and chain. Attribution figures are from the weekly refresh written 2026-09-08.

Get these findings in your inbox

Periodic data on DEX execution quality, aggregator benchmarks, and attribution coverage. No spam.