AMM slippage settings should follow the trade, not a fixed default
A useful slippage limit balances failed swaps against worse fills. Set it from route-level quotes, execution conditions and a clear minimum acceptable outcome.
By Crypto Docket Newsroom#f7bffe5 min read

AMM integrators should set swap slippage from each trade’s quoted output and execution conditions, rather than apply one wide default to every route. Compared with a fixed setting, a trade-specific limit can reduce unnecessary failures on fast or thin markets while keeping a tighter cap on routine swaps. The cost is more work: teams need sound quotes, a clear policy and monitoring to tell when the policy is too strict or too loose.
What does a slippage limit actually control?
It sets the worst output an exact-input swap will accept after the quote is built. If the route quotes 100 output tokens and tolerance is 0.5%, the transaction’s minimum output is 99.5; an execution below that should revert. For an exact-output swap, the equivalent guard is a maximum input. The limit gives a pending trade room to absorb price movement, but does not promise that the quoted output will arrive.
That guard is different from price impact. Price impact is the expected effect of the trade itself on the pool price; slippage usually describes the difference between the quote and execution as the market changes or transactions are ordered before the swap. Interfaces sometimes use the terms loosely, so integrators should define them separately in code and analytics. The slippage limit should be applied to a reliable route quote that already accounts for the trade size, fees and expected output.
For a closer look at how network selection, swaps and pool choice shape an integration, this SpookySwap guide to network, swap and pool decisions goes further. Those choices affect the execution context; the limit itself remains the integrator’s bound on the outcome it will accept.
How should integrators choose the tolerance?
Choose the narrowest tolerance that still lets the intended trade execute under observed conditions. A broad setting makes inclusion more likely when prices move, but it also permits execution farther from the quote. A narrow setting limits that gap, but more transactions may revert after even modest movement. A reverted swap usually means no token exchange, though the sender can still pay network fees.
Start with the route, not just the token pair. A direct swap and a multi-pool route can have different depth, fees and exposure to price movement. A large order relative to available liquidity can move the pool price substantially before it is submitted; widening tolerance does not undo that price impact. Compare the expected output against an independent reference where appropriate, and avoid treating an unusually poor quote as a reason to relax the limit.
For an integrator, a useful policy has three parts:
- Calculate the minimum output from the current route quote and the trade’s tolerance.
- Set tolerance by route conditions, including liquidity, volatility and the expected time to inclusion.
- Record quote, limit, route and outcome so that failed and worse-than-quoted executions can inform later tuning.
These are inputs to a policy, not a universal percentage table. A stable, deep route may support a tighter bound than a volatile, thin route, but the appropriate gap depends on actual quote movement and transaction timing. If one category repeatedly fails, investigate quote freshness, route selection and inclusion delay before increasing its tolerance across the board.
Should the limit be fixed, adaptive or user-set?
A fixed default is simple to explain and test, but it treats quiet and volatile conditions alike. An adaptive limit can use route-specific estimates of price movement while a transaction is pending; it can improve completion when conditions change, but only if the estimates are current and bounded. A user-set value offers control, but can expose users to a setting they do not understand, especially if the interface gives no clear minimum output.
For most integrations, a bounded adaptive policy with a visible minimum output is the stronger starting point. Set a conservative floor and ceiling, then adjust within them using measured quote drift and inclusion time. Keep the same policy legible in the interface: show the expected output, minimum acceptable output and, where relevant, price impact as separate figures. If the system cannot explain why a trade received a wider limit, it is difficult to audit and difficult for users to trust.
Do not use slippage tolerance as a substitute for an independent price check or a transaction deadline. A wide bound can leave more room for adverse transaction ordering, including sandwiching; a deadline limits how long a stale transaction remains valid, while a price check can reject a quote that is already unreasonable before submission. Keep these protections distinct, and test how each behaves on the specific router and chain being integrated.
The signals to watch next are the gap between quoted and executed output, revert rates by route and market condition, inclusion delays, and how often the configured minimum output is nearly reached. Rising failures may point to limits that are too tight or quotes that have gone stale. More fills near the minimum may point to limits that are too loose or execution quality that needs attention. Adjust against those outcomes, one route class at a time.