UniswapX

UniswapX uses Dutch auctions to discover the optimal execution price. The price starts favorable to the user and decays until a filler accepts — creating a trustless price discovery mechanism with built-in MEV protection.

Dutch Auction Price Decay

The price starts above market and decays over time. Fillers compete to fill at the best price — the first filler to accept sets the execution price. Drag sliders to adjust auction parameters.

Start Price
$2,100
Fill Price
$2,052
Market Price
$2,000
User Surplus
+$52

Filler Competition

Multiple fillers monitor the Dutch auction. As the price decays, the first filler whose expected profit exceeds their gas + risk cost will fill the order.

Active Fillers
6
Winning Filler
Filler C
Filler Profit
$12
MEV Saved
$38

How UniswapX Protects Against MEV

Off-Chain Orders
Orders are signed off-chain and never enter the public mempool. Sandwich attackers cannot see the order until it is already being executed by the winning filler.
Price Improvement
The Dutch auction starts above market price, so any fill gives the user a price at least as good as market — and usually better. The decaying price means fillers are incentivized to fill early.
Filler Competition
Multiple fillers compete to fill each order. Competition drives filler margins toward their cost, passing the remaining surplus to the user rather than to MEV bots.
Fallback to Uniswap
If no filler accepts the order before the deadline, it automatically routes to a Uniswap V3/V4 pool at the worst-case price. Users are guaranteed execution either way.

UniswapX Order Flow

The complete lifecycle of a UniswapX order from signature to settlement

User Signs Order
User specifies: input token, output token, input amount, minimum output amount, decay start time, decay end time, and exclusive filler (optional). The signed EIP-712 message is submitted to the UniswapX order reactor.
Dutch Auction Begins
The output amount starts high (favorable to user) and linearly decays toward the minimum over the auction period. This creates a time-based price discovery mechanism.
Filler Accepts
When the decaying price reaches a filler's threshold (their cost + minimum profit), they submit a fill transaction. The reactor validates the order signature and checks that the output meets the current decay price.
Atomic Settlement
The filler transfers output tokens to the user, and receives input tokens — all in a single atomic transaction. The filler can source liquidity from any on-chain venue (Uniswap, Curve, private inventory).
Fallback (if no fill)
If the deadline passes without a filler accepting, the order is routed to Uniswap pools at the minimum output amount. The user always gets at least their specified minimum.

Exclusive Filler Window

UniswapX optionally grants a short exclusive window to the filler that provides the best off-chain quote. This incentivizes tight quotes while maintaining competitive fallback.

Exclusive Period (0–N blocks)
Only the designated filler can execute. They get a guaranteed window to fill at the starting (best) price without competition.
Open Auction (N–deadline blocks)
If the exclusive filler doesn't fill, the order opens to all fillers. Price continues decaying, creating competitive pressure.
Cross-chain intents: UniswapX V2 extends the Dutch auction model across chains. A user on Ethereum can express an intent to receive tokens on Arbitrum or Optimism. Fillers front the output on the destination chain and settle later on the origin chain — enabling seamless cross-chain swaps with the same MEV protection.