November 17, 2025

How to win as a DEX

The DEX Auction

We will look at DEX competition as an auction to understand how DEXs win.

DEXs compete on every trade

Most traders trade on aggregators like CowSwap or Jupiter. Aggregators look for the best price across all DEXs, individually per trade. So a DEX will only win your trade if it offers a better price than all other DEXs and Market Makers.

In effect, DEX pools bid on your trade in a first-price auction. Seeing the DEX pool (and not the solver) as the bidder clarifies the game—and how to win it.

DEXs compete to win flow from a trade. (through routes that solvers work out).

Participants in the DEX Auction

Participants in the DEX auction, and what they want:

  • Trader: The best price.
  • DEX Pool: Maximize profit.
  • Solvers: Find the best trade path.
  • LP: Maximise profit

The DEX bids, not the solver

Note that we commonly see solvers as the bidders for orderflow. They compete to write algorithms that find the best trade path. However, for a set of DEX quotes, the optimal trade path is already implicit; solvers merely discover it, ‘passively’.

Instead, we will look at the DEX as the active bidders who compete for orderflow.

LPs work for DEXs

DEXs design to incentivize liquidity providers to help the DEX win. We treat liquidity providers as fully aligned with the DEX: It's in the LPs' interest to maximise the DEX profit as this also maximises the LPs profit. And it's in the interest of DEX to maximise its LPs' profit.

For this reason, we merge the LP and the DEX into one role: There’s no difference in whether the DEX adapts its bidding strategy or directs an LP to.

We will also use ‘DEX’ and ‘DEX pool’ interchangeably in this article to refer to someone who provides quotes on a token pair. This can be any pool of capital with quotes, including a market maker who responds with quotes on their onchain pool of assets (RFQ).

DEXs optimise for profit

We define a DEX pool's profit as the difference between the value of the tokens at market mid-price (market value) and what you pay the DEX for the token. You usually pay a bit more than the market value, and this ‘spread’ is the DEX pool’s profit. DEXs want to optimise this profit.

Note that spread != pool fee. Spread is what you pay above the market rate at the time your trade settles. If the spot price of the pool is stale enough, a pool can have a negative spread (make a loss) despite it charging a pool fee on the swap.

Flow of the DEX auction

Here’s how the DEX auction works:

  1. Request: You request a quote for your trade;
  2. Quote: The DEX pools quote their trading curves;
  3. Settle: You settle the best path over all DEXs.

The winning DEXs pay you the tokens they quoted. So the DEX auction is a first-price auction (the highest bidder pays their bid).

How does one DEX beat another DEX in this auction?

How to win as a DEX

To optimise its profits, a DEX needs to:

  • Know the value of the tokens it sells you (market rate);
  • Hide its prices from other DEXs (private bids);
  • Own enough liquidity to fill your trade (liquidity);
  • Know what other DEX pools bid, so it can bid only the minimum necessary to win your trade. (bid smart)

A pool that succeeds in the above will succeed in the DEX game: 

  • With its profits, the pool can attract more LP; 
  • With more LP, it can tighten its prices; 
  • With tighter prices, it will win more volume.

Becoming a better DEX means becoming better bidders in this auction; that is, to know the market rate, keep their bid private, find liquidity, and just slightly outbid other DEXs' bids.

But this is not easy.

Being a good bidder in the DEX auction is hard

DEXs have severe limitations: their logic has to be simple to save gas, and it will only run once per block (up to 12 seconds). This makes the DEX auction quite tricky:

  • Markets are fast: Asset prices move between blocks: CEXs or faster chains update prices every few milliseconds.
  • Bids are public: To earn trust, most DEX code is public.
  • Liquidity is scarce: Every DEX pool fights for the same liquidity.
  • Arbitrageurs seize any opportunity to profit at the expense of the DEX.

This is why it's tempting to see DEXs as passive. However, the game is changing – despite their limitations, DEXs are finding ways to become dynamic bidders.

How DEXs are becoming better bidders

Here are the most successful tricks DEX found to navigate their limitations and optimize bids on every trade.

Let LPs tune pools to be competitive

