The most important fact on this page.
sellAmountOut — the gross amount released from escrow —
is an argument, not a result. What the taker receives is therefore fixed the moment they sign.
Only the payment can move, only for pegged orders, and only up to maxAmountIn.What each side is exposed to
Neither party can be moved past a bound they set themselves. A price swing between signing and
mining can only make the fill revert, never settle badly.
The order of operations is the safety model
1
Role — only if the desk has switched it on
takerWhitelistEnabled is false, so filling is open to
anyone — read it on-chain rather than trusting this page.2
State and time
status == Open · block.timestamp ≤ expiry · sellAmountOut ≠ 0 · sellAmountOut ≤ sellRemaining3
Minimum size — partial fills only
4
Quote — the only oracle read on this path
Fixed: the stored ratio, no oracle at all. Pegged: the five-minute Orakl reference (strict),
then the maker’s floor check.
5
The taker's ceiling
amountIn ≤ maxAmountIn, else SlippageExceeded.6
Effects — before any transfer
sellRemaining is decremented; the order is closed and de-indexed if it reaches zero;
accruedFees[sellToken] += fee.7
Interactions
Partial fills and the minimum
The rule prevents a normal-sized order from being chipped away through sub-minimum fills. It does not require the remainder after a valid fill to stay above the minimum; the remainder can always be taken later, including in smaller pieces once it is itself below the threshold. A UI should make the two simplest valid corrections explicit:- take it all — fill the whole remainder
- take the minimum — release
minOrderAmountof the offered token and show the exact payment

