Auction parameters

startAmount is the best-for-swapper / worst-for-filler output; endAmount is the swapper's floor. The decayed amount moves linearly between them as the auction runs.

Current state

Decayed output amount right now
—
MétricaValor

Decay curve (linear segment)

Same startAmount/endAmount/duration above, swept across the auction — this is the price a filler would need to beat at each moment to win the fill.

Elapsed (% of duration)Elapsed (s)Decayed outputFiller would fill?

A single-order auction, not a batch

UniswapX doesn't route your order through one AMM pool and it doesn't batch you with other orders the way CoW Protocol does. Per Uniswap's own documentation, your signed order carries a startAmount (the output you'd get if filled instantly — deliberately generous, so no rational filler takes it immediately) and an endAmount (your floor, the worst price you've agreed to accept before the order expires). Onchain, the real decay curve is defined by NonlinearDutchDecayLib, which supports multiple intermediate decay points so the price can bend across a handful of segments rather than following one straight line — but the common case, and what this calculator models, is a single linear segment: decayed = startAmount − (startAmount − endAmount) × elapsed ÷ duration, moving block by block over roughly a minute from decay start to expiry.

Independent fillers watch every open order and race to be first to submit a profitable fill — a filler wins the moment the decayed amount drops to or below whatever output they can actually source elsewhere (their own execution route, e.g. through a private market maker or an AMM pool) and still turn a profit. That competition, not a fixed price, is what actually clears the order. Crucially, UniswapX itself takes no percentage fee from the swapper — it's gas-free to submit, gas-free on a failed fill, and the swapper's entire cost is just where along the curve the fill happens to land.

Como usar esta calculadora

  1. Enter the order's startAmount and endAmount — the output range from Uniswap's quote/order data.
  2. Enter the auction duration (Uniswap's docs put typical decay-to-expiry around 60 seconds) and how many seconds have elapsed.
  3. Enter a filler's own achievable output to see at exactly what elapsed time the order becomes profitable for them to fill.
  4. Read the decayed output and the scenario table across the full auction.

Perguntas frequentes

How does the UniswapX Dutch auction price decay over time?

Per Uniswap's own documentation, each order carries a startAmount (best for the swapper, worst for a filler) and an endAmount (the swapper's floor), and the output you'd receive right now decays along that range as time passes. The simple two-point case is linear: decayed = startAmount − (startAmount − endAmount) × elapsed ÷ duration. Onchain, UniswapX's NonlinearDutchDecayLib actually supports multiple intermediate decay points so the curve can bend, moving block by block rather than on a single straight line — but a single linear segment is the common case and what this calculator models.

Why would a filler wait instead of filling immediately at startAmount?

Because startAmount is deliberately generous to the swapper (worse for the filler) so no rational filler fills instantly. Fillers compete to be the first to submit a fill once the decayed amount drops to or below what they can actually source the output for elsewhere — their own achievable execution price. Whoever can profitably fill earliest wins the order; that race is what sets the real-world clearing time, not a fixed clock.

What fee does UniswapX charge the swapper?

None at the protocol level — Uniswap's documentation describes UniswapX swaps as gas-free for the swapper (the filler pays gas) with no cost for a failed transaction. The swapper's real cost is entirely implicit in where the order fills along the decay curve. There is no separate percentage fee layered on top the way CoW Protocol charges a surplus fee.

How is this different from CoW Protocol's batch auctions?

Both are intent-based, but UniswapX runs each order through its own single-order decay with fillers competing on timing and charges no explicit protocol fee, while CoW Protocol batches orders together, settles at one uniform clearing price per pair, and explicitly charges 50% of surplus (capped at 0.98% of volume) plus a small volume fee. See the CoW Protocol fee calculator for that side.

Novo nisso? Comece com nosso academia de negociação gratuita — cada lição está vinculada a uma calculadora.

Faça sua negociação em:BybitBinanceOKXKuCoin|📈 Visualização de Negociação🔒NordVPN📧 Correio de gelo
Aprenda o conceito · veja ao vivo
Centro de aprendizagem →Mercado ao vivo →Taxas de financiamento →