DEXs offer options, but it's LPs and Hook Devs that, by choosing pool parameters, continuously position the DEX for success.

Most DEXs have a range of pool fee tiers from which LPs can choose (e.g. 0.1%, 0.3%, 1% fees). And on some DEXs, you can adjust the shape of the trading curve (e.g. Curve).

Concentrated liquidity (Uniswap v3 and similar DEXs) took this much further: LPs can draw any arbitrary convex supply curve.

LPs and DEXs share the same interest: to win volume and earn a profit. So, DEXs – with help from LPs – can constantly adapt their bidding strategy to changes in competition.

And the more parameters a DEX offers, the more LPs can tune:

  • DEXs with fee tiers (Uni v2) were more competitive than DEXs without (Uni v1);
  • The more flexible the curve, the more competitive the DEX (Uni v4 > Uni v3 > Uni v2).

DEXs can’t do this work themselves.

On every token pair, the competition is different and changing, so the best configuration for every DEX pool is different. The research you need to optimise every pool is too much for DEX teams alone. This is why DEXs evolved into platforms where external teams (LPs and Curators) can configure the pools.

Hooks (Uniswap v4, Ekubo, and Balancer v3) are the ultimate step in making the DEX dynamic: Hook developers can, in addition to adapting the swap curve, add any arbitrary logic to the swap (such as calling an oracle or offering repeat traders a discount).

Despite this, DEXs – as bidders – remain limited:

  • Changes take a long time: It can take weeks or months to research optimal parameters, develop, audit, and launch a new pool type, and then monitor the impact on volume and profit. A DEX that can adapt faster would win more.
  • Bids are not dynamic: DEXs quote the same on every trade. If a DEX were to adjust its bid per trade in response to competition, it could become more profitable. 
To win a DEX just has to bid a bit higher than the next DEX. Bid too high and the DEX could have easily earned more, bid too low and with a bit better price it could have won the trade.

Recently, DEXs have found a strategy to bid dynamically by colocating with solvers.

Colocate with solvers to bid dynamically

DEXs don’t know who they compete with

Even if DEX quotes are public (as they are for open source AMMs), it's not as simple as “ETH-USDC pools compete with other ETH-USDC pools".

To illustrate why, say you swap WBTC for ETH, and these are the best two trading paths:

  • USDC Path: ETH - USDC - WBTC;
  • DAI-USDT Path: ETH - DAI - USDT -  WBTC.

It's correct that a ETH-USDC pool competes with all other ETH-USDC pools on the first leg of the USDC Path.

But, a ETH-USDC pool also competes with the quotes from the ETH-DAI, DAI-USDT, and USDT-WBTC pools of the DAI-USDT Path.

And whether the ETH-USDC pool wins flow also depends on the USDC-WBTC pool bids; only if both pools bid well will their combined bid win your ETH-WBTC trade.

The pools that a pool competes with change with every trade. The larger, and more important, the trade, the more complex the paths get and the more pools compete with each other in more varied combinations.

It is very challenging for AMMs, and even active market makers, to determine who they compete with on a given trade.

But solvers do know.

Solvers have a perfect view of the competition

Solver's job is to discover the best paths for your trade. And so solvers are aware of all the relevant bids from all DEX pools. 

A DEX that, with the help of a solver, adjusts its bid per trade, will be more profitable.

An example of how the USDS pools can pay 1,001 USDS to redirect flow from USDT pools to its own pools and earn 3,997 USD worth of fees. A 4 X return on its money.

And DEXs have already started to colocate with solvers, in some form.

How protocols already colocate with solvers

  • CowSwap Internal Buffers: CowSwap solvers can swap through an internal CowSwap asset pool at the exchange rate of the best DEX path they found. Essentially, CowSwap colocates with solvers to copy outbid DEXs. CowSwap earns the fees that would have gone to the DEXs, as well as the saved gas.
  • Barter Superposition: Barter extends the strategy of CowSwap buffers: Barter’s Superposition lets you copy trade any DEX or RFQ with assets from your own wallet. You colocate with the Barter solver and copy quotes from Uniswap v4, Wintermute, or any other source just-in-time.
  • PropAMMs: Solana PropAMMs stream update their quotes in real-time (presumably also to Jupiter). Quoting the Jupiter solver with AMM curves makes it much easier for Jupiter to include them in routes than if they streamed price levels.
  • Solver-MarketMakers: With their solver and their own liquidity, Solver-MarketMakers can also bid dynamically: First, they solve the trade over public liquidity and learn what DEXs and other RFQs bid, and then bid slightly higher with their own liquidity. This maximises their profit, and keeps their quotes private.

