Solana slippage explained, and how to set it
What slippage tolerance actually authorises, why new coins need more of it, how sandwich bots exploit a high setting, and how to pick a number.
Slippage is the single most misunderstood setting in Solana trading, and the misunderstanding costs people money in both directions: failed transactions when it is too low, and bad fills when it's too high.
What slippage tolerance actually is
When you submit a trade, time passes between the price you were quoted and the moment your transaction executes. In that gap, other trades happen and the price moves.
Slippage tolerance is your instruction to the venue: "execute this, but only if the price hasn't moved against me by more than X."
Two things follow immediately.
It's a ceiling, not a price. Setting 15% doesn't mean you pay 15% more. It means you have authorised anything up to that. Most of the time you get filled far better.
A rejection is the protection working. Failing with a slippage error didn't malfunction. It refused a fill worse than you allowed, which is what you asked it to do.
Why fresh coins need more of it
On a bonding curve, price is a direct function of how much has been bought. Early on, the curve is steep in relative terms: a few SOL of buying moves the price a meaningful percentage. That's not a defect, it's how the curve prices a new coin.
Now add competition. On a coin people are actively trying to buy, many transactions land between yours being signed and yours being executed. Each one moves the price. A tolerance that is comfortable on a deep, quiet pool fails repeatedly on a fresh mint that fifty people are buying simultaneously.
This is why the same setting behaves completely differently across coins, and why copying someone else's number is unreliable.
The sandwich problem
Here is where a high tolerance stops being merely expensive and becomes exploitable.
How does a sandwich actually work? A searcher sees your pending transaction and the tolerance attached to it. They buy immediately before you, pushing the price up. Your trade executes at the worse price, still inside your tolerance. They sell immediately after, pocketing the difference.
The critical detail: your slippage tolerance defines how much they can take. A 5% tolerance caps their profit at roughly that. A 50% tolerance is an invitation, and it will be accepted.
So the instinct to "just set it high so it goes through" is precisely the behaviour that gets harvested. You did not solve the failure, you paid someone to solve it for you.
How to actually set it
Work in this order, and stop as soon as it lands.
- Start conservative. A low tolerance on any coin. If it fills, you are done.
- Reduce trade size before raising tolerance. A smaller trade moves the price less and often succeeds at the original setting. This is the step almost everyone skips.
- Raise in small steps. Not from 1% to 30%. Increment.
- Check whether the problem is actually slippage. If the transaction never appears in an explorer at all, it never landed, and the fix is a higher priority fee rather than more tolerance. Reading a failed transaction covers how to tell the difference.
- Accept that some trades shouldn't happen. If a coin will only fill at a large tolerance, the market is telling you that the price is moving fast in a direction you may not like.
What this means for a creator
Two consequences that matter beyond your own trades.
Your buyers hit this. Somebody tries to buy your coin, fails twice on slippage, moves on is a lost buyer, and you'll never see it happen. Failed transactions leave no trace on your page. This is a quiet reason thin, erratic coins underperform: they're simply harder to buy.
Anything automated on your coin faces the same problem. A campaign trading your mint has to handle slippage and priority fees intelligently or it produces failures instead of volume. Fixed tolerance plus a fixed fee works when the chain is calm and stops working exactly when attention peaks, which is the worst possible moment for it to stall.
That's one of the components hidden inside a real quote, along with bundling that keeps a campaign's own trades from being sandwiched. Skip it and part of the spend goes to searchers rather than to your chart, which is covered in what a campaign actually costs.
Quick reference
| Situation | What to do |
|---|---|
| Failing on an established pair | Small increase, or check priority fee |
| Failing on a fresh mint | Reduce size first, then increase gradually |
| Transaction never appears | Not slippage. Raise priority fee |
| Filled much worse than quoted | Tolerance was too generous for the conditions |
| Failing repeatedly during congestion | Wait. It's the network, not your settings |
Picking your number
Slippage tolerance is the maximum you've agreed to lose to price movement, and everyone who can see your pending transaction can see that number. Set it as low as will actually fill, reduce your size before you raise it, and treat a very high tolerance as what it is: an offer.
If you want to see how a campaign handles this on your behalf, with bundling and adaptive fees included rather than sold separately, the console shows the full cost before anything is signed.
Frequently asked
Higher than on an established pair, because price genuinely moves between signing and execution, but not so high that a sandwich becomes profitable against you. Start low, raise in small steps, and reduce trade size before you reach for a large tolerance.
No. Slippage tolerance is a ceiling, not a price. You pay whatever the venue gives you at execution. The danger is that a high ceiling makes it profitable for someone else to push you toward it deliberately.
Because it depends on how much a given trade moves the price, which depends on liquidity. The same tolerance that is generous on a deep pool is restrictive on a fresh bonding curve where a few SOL moves the price meaningfully.
Everything in this guide describes mechanics that settle on Solana mainnet, so you can check any of it yourself. Mint addresses, swap signatures, curve progress and wallet counts are all public, and an explorer will disagree with us if we are wrong.
Curvegrad sells a volume service, and guides that touch on what a campaign does say so in the text rather than in a footnote.
- Solana mainnet transaction history, read through the standard RPC methods
- Pump.fun bonding curve and PumpSwap pool accounts as they appear on-chain
- Public block explorers, where every claim here can be verified against a real mint
- Campaigns run through our own engine, which is where the operational detail comes from