cowswap is a DEX aggregator that routes token trades through solver auctions. When you need to place a trade, cowswap sends your signed intent into CoW Protocol, where solvers seek an execution across DEX liquidity while reducing MEV exposure. Choose the CoW Swap order by what you need to fix: input, output, price, or timing.
A fixed-input swap fits when you know how many tokens to spend and want to trade soon. You specify the sell amount; the quote and slippage tolerance establish a minimum amount you can receive. Say 10,000 stablecoin units quote 3.2 ETH after estimated costs: a 0.5% tolerance puts the output floor at 3.184 ETH.
Check the token contracts, chain, allowance, net output, and expiry before signing. The signature authorizes a trade within those bounds; a solver submits the settlement transaction if it can satisfy them. If no solution meets the floor before expiry, the order remains unfilled. More slippage can accommodate a moving market, but it does not remove the price impact of a large trade against thin liquidity.
For a liquid pair, I would start with fixed input and compare its net output with a direct AMM quote for the same size at the same time. That tests the result you would receive rather than comparing displayed midprices. It is a poor fit when execution must happen in a particular block: an auction offers a bounded outcome, not a guaranteed settlement time.
A fixed-output swap fits when another task requires an exact quantity of the receiving token. You set the buy amount and inspect the maximum sell amount, which is your spending boundary. For example, if 100 output units are quoted at 99 input units, a 0.5% tolerance implies a cap near 99.5 input units; use the actual quoted cap when deciding.
Check that your wallet holds enough of the input token to cover that cap and that its allowance covers the authorized amount. If the required input rises past the cap before settlement, the order cannot fill on those terms. Repeatedly raising the cap is a poor fix for a token with transfer taxes or unusual balance behavior; first check whether its mechanics are compatible with the quoted trade.
Choose fixed output when receiving 100 units instead of 99 would break the task that follows the swap. Choose fixed input when your spending amount is the constraint and a slightly variable receipt is acceptable. Both choices still depend on a solver finding an executable route within the signed bounds.
A limit order fits when you can wait for a specified exchange rate or better. A sell limit sets the minimum receipt for an input amount; a buy limit sets the maximum payment for an output amount. CoW Swap limit orders can remain eligible across auctions until filled, cancelled, or expired, and partial fills may be possible when the order permits them.
A common mistake is expecting a fill the moment the spot price touches the limit. The solver must also cover execution costs while respecting your signed price, so the market may need to move further in your favor. Check the effective rate needed for execution, especially for a small order on a costly chain; a visible price touch alone does not establish that a fill is economical.
Consider partial fills when completing a large order gradually is useful, and an all-or-nothing condition when a smaller receipt would disrupt the next task. Set an expiry that matches the reason for the trade: an old order can become relevant again after you have changed your plan. If you cancel an open order off-chain, allow for a settlement already in progress; an on-chain cancellation gives stronger finality but requires a transaction.
A TWAP order fits when one trade would move the market enough to justify scheduled slices. Its main parameters are total size, number of parts, duration, and any price-protection threshold. Dividing a trade into six equal parts over three hours, for example, creates a roughly 30-minute schedule; each eligible part still needs a viable execution at its turn.
Compare the expected reduction in price impact with the cost of settling multiple parts. Six small trades can be worse than one larger trade if liquidity is deep and each slice carries meaningful execution cost. Check the amount per part against available liquidity and check that your wallet can maintain the required balance and authorization throughout the schedule.
Price protection can leave a scheduled part unfilled when the market moves against your threshold, so the final result may differ from a simple three-hour average. I would use TWAP for size-driven price impact, a limit order for a specific target rate, and a fixed-input swap when the trade is modest and needed soon.
Check the settlement path, total cost, and eligibility before committing an order. Each explains why an attractive quote can differ from a completed trade.