← All posts

Your swap screen tells you a price, not what routing saved you

Every quote answers what your size costs. The harder question is what size fits a cost you name, and how much of it exists only because of splitting.

Architecture4 min readDeFiLoops

In short: Your swap screen tells you what your trade size costs, but for a big trade the real question is how much you can move without paying more than a cost you pick. In one reading of USDC to WETH on Base across 11 pools, the best single pool took $103.1K at 5 basis points (0.05%), while all the pools together took $148.5K, 44% more at the same price. That gap is what routing, spreading one trade across many pools, is worth. The reading is from one block, so it shows what fits at that moment, not a promised fill.

Ask any swap interface for a quote and it answers the same question: what does my size cost? You type 200 USDC, it says 0.00% price impact, and you press the button.

That answer is fine, but it is rarely the question you have. If you are moving 200 dollars, nothing you do matters. If you are moving 200,000, your question runs the other way round: what size fits inside a cost I am willing to pay?

Here is a real read of USDC→WETH on Base, at block 50,574,016, across 11 pools.

Fills within a cost11 pools · block 50,574,016 · axis $1.72M
≤5 bpsavg 2.4
$148.5K1 pool $103.1K7 pools
≤10 bpsavg 4.9
$308.2K1 pool $207.8K8 pools
≤25 bpsavg 12.4
$772.0K1 pool $522.2K8 pools
≤50 bpsavg 24.9
$1.72M1 pool $1.05M10 pools
route, spread across poolsone pool alone
Sizes in dollars, filled at or better than each cost. The gap between the two bars is the routing.

Read the gap between the bars

The dark bar is the best single pool. The pale bar is every pool that clears the same cost, added together. The gap between them is what the routing is worth, in dollars, at that cost.

At 5 basis points, one pool takes $103.1K and seven pools take $148.5K. Routing is worth 44% more size at the same price. At 50 basis points it is $1.05M against $1.72M: the same shape with larger numbers.

What no other quote shows you

A quote never shows the alternative. You are told a price and, if the interface is generous, a route, but never what you would have got without it. Nobody prints the number that would let you judge whether the routing did anything.

I went looking for a swap interface that does. Depth analysis exists as standalone tooling, computing slippage at fixed sizes like $1K, $10K, $100K and $1M. Aggregators show splits at quote time for the size you asked about. But those answer cost-for-a-size, and they answer it for one size, after you have already decided.

What it is for

Three things, and none of them is the 200-dollar trade at the top of the page.

  • Sizing. You can see where your size stops being free. Somewhere between $148.5K and $308.2K on this pair, five basis points becomes ten.
  • Deciding whether to split at all. If the gap is narrow, routing adds little and one pool is fine. Splitting a trade usually does nothing, and this is how you tell the usual case from the exception before you trade rather than after.
  • Reading the venue. A pair with one deep pool and a long thin tail behaves nothing like one with four comparable pools, and the total alone cannot tell them apart. That is why any row can be opened.

Here is the five-basis-point row from the same read, opened up:

≤5 bps7 pools · total $148.5K
  1. Slipstream0xb2cc…DC59$103.1K2.4bp
  2. Slipstream V30x3FE0…392A$28.0K2.3bp
  3. Pancake V30x72AB…2D38$10.3K2.4bp
  4. UniV30xd0b5…F224$4.5K0.9bp
  5. UniV30xb4CB…00e5$1.4K2.5bp
  6. Pancake V30xB775…4EaF$1.1K0.8bp
  7. Slipstream V20xc758…54e0$902.3bp
Bars are scaled to the largest pool in the tier, not to the total, so what you see is the shape of the distribution rather than the size of it.

That is one dominant pool and a six-pool tail. It also shows something the totals hide: the cheapest pool in the tier is not the biggest one. Two of the small pools fill under one basis point while the pool doing most of the work fills at 2.4, so a router optimising purely for headline price and a router optimising for size at a bound will not pick the same thing.

The honest limits

The ladder is measured at one block. Liquidity moves, and a reading taken now describes now. That is why the block number is printed.

It also describes capacity, not outcome. It says a certain size fits inside a certain cost at that moment. It does not promise you a fill there. What protects you at execution is still the minimum output you signed.