This is just the start. We’ll probably see more collaboration between DEXs and solvers/aggregators.

Incentivise fast traders to share their information

One way to mitigate adversarial trades is to align fast traders with the DEX pool. 

  • Angstrom: Angstrom pools auction off the right to be the first to trade it in the next block. Fast traders compete with fast traders, and the pool can expect to recapture arbitrage profits that the second-best fast trader can get. The auction also sets the pool to the price the fast trader believes is the market price for the rest of the block.
  • Uniswap PFDA: Uniswaps recently announced the Protocol Fee Discount Auction that auctions off the right to swap on a pool for a few blocks for no fee. This also recaptures the arbitrage value that fast traders predict. With no fee, the winner can move the spot price up to exactly the market rate, so the pool will for most trades have the correct market spot price (even between transactions in the same block as the fast trade/block builder can backrun any transaction).

Angstrom and PFDA pools lose less to arbitrage and settle much closer to the market price (+ fee + price impact) on every trade. This allows them to reduce pool fees, bid more competitively, and win more trades, ultimately making more profit than other DEXs.

However, this relies on fast traders to participate and bid correctly. Instead of aligning with fast traders, DEXs can also try to block them altogether. 

Blocking fast traders

Latency arbitrage makes LPing less profitable, so LPs deposit less into the pool and set a higher spread than they would otherwise. A DEX that stops fast traders could have just as deep pools and low fees as one that collaborates with them.

How DEXs have started to block fast traders:

  • Balancer voted to reduce fees for CowSwap: CowSwap auctions can take a few blocks to settle, and the price you get on CowSwap is unclear. This deters fast traders – to make a profit, they need to settle fast and at a precise price. Balancer recognized that CowSwap implicitly filters out fast traders and reduced its pool swap fee by 80% for CowSwap trades.
  • Market makers bid higher in private than in public: Market makers bid higher when they settle directly, e.g. in UniswapX auctions, than when they bid in RFQ protocols where their quotes are public and open to be sniped by fast traders. Market makers also analyze which addresses and endpoints arbitrage them and stop sending them good quotes.
  • Intent-based trading: With intents, you don't know exactly when and at what price you’ll settle - and it’s usually costly to revoke an intent. So, intents can protect DEXs from fast traders.

How DEXs will improve from here

Despite the innovations above, DEXs remain far from optimal bidders in the DEX auction.

We’ll likely soon see more DEXs that better:

  • Bid per order: Set price per order and per user – depending on arbitrage risk, the order’s value, and competing DEX bids.
  • Hide bids: Make it more difficult for other DEXs to see its bids.
  • Lower Latency Price: DEXs close their latency gap to fast traders, and rely more on fast oracles.
  • Just-in-time liquidity: If DEXs are confident in a trade’s value, they’ll borrow liquidity just-in-time.
  • Co-locate with solvers/auctions/builders: To optimize bids, DEXs will co-locate with those who know what other DEXs bid. The DEX auction will become just-in-time.

Get flow from day 0

If you’re building a new DEX and want to collaborate with the best solvers and aggregators, integrate your DEX into Tycho.

Solvers and aggregators use Tycho to discover DEXs, and you will get flow from every major frontend (CowSwap, 1inch Fusion, Uniswap X) on the day you launch.

And if you run a new auction, frontend, or chain and want top solvers to join you – Tycho Fellows can act quickly as they all share infrastructure.

To get in touch write @tanay_j on Telegram, or join our tycho.build community on Telegram.

Keep Reading

How to get bots to stabilize your protocol

What to expect from solvers, searchers and market makers, and how you get them to trade on your protocol.
Read More

The future of trading is onchain

Why AMMs are structurally more efficient than centralized exchanges.
Read More