How to use CoW Swap: MEV protection, fees and limit orders
CoW Swap guide: how batch auctions and solvers stop sandwich attacks, the 2 bps volume fee with examples, limit orders, TWAP, and when to use something else.
Disclosure: Some links in this article are referral links. If you sign up through them we may earn a commission at no extra cost to you. It doesn't affect what we write. How we make money.
Key takeaways
- CoW Swap is an intent-based DEX: you sign an order off-chain and competing solvers settle it, so your trade never sits in the public mempool where sandwich bots look for victims.
- As of September 2026 the protocol charges a 2 bps volume fee on most pairs (0.3 bps on stablecoin and RWA pairs), plus 50% of any price improvement over your quote, capped at 0.98% of volume.
- Gas is built into the quote and paid from the tokens you sell, and limit orders can be placed and cancelled without paying gas.
- It is a strong default for mid-size and large EVM swaps; it is a poor fit for tiny mainnet trades, anything that must fill in the next block, and plain same-token bridging.
Contents 10 sections
CoW Swap is a DEX aggregator where you sign an order (“sell 5 ETH for at least 14,900 USDC”) instead of sending a swap transaction. Independent solvers compete in an auction to fill that order at the best price, and the winner settles it on-chain. Because your trade is never broadcast as a public transaction, the usual sandwich attack has nothing to grab. This guide covers how that works, what it costs as of September 2026, and when a different tool is the better call.
How does CoW Swap work?
Three pieces do the work: intents, solvers and batch auctions.
Intents. When you click swap, your wallet signs a message describing what you want and the worst price you accept. That message goes to CoW Protocol’s order book, not to the blockchain.
Solvers. Solvers are independent, bonded parties that bid to execute orders. A solver can route your trade through Uniswap, Curve, Balancer, private market makers, or another trader’s order. According to CoW’s MEV protection docs, the winning solver has to deliver at least the price you signed, and it carries the risk of finding a valid route.
Batch auctions. Orders are grouped into auctions. Solvers submit bids on single orders or groups of orders, and the protocol picks the set of bids that gives traders the most surplus. The batch auction docs add a fairness filter: a combined bid is rejected if any order in it would have done worse than if it had been auctioned alone.
What is a coincidence of wants?
A coincidence of wants (a “CoW”) happens when two traders in the same batch want opposite sides of the same pair. If you sell ETH for USDC and someone else sells USDC for ETH, a solver can match you directly for the overlapping amount. That slice never touches an AMM pool, so it pays no LP fee and suffers no price impact. Only the leftover gets routed to on-chain liquidity.
CoWs are opportunistic. On a busy pair like ETH/USDC they happen regularly; on a small token they are rare, and your order is simply routed like any aggregator would route it.
Why sandwich attacks can’t hit a CoW Swap order
A sandwich attack on a normal DEX swap needs three things:
- Visibility before execution. The bot sees your pending swap in the public mempool.
- Control of ordering. It gets its buy placed right before yours and its sell right after, in the same block, against the same pool.
- Room in your slippage. Your tolerance lets the pool price move against you and your transaction still goes through.
CoW Swap removes each one:
- Nothing to see in the mempool. You never submit a transaction. You sign an off-chain order, and the solver submits the settlement. There is no pending swap of yours for a bot to front-run.
- Ordering doesn’t change your price. All trades of the same pair and direction in a batch settle at one uniform clearing price. Moving a trade earlier or later inside the settlement doesn’t change what anyone pays, so reordering has nothing to extract.
- Competition eats the slack. Solvers win by delivering the most surplus to traders. A solver that settles in a way that leaves room for a sandwich delivers less and loses the auction to one that doesn’t. Your signed minimum is also enforced by the settlement contract, so even a badly behaved solver can’t give you less than that.
- CoW matches skip AMMs entirely. The part of your order matched peer-to-peer doesn’t touch a pool, and pool dynamics are what sandwiches exploit.
One nuance: your slippage setting still defines the floor. If you set 3% slippage, the protocol guarantees you won’t get worse than 3% below the quote, not that you’ll get the quote. Keep slippage at the auto setting unless a trade keeps failing.
How much does CoW Swap cost?
CoW Protocol’s fees are taken out of the executed amounts rather than charged as a separate transfer. According to the CoW fee docs, as of September 2026:
| Fee | Applies to | Rate |
|---|---|---|
| Volume fee | All orders, standard pairs | 2 bps (0.02%) of volume |
| Volume fee | Correlated pairs (stablecoins, RWAs) | 0.3 bps (0.003%) |
| Quote improvement fee | Market orders (swaps) | 50% of any improvement over your quote, capped at 0.98% of volume |
| Surplus fee | Limit orders that were out of market when placed | 50% of surplus, capped at 0.98% of volume |
| Network costs | All orders | Built into the quote, paid in the sell token |
| Partner fee | Orders placed through third-party integrations | Set by the partner |
Fees are charged in the “surplus token”: the token you buy on a sell order, and the token you sell on a buy order.
Worked example
You sell ETH worth $10,000 for USDC on Arbitrum.
- Volume fee: 0.02% of $10,000 = $2.
- Quote improvement: say the quote promised 9,980 USDC after costs and solvers found a route paying 10,010 USDC. The $30 improvement is split: the protocol keeps $15, you get the other $15 on top of the quote. If there’s no improvement, this fee is zero.
- Cap check: 0.98% of $10,000 is $98, far above $15, so the cap doesn’t apply.
The same $10,000 swapped USDC to USDT carries a volume fee of about $0.30.
The quote you see already includes the fees and network costs, so compare the final “receive” number against other aggregators, not the headline rate.
How to swap on CoW Swap step by step
- Open the app and connect. Go to CoW Swap, check the address bar says swap.cow.fi, and connect a self-custodial wallet (MetaMask, Rabby, a hardware wallet, or a Safe).
- Pick the network. Use the network selector to match where your tokens are. The same token on the wrong chain will show a zero balance.
- Choose tokens and amount. Select what you sell and what you buy. If you sell native ETH, CoW Swap has to send an on-chain transaction for it, so you’ll pay gas for that step. Selling WETH avoids it.
- Approve the token (first time only). The approval goes to CoW’s
GPv2VaultRelayercontract, which the contract docs describe as a non-upgradeable firewall between your funds and solvers. Some tokens support gasless permit approvals; others need a normal approval transaction. - Check the settings. Open the swap settings and review slippage (leave it on auto unless you have a reason), how long the order stays valid, and the recipient address if you’re sending elsewhere.
- Review and sign. Confirm the minimum you’ll receive, then sign. This is a signature, not a transaction, so it costs no gas.
- Track it. The order usually fills within a few batches. You can follow it in the app or on CoW Explorer. If it doesn’t fill before it expires, nothing happens and your tokens stay put.
Limit orders and TWAP orders
Limit orders
The limit order docs say you can create, modify and cancel limit orders without paying gas. A few details worth knowing:
- Price improvement is shared with you. If the market moves past your limit, the order fills at the better market price rather than exactly at your limit. For orders that were out of market when placed, the protocol takes 50% of that extra surplus (capped at 0.98% of volume) and you keep the rest.
- One balance, several orders. You can place multiple orders funded by the same balance, for example three ETH sell orders at different prices. Whichever fills first uses the funds.
- Partial fills. Limit orders can fill in pieces, which helps on large orders in thin markets.
TWAP orders
TWAP splits a large order into equal parts executed at set intervals, each with a minimum price you define. According to CoW’s TWAP docs, TWAP requires a Safe wallet, and the minimum total size is $1,000 on Ethereum and $5 on Gnosis Chain, Arbitrum One and Base. Each part settles separately, so on mainnet you pay network costs per part.
TWAP makes sense for moving a large position in a low-liquidity token. For a $2,000 ETH swap, it’s overkill.
Can CoW Swap bridge between chains?
Yes, with limits. CoW Swap’s cross-chain swaps sell your token on the source chain and route the proceeds through a bridge provider to the destination chain, with a helper account holding funds in between so a failed bridge leg gets refunded rather than lost. The cross-chain swap docs note that bridging the same token between networks is not supported yet.
If you just want to move USDC from Arbitrum to Base, a bridge aggregator is the right tool. See our guides on bridging with Jumper and bridging with deBridge, or the Jumper vs deBridge comparison.
Which chains does CoW Swap support?
CoW Protocol’s core contracts are deployed on Ethereum, Arbitrum One, Base, Optimism, Polygon, Gnosis Chain, BNB Chain, Avalanche, Linea, Ink and Plasma, per the contract reference page. The app’s network selector is the source of truth, since support for a chain in the contracts doesn’t always mean every feature is live there.
When CoW Swap is not the best choice
CoW Swap is built for getting a fair price on meaningful trades. It’s the wrong tool in a few cases:
- Small trades on Ethereum mainnet. Network costs come out of your sell amount. On a $100 swap they can eat several percent. Use an L2.
- You need it filled right now. Orders wait for a batch and a winning solver. For liquidations, arbitrage or anything that must land in a specific block, use a direct DEX route or a private RPC.
- Non-EVM chains. No Solana or Bitcoin. For Solana memecoin trading, see our Axiom vs GMGN vs Fomo comparison.
- Fee-on-transfer and rebasing tokens. Tokens that tax transfers or change balances on their own can fail or quote badly.
- Same-token bridging. As above, use a bridge.
- Tiny L2 swaps on deep pairs. MEV risk on a $50 swap on Base is low. Another aggregator may quote the same or better once the 2 bps volume fee is counted. Compare the “receive” figure.
Is CoW Swap safe?
The design limits what can go wrong. Your approval goes to a non-upgradeable vault relayer, solvers are bonded, and the settlement contract enforces the minimum price you signed. An order that doesn’t fill simply expires.
The practical risks are the ordinary DeFi ones: phishing sites, old unlimited approvals you forgot about, and slippage settings that are too loose. If you hold meaningful size, sign from a hardware wallet. Our hardware wallet setup guide walks through that.
Verdict
For EVM swaps above a few hundred dollars, CoW Swap is a sensible default: you get MEV protection without configuring anything, gasless limit orders, and a fee that is modest next to the cost of being sandwiched. Keep a bridge aggregator for moving the same token between chains, and a regular DEX route for small or urgent trades.
If you’re bringing new wallets to CoW Swap, the CoW Swap referral program pays both sides a small USDC reward on high volume. Open CoW Swap and compare its quote with your usual aggregator on your next swap.
Frequently asked questions
Is CoW Swap safe from sandwich attacks?
Yes, in the sense that matters. Your order is a signed message, not a public transaction, the winning solver must pay at least your signed minimum, and all trades of the same pair in a batch clear at one price, which removes the ordering games a sandwich relies on.
How much does CoW Swap charge?
As of September 2026 there is a 2 bps volume fee on standard pairs and 0.3 bps on correlated pairs such as stablecoins, plus 50% of any improvement over your quote, capped at 0.98% of volume. Network costs are included in the quote rather than paid separately.
Do I need ETH for gas to use CoW Swap?
Usually not for the swap itself, because network costs are deducted from the token you sell. You may need gas for a one-time token approval, and selling native ETH (rather than WETH) requires an on-chain transaction.
Which chains does CoW Swap support?
CoW Protocol's core contracts are deployed on Ethereum, Arbitrum One, Base, Optimism, Polygon, Gnosis Chain, BNB Chain, Avalanche, Linea, Ink and Plasma. The network selector in the app is the live list.
What happens if my CoW Swap order doesn't fill?
It expires and nothing happens on-chain, so you pay no gas. Your tokens never left your wallet.
