Buying one token with another can look like a single confirmation, whether the fill comes from two balances already in a contract or from someone else racing to settle a signed request.
Those two fills leave different records: one is your own transaction against the pool, while the other is a signature that stays offchain until a third party posts it and pays the gas.
Intent auctions let you sign a floor and a deadline, then let competing fillers settle the trade, while the protocol still checks the bound onchain in the same call that moves the tokens.
UniswapX is that auction beside live v2, v3, and v4 pools. You sign an order that names what goes in, what should come out, and a floor, and fillers compete to satisfy it using their own filling strategies (source: Uniswap Docs, UniswapX overview), while the pool-as-counterparty picture sits in how AMMs work.
Who fills the order you sign
You want to turn 2,000 USDC into UNI from a wallet you control. On a pool you would send a transaction and let the reserves set the fill. On UniswapX you sign an order, and other people compete to settle it. Those people are fillers, and you are the swapper: you name the floor, and fillers run the auction.
A filler can use private inventory or route through other venues, and that inventory can include a Uniswap pool. The order you signed is still an auction even when a pool sits behind the fill, because the reactor checks your signed bound while you stay the swapper.
UniswapX now uses RFQ and the exclusive Dutch auction model on every supported chain. A quoter is a permissioned role that answers an offchain request for quote, while a filler is permissionless. The RFQ winner gets a short exclusive window, about 24 seconds on Ethereum mainnet in the current docs, then the order opens to everyone (source: Uniswap Docs, Fillers overview). You skip picking a filler by name, because you sign the floor and the first successful settlement that meets that floor is the fill.
Suppose you see a review screen with 2,000 USDC in and a minimum UNI out. During the exclusive window only the winning quoter is expected to settle. After that window, any filler who can meet the current bound can post the transaction. You watch for a confirmed reactor call, or for the deadline to pass with no fill. While you wait, your USDC can still sit in the wallet. The Permit2 grant is what lets the reactor move it if a filler lands. If the deadline passes, that grant leaves the 2,000 USDC in your wallet until you sign again, and the next step is a new quote and a new signature.
The hub on what Uniswap is named UniswapX as a separate path from the automated market maker (AMM) versions, and your signed order is that path seen from the swapper's side. If no filler can meet your floor before the deadline, the order expires, and that failure is a later gas question. The counterparty here is a competing filler, while a pool formula is the other design.
What the signed order actually says
You describe an outcome the reactor must be able to check. A pool tick is a different control: it sits on a v3 or v4 position, and here you are signing an order. The signed fields are what the reactor can enforce later, rather than a range on a liquidity NFT.
The July 2023 UniswapX whitepaper lists what the message carries: an input token, an output token, amounts, a starting amount, a minimum, a decay function, a claim deadline, and a grant for the reactor to spend via Permit2. Swappers must first approve the Permit2 contract, then they sign the order, and a filler submits the swap transaction later (source: UniswapX whitepaper).
Read those fields the way you will see them: input and output are the pair, the starting amount is the optimistic end of the auction, and the minimum is the floor you will live with. The decay function is how the bound moves through time, the claim deadline is when the signature stops being fillable, and the Permit2 grant is how the reactor can pull that input in the same settlement call, so if the call reverts the pull does not stick.
Permit2 is a spending-approval contract, and it lets a later fill move your input token if the received amount still matches the order. A seed phrase stays in the wallet backup, and UNI stays the vote token, so wallet prompts for that approve sit with Uniswap wallet and self-custody.
A reactor is the onchain checker: it validates the signed order, pulls the input through Permit2, and requires the output to hit the floor in that same call. If the output misses, the whole call reverts and the pull does not stick. You read the review screen for input, output, minimum, and deadline, because those four lines are the signature, and if they are wrong you decline and ask for a fresh quote.
The order stays offchain until a filler posts it, which is why you can sign without sending a swap transaction. Settlement still happens onchain, in a block, against the reactor, so the fill is the successful reactor call and a screenshot of the review screen is only the quote you signed.
Who pays gas when the fill lands
On a pool swap you pay network fees in the chain's gas token, usually ETH on Ethereum. On UniswapX the filler posts the settlement transaction and pays that gas, then prices the cost into the fill, so the fill still lands onchain while you skip the broadcast of that settlement.
Instead of submitting a transaction and paying gas in the network's native token, you sign an order expressing your intent to a third party. Uniswap apps can also check whether UniswapX can get a better price than v2, v3, or v4 pools and route that way when it is eligible (source: Uniswap Blog, How Gasless Swaps Work).
| Pool swap | UniswapX | |
|---|---|---|
| What you sign | A transaction that calls the pool | An offchain order |
| Who sets the fill | Pool balances | First successful filler |
| Who pays fill gas | You, in the gas token | The filler, in the price |
| Inventory | The pool's two tokens | Filler inventory or other venues |
Gasless here means the filler pays the settlement gas and prices it into the fill. It leaves open that your wallet can still spend the chain's gas token on setup. The first Permit2 approve can still need gas, because that approve is your transaction. Wrapping a native token so it can be sold can still need gas. Those setup transactions are yours, and they sit beside the fill.
If the fill fails or the order expires, the filler's failed gas stays with the filler, which is the claim the docs make about failed swaps. You can still have spent gas earlier on Permit2, and the chain still uses a gas token for any transaction you do send. How Ethereum works is the generic fee picture.
Read the explorer the same way: a reverted filler transaction is a failed settlement you did not broadcast, so that failed gas is their ETH leaving for the fail. An expiry with no filler transaction at all means nobody posted, so nobody burned fill gas, and a signature sitting in the wallet with no reactor event is that second case.
The gas token follows the settlement chain, which on Ethereum is ETH. A fill that settles somewhere else uses that chain's token for the filler's post, rather than your UniswapX signature. A BloFin book does not send that call, so a venue fill does not consume your Ethereum gas for UniswapX. Keeping ETH in the wallet for a later wrap leaves the UniswapX fill's gas with the filler.
How the Dutch auction moves your floor
A Dutch auction in this design starts at a better output for you and moves toward the worse bound you already signed. Fillers watch that path, and the first one who can profitably meet the current bound posts the fill, so you are waiting on one order rather than editing it live.
Fillers compete to fill your specific swap as the price decays, the auction ends when someone fills, and you are waiting on your own order, one swap at a time (source: Uniswap Blog, How Dutch Auctions Deliver Better Swaps).
That is why the number on the review screen and the number that lands can differ. The screen shows a quote at one moment, and the fill is whoever settles first on the decay path, as long as the minimum still holds. If the exclusive RFQ winner fades, the open auction is the fallback, so you either get a fill inside the deadline or the signature expires, and you can skip a filler runbook.
Treat the decay as an auction path, rather than as a live editor. Suppose your 2,000 USDC quote shows a starting UNI amount and a lower minimum. Early on, a filler who can still beat the current bound posts, and you can receive more UNI than the floor. Later, the bound is worse for you and easier for fillers, so nobody owes you the starting number if they wait. If nobody posts before the claim deadline, the signature dies, and you skip a partial UNI credit sitting in the reactor.
A filler still has to source the output, and thin pairs can expire, so the interface can still pick a pool swap when UniswapX is ineligible. That pool fill is a different path: reserves set it, and you pay that gas. The later comparison of when those two questions diverge sits on UniswapX versus AMM pools. You read the minimum and the deadline, then wait for a reactor fill or for the signature to go stale.
Where UniswapX sits beside v2, v3, and v4
v2, v3, and v4 are live AMM designs, and a new version leaves the last one running, so UniswapX sits beside that stack as a routing auction. A filler marketplace is a separate path from a fifth pool version, even when a filler later uses a pool as inventory.
Uniswap v4 and UniswapX are parallel and complementary protocols: v4 is about pool customizability, including hooks, and UniswapX is about routing through a filler marketplace (source: Uniswap Blog, How Uniswap v4 and UniswapX Create the Best Swapping Experience).
A hook is extra code a v4 pool can run at set points in a swap or a liquidity action, while UniswapX is the signed-order path. A filler may still use a hooked pool as inventory, and the signed order remains UniswapX. Depth on hooks sits in Uniswap v4 and hooks.
Your tell is the review step: if you are signing an order, you are on UniswapX even when a filler later uses a v4 pool, and if you are sending a swap transaction to a pool, you are on the AMM path even inside a Uniswap app. The interface badge is a label, and the signature versus the pool call is the fill.
UniswapX is a permissionless, open source (GPL), auction-based protocol for trading across AMMs and other liquidity sources. As of June 2026, Uniswap Labs support lists UniswapX as available on Uniswap interfaces for Ethereum Mainnet, Avalanche, Base, BNB Smart Chain, and Tempo (source: Uniswap Labs support, What is UniswapX?). Filler docs list additional settlement chains, including Unichain, so keep those two lists apart: interface availability is what the support page names, and settlement chain support is what fillers integrate against. GPL here means the protocol source is public, so you can meet the same reactor from more than one interface as long as the chain, the Permit2 approve, and the signed fields still match.
Unichain is an OP Stack L2 with its own gas, and UniswapX is the auction that can settle on several chains. A UniswapX fill can settle on Unichain when that chain is in the filler set. Unichain explained is the chain question, and same protocol on many deployments is Uniswap on other chains.
Pool swaps, Unichain, and a BloFin UNI fill
A signed UniswapX order is the wrong fill if you meant a venue book, a pool call, or a chain by itself. Those fills look different from a reactor settlement, even when that UNI still ends up in the same wallet.
Uniswap is a competing DEX, and BloFin is a centralized exchange that lists UNI, so both sentences can be true at once. The generic fork is centralized versus decentralized exchanges.
BloFin has listed UNI/USDT on spot since January 15, 2024.
BloFin lists two UNI perpetuals: UNIUSDT at up to 75x, listed January 12, 2023, and UNIUSD, an inverse contract settled in UNI, at up to 20x, listed June 27, 2025. A UNIUSDT fill is a venue position, while UniswapX is a signed order onchain.
A venue fill credits UNI on BloFin's ledger, so you skip signing Permit2 for that credit and no reactor appears on an explorer. A pool call is your own swap transaction against reserves, and you pay that gas, while UniswapX is the signed order a filler posts. Those three records do not substitute for each other, because UNI can show up in the same wallet from any of them and the record still has to match the product you used.
Check four things before you treat a screen as UniswapX. The review step is a signature on an order, while a pool call looks different, and a filler is expected to pay the settlement gas. The floor and deadline are numbers you will live with if the auction moves, and the chain in the wallet has to match the chain the order names.
If the prompt is an unlimited spend approve, stop and read it, because smart-contract wallet risks covers that shape.
Frequently asked questions
If you already approved Permit2 last month, does a new UniswapX order still cost you ETH?
A later UniswapX order skips automatically billing you for another approve. If the wallet still shows a Permit2 grant for that same token and spender, you may only need to sign the new order. If the token is new to that grant, or you revoked it, the approve is a new transaction and that gas is yours. The filler still pays settlement gas when someone posts. Read the spender and the token on the prompt before you assume last month's grant covers this pair.
If your wallet shows a USDC send to a random address before any reactor event, was that UniswapX?
A UniswapX fill is a reactor transaction in the same settlement as the token movement. A plain send to an address a chat named, with no reactor, is a different action, so stop and treat it as a wallet send. Your signed order leaves USDC in place until a filler posts. If the explorer shows a send to a regular wallet address and no reactor, the path was a transfer rather than the auction. Recover that as a wallet send, rather than as a failed fill.
Can you tighten the UNI floor after you already signed?
The signed minimum stays put even if you stare at a better number, because decay only travels toward that floor. A tighter floor is a new order, so you decline the old quote and sign again, and waiting leaves the old signature as it was. If you want a different pair, a different deadline, or a different minimum, those are new fields, and the old order can still be fillable until it expires.
If your wallet is on Unichain, did you already use UniswapX?
Being on Unichain only picks the network, and UniswapX starts when you sign an order that can settle there. Holding UNI or USDC on Unichain without that signature is still just a balance on that chain. Match the network in the wallet to the network the order names, then look for a reactor fill. A Unichain send, a bridge, or an app swap that called a pool is a different action.
Do you need to hold UNI before you use UniswapX?
UNI is the governance token, so you can sign an UniswapX order without already holding UNI, and you can sell USDC for UNI or sell UNI you already have. You need the input token, a Permit2 approve when the token requires it, and a wallet that can sign. Holding UNI is a vote-token choice, separate from how UniswapX starts. If the review screen's output token is UNI, that is the asset you are buying, and it is separate from a fee you must already hold.
If you already approved a Uniswap router, is that enough for UniswapX?
A router approve is spending permission for that router, while UniswapX uses Permit2 as the spending contract for the signed order, so you may see a Permit2 approve even if a router approve already exists. Read the spender name on the prompt, because a router line and a Permit2 line are different spenders. Approving the wrong spender leaves the reactor unable to pull, and it can still move tokens later. Confirm Permit2, then sign the order, and treat a surprise spender as a stop.
If you withdraw UNI from BloFin into the wallet that signs UniswapX, did that withdrawal fill your order?
A BloFin withdrawal is the exchange sending UNI to an address you named, which is a venue payout rather than a reactor fill, so UniswapX still needs a signed order and a filler post. UNI arriving from a withdrawal can later become the input token on a new UniswapX sell, but the withdrawal itself left the intent unsigned. If there is no signature and no reactor transaction, the inbound UNI was the exchange path.
Researched and written by the BloFin Academy editorial team with AI-assisted drafting. Updated September 2026. Primary sources include the UniswapX overview, the UniswapX whitepaper, Uniswap Labs support on UniswapX, and the UniswapX fillers docs. All facts independently verified against cited documentation current as of September 2026.
This article is educational and general in nature, not financial or investment advice. Cryptocurrencies like UNI carry real risks, including price volatility, venue risk, smart-contract exploits in ecosystem apps, and the chance of losing funds. Nothing here is a recommendation to buy, sell, hold, or participate in any project. Do your own research, and consider speaking with a licensed professional before making financial decisions. BloFin does not provide investment advice.
