Slippage
DEX & liquidity
Slippage is the difference between the price you quote and the price the chain actually fills you at. On a swap instruction, you pass either a minimum out amount or a maximum in amount. If the fill would breach that bound, the program aborts. Slippage tolerance is how much wiggle room you allow.
Detailed explanation
Two sources cause slippage on Solana: market movement between quote and fill, and the size of your trade relative to pool depth. The first is the cost of latency. The second is the cost of consuming liquidity as you walk price. CLMMs feel both because the price step is continuous. AMMs feel the second heavily because reserves move with every fill. DLMMs feel only the cross-bin component since intra-bin trades have zero slippage by design.
Every production swap instruction has a slippage param. On Raydium AMM v4 it is minimum_amount_outfor swaps. On Orca Whirlpools it is other_amount_threshold combined with a sqrt-price limit. On Jupiter aggregator routes it is a basis-points value applied across each leg.
Common values: 0.5% for blue-chip swaps, 1% to 3% for memecoins during normal volume, 5% to 15% for new launches and high- volatility tokens. If you set zero slippage tolerance and the block ahead of you moves price by even one wei, your transaction fails and you pay the priority fee anyway.
One opinion: a lot of failed transactions during congestion are not failed because of compute-unit limits. They are failed because the trader set 0.5% slippage on a memecoin during a launch event. Tune slippage by token volatility, not by a "safe" default.
Two patterns help in production. First, quote against the same on-chain pool state you will execute against; do not quote on a stale snapshot. Second, simulate before you submit for any trade above a few hundred dollars; simulation runs the same swap math the validator will and tells you the exact min-out at current state, which lets you set slippage tight without false rejects.
When you'll see this
Slippage params show up on every DEX swap instruction. Watch for transaction logs containing SlippageToleranceExceeded or program-specific errors like Raydium's ExceededSlippage. Those are the failures you can fix with config, not with code.
How NoLimitNodes uses this
Related terms
- Bonding Curve · A deterministic price function used by Pump.fun and other launchpads to price tokens against virtual reserves.
- Sqrt Price · The square root of price stored as a Q64.64 fixed-point number, the math primitive every CLMM uses.
- Compute Unit Budget · The CU limit and price you set with the ComputeBudget program to control how much work and priority fee a transaction uses.
- Jito Tip · A SOL transfer to a Jito tip account that pays the block engine to include and order your transaction bundle.
- LP Token · A fungible SPL token that represents your share of an AMM pool, mintable on deposit and burnable on withdraw.