Pump.fun transaction failed: what each error actually means
The real reasons a Pump.fun swap fails on Solana, how to tell a slippage failure from a congestion failure, and what to change so the next attempt lands.
Almost none of these are bugs in Pump.fun. It's usually one of four things, and telling them apart takes about ten seconds once you know what to look at.
Four real causes
Slippage exceeded. The price moved between the moment you signed and the moment your transaction executed. The contract refused to fill you at a worse price than you authorised, which is the protection working correctly rather than failing.
Not enough priority fee. Solana processes transactions competitively when it's busy. A transaction offering too little priority sits, gets dropped, or lands too late to be valid.
Blockhash expired. Every Solana transaction references a recent blockhash and is only valid for a short window. Sign, hesitate, confirm too late, and it is dead on arrival.
Insufficient balance. Do you have room for the fees and, if this is your first time holding that token, the roughly 0.002 SOL of rent needed to create a token account? Most people don't check.
How to tell which one you hit
Wallet messages are often vague. Transaction records are not. Open the signature in an explorer and look at the error.
| What you see | What it means | What to change |
|---|---|---|
| Slippage or "exceeded maximum" | Price moved past your tolerance | Raise slippage a little, or trade a smaller size |
| Transaction not found / dropped | It never landed | Raise priority fee, retry |
| Blockhash not found / expired | You confirmed too slowly | Sign promptly, retry |
| Insufficient funds for rent | No room for a token account | Leave a little SOL free beyond the trade |
If the transaction appears in an explorer with an error, it landed and failed during execution. If it cannot be found at all, it never made it, which is a completely different problem with a completely different fix.
Slippage, in one paragraph
Slippage tolerance is the maximum difference you will accept between the price you saw and the price you get. On an established pool with deep liquidity, a low tolerance is fine because prices barely move between blocks. On a fresh Pump.fun mint, where a few SOL of buying moves the price meaningfully, a low tolerance fails constantly. That's not the platform misbehaving, it's a direct consequence of how the bonding curve prices your coin.
The trap is overcorrecting. Setting a very high tolerance means you'll fill, and you've also told the network you'll accept a much worse price, which is exactly the condition a sandwich bot needs.
Priority fees, in one paragraph
Solana's base fee is tiny and identical for everyone, so during congestion it can't decide who goes first. Priority fees do that. When the network is busy and your transaction offers a static low fee, it loses to everyone who is paying attention.
This matters more than most people realise for anything automated. A system that trades with a fixed priority fee works fine when the chain is quiet and stops working when the chain is busy, which is precisely when the most attention is available. Adaptive priority fees are one of the components inside a properly built campaign, which is part of why a serious quote costs what it costs.
Failures that aren't failures
Two situations look like errors and aren't.
Your token doesn't appear after a successful buy. The transaction succeeded, the token account exists, and your wallet hasn't indexed it yet. Refresh, or add the mint address manually.
The swap went through at a worse price than shown. That's slippage inside your tolerance, not a failure. The quote was an estimate; the fill is what the curve gave you at the moment you executed.
A practical retry sequence
When something fails, work through this rather than mashing the button:
- Find the signature and read the actual error. Everything else is guessing.
- If it never landed, raise the priority fee before anything else.
- If slippage failed, try a smaller size first. Smaller trades move the price less and often land at the original tolerance.
- Only then raise slippage, and raise it in small steps rather than jumping to a large number.
- Check your free SOL. Leave headroom beyond the trade for fees and rent.
- If everything fails at once, it is probably the network rather than you. Wait it out.
Why this matters beyond your own trades
If failures are common on your coin, buyers experience them too. A trader who tries to buy, fails twice and moves on is a lost buyer, and you will never know it happened because a failed transaction leaves no trace on your page.
This is one of the quieter reasons thin, illiquid coins struggle: the experience of buying them is worse, and the people most likely to buy early are exactly the people least willing to fight an interface. Nothing fixes that entirely, but a coin with steady activity and a curve that is actually moving is measurably easier to trade than one where every fill is a coin flip. Solana RPC errors covers what each failure message actually means. The console prices sustained activity against a specific window if that's the gap on your mint.
Frequently asked
Yes, in most cases. A transaction that reaches a validator and then fails during execution still consumed resources, so the base fee is taken. A transaction that never lands at all is different, but assume a failed attempt has a cost.
Because new coins have thin liquidity and fast-moving prices, which makes slippage failures far more likely, and because everyone is trying to trade the same thing at the same moment, which makes congestion failures more likely too.
It will make the transaction land more often and it will make the price you get worse, sometimes dramatically. On a volatile new coin a very high slippage tolerance is an invitation to be sandwiched, so it is a trade-off rather than a fix.
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