HomeKnowledge Base5 Common TWAP Order Mistakes (and How to Avoid Them)

5 Common TWAP Order Mistakes (and How to Avoid Them)

6 min read
·
Published Sep 18, 2026, 11:47 AM

TL;DR

  • TWAP (Time-Weighted Average Price) orders split a large trade into equal parts, executed at regular intervals, to reduce the price impact of your own trade - not to guarantee a better price or protect you from every mistake.

  • The five mistakes below: assuming any TWAP shields you from MEV, mismatching duration/part count to your order size, skipping price protection, over-slicing your order, and under-approving your token allowance.

  • CoW Protocol's TWAP orders settle through the same solver-run batch auctions as every other order on CoW Swap, which changes the MEV picture compared with manually firing off repeat swaps on a public AMM.

  • None of this is "set and forget." A few minutes of setup is the difference between a TWAP that does its job quietly and one that limps along half-filled.

Why TWAP mistakes are easy to make

TWAP has a reputation as the sensible, grown-up order type - the one you reach for when a trade is too big to just fire off in one transaction without moving the market against yourself. That reputation is earned. Splitting a large order into smaller, evenly-timed pieces is one of the oldest tricks in institutional execution, crypto included.

But "time-weighted average price" is doing a lot of quiet work in that name, and it's easy to assume it does more than it actually does. TWAP smooths out the impact of your own trade. It doesn't forecast the market, guarantee a favourable price, or forgive a sloppy setup. Here are five mistakes that trip people up, and how to sidestep them - with notes on how CoW Protocol's version of TWAP handles each one.

Mistake #1: Assuming any TWAP protects you from MEV

A "TWAP" isn't one thing - it's a pattern (split the order, spread it over time), and how that pattern gets executed matters enormously. Manually fire off ten swaps through a wallet on a public AMM at regular intervals, and you haven't built yourself a shield - you've built a schedule. Each slice is its own transaction sitting in the public mempool, predictable and evenly spaced. An MEV searcher can watch for slice two, front-run it, let it fill at a worse price, back-run it, then repeat for slice three, four, and five. Ten slices, ten small sandwiches, instead of one big one.

CoW Protocol's TWAP orders work differently: every part settles through the same solver-run batch auction as every other CoW Swap order, rather than landing in the public mempool as an isolated, predictable transaction. That's a structurally different setup from a DIY mempool TWAP, and it removes that specific attack surface - though, as with any onchain system, no venue can promise immunity from every possible form of adverse trading.

How to avoid it: Don't treat "spread it over time" as protection on its own. Check whether the venue's TWAP settles through a design that accounts for MEV, or whether you're just handing a bot a schedule.

Mistake #2: Picking a duration or part count that doesn't fit the trade

Too short a window, and you haven't spread the order out enough to get the benefit - you're paying the setup cost of a TWAP for the impact profile of a single swap. Too long, and you've swapped one risk for another: your average price is now exposed to wherever the broader market wanders during that window. TWAP smooths your own footprint; it does nothing to stop the market trending against you while you wait.

Rough rule of thumb: the bigger your order relative to the asset's normal trading activity, the more parts and the longer the duration you want, so each individual slice is small relative to available liquidity. A trade that's a small fraction of daily volume for a major pair rarely needs hours; one that's a meaningful chunk of it might.

How to avoid it: Set duration and number of parts together, with your order size and the asset's typical liquidity in mind - not a default you left untouched.

Mistake #3: Skipping price protection (or setting it too tight)

CoW Protocol's TWAP orders include a price protection setting - a minimum acceptable price per part. Leave it unset, and a part can execute at whatever price is available the moment it triggers, including during a sudden bad move. Set it too tight against a moving market, and parts simply won't execute at all - your order stalls, unfilled, while you wait for a price that may not come back in time.

How to avoid it: Set price protection with some real headroom for normal volatility - not zero, and not so strict it defeats the order's purpose.

Mistake #4: Slicing the order thinner than it needs to be

More parts isn't automatically better. Every part is its own onchain execution, and each one needs to be worth doing. Split a modest order into far more parts than it needs, and you can end up with pieces so small the costs eat into any benefit, without meaningfully improving your average execution price versus a handful of well-sized parts. CoW Protocol enforces a minimum size per part for exactly this reason - the figure varies by network, so check the current numbers on the TWAP order screen or docs.cow.fi before you set your part count.

How to avoid it: More parts should buy you something - less impact, better averaging. If it's just buying you more transactions, dial it back.

Mistake #5: Approving only enough for the first slice

A TWAP order isn't one transaction - it's a series of parts triggering over your chosen duration, and your token approval needs to cover the whole thing: every part, not just the first. With exact/partial allowances now available for TWAP orders on CoW Swap (rather than defaulting to an unlimited approval), this is an easy trap: you approve an exact amount, but base it on one part instead of the full order. The first slice or two go through fine, then the order quietly stalls once the approval runs dry.

How to avoid it: Base your approval on the total sell amount - part size × number of parts - not the per-part figure. Exact allowances are a good habit; just make sure "exact" means exact for the whole order.

Bringing it together

TWAP remains one of the better tools for executing size without broadcasting your intentions to the entire market - but "better tool" still means a tool that rewards a bit of setup. Match duration and part count to the trade, set price protection with room to breathe, don't over-slice, and approve for the full order rather than the opening move.

Ready to put it into practice? Head to CoW Swap, choose TWAP from the order type menu, and give it a proper go.

Recommended reading