Skip to main content
In short: you have a big trade and wonder if breaking it into smaller pieces will get you a better price. It only saves money if the pool’s price recovers between the pieces; sent back to back, three trades cost the same as one. Spreading one trade across several pools already happens for you. If you can wait, a price order that fills in pieces does the waiting for you, but the price can move against you while you wait. Breaking a large trade into pieces saves money only if the market refills between the pieces. If it does not, three trades cost the same as one, and the wait bought nothing. Everything on this page follows from that condition. The rest of the arithmetic is the same either way.

Two different things are called splitting

Only the word is shared. Splitting across pools happens within one moment. Splitting across time is a decision about several moments.
You get the first one automatically. Every order with a price limit already spreads across every pool that will take it at your price. Sizing a trade shows a measured case where it filled twice as much as the best single pool.Everything below is only about splitting across time.

Back to back, splitting changes nothing

Send the second piece immediately and you gain nothing. An automated market maker’s price walk is path-independent: buying X then Y from a given pool state lands at the same place, and hands you the same total, as buying X+Y in one go. Capping a 450,000 USDC offer at 5 basis points to produce the first piece: That last row only fetches 33.075579 if the pool has not moved. Sent straight after the first piece it fetches 33.040066, and the two pieces sum back to exactly the single trade. You paid the same and used more gas.

The per-piece numbers flatter the split

Those pieces report 5.00 and 1.51 basis points, and neither looks like 6.08. Split into three and each piece may come back at around 2, which makes it tempting to conclude the trade cost 2. It did not. Impact is measured against the pool as it is now, and the previous piece already moved it. Every piece after the first is quoting from a price your own trading created.
Impact does not add up, and per-piece impact always flatters a split. Three pieces reporting 2 basis points each is not a 2 basis point trade. Compare against what the whole size costs in one go. That is the only figure that prices the thing you want to own.

With recovery, splitting is the point

Here is the case where splitting works. Pay the impact on a piece, wait for the pool to return, and pay it again from a restored price. Each piece is then quoted from an unmoved pool, so each really is cheaper. At roughly 2,410 USDC per WETH that is about 198 dollars on a 450,000 dollar trade, for waiting. The gain is front-loaded. Going from one trade to two captures 3.05 of the 4.39 basis points available, about seventy percent of it. The third piece adds 1.34, and a fourth would add less again. Each extra piece buys a smaller improvement and costs another transaction, another wait, and another window in which the market can move against you.
Why the saving is large here. This pair costs 2.84 basis points at 150,000 and 3.04 at 225,000, almost flat, then 6.08 at 450,000. The curve bends sharply past a point, which is what happens when a trade runs past the range where the liquidity sits.Splitting pays best exactly where a trade is about to run off the end of the available depth, and pays almost nothing when the whole size fits comfortably inside it.

What “the pool recovers” actually is

The pool does not heal itself. Your buy pushed the pool off the wider market’s price. Somebody now sells into it until the two agree again, and keeps the difference. The price comes back because a third party was paid to bring it back. That is useful to you, because your next piece starts from a restored price, but it is not liquidity appearing from nowhere. The slower mechanism is liquidity being re-posted. Your trade consumed depth in a particular range, and the people who provide it may add more there. That happens on its own schedule and cannot be relied on within minutes. Neither is guaranteed, and both are outside your control.

What you give up

Impact risk becomes timing risk. While you wait for the second piece the market can move against you, and a 30 basis point trend costs far more than the 4 basis points of impact you avoided. Splitting swaps one kind of risk for another rather than reducing it. Which one you would rather hold is the actual decision, and the arithmetic above only tells you what the impact side is worth.

You do not have to split by hand

Fill what clears at my price, wait, fill more when the market returns. That is a resting price trigger with partial set to true. It fires per bite, taking what the market allows at your price and waiting rather than chasing. State the price and let it take what the market offers, when it offers it. Each bite is capped by default: 0.5% of impact for a limit order, and 0.2% for a market order that fills in bites. You can change either. Sizing a trade says how a bite is sized. → Running it without you
Evidence for the converse, from our own end-to-end tests. On a frozen copy where nobody else trades, a partial order’s bites decayed 21.72, then 2.22, then 2.02 WETH. Each piece got a worse deal at the same price because nothing restored it, and the test harness had to sell WETH back between bites to make further fills possible at all.With no recovery, splitting gains nothing. The benefit comes only from what happens between the trades, and you cannot make that happen.

Choosing