Solana RPC errors, what each one actually means

Published September 4, 20263 min readTroubleshooting

Blockhash not found, transaction expired, slippage exceeded, and the rest, with what causes each and the setting that fixes it.

Solana errors are unhelpfully worded, and most of them mean one of 3 things. Knowing which saves the 20 minutes people spend reinstalling wallets over a congestion symptom.

Blockhash not found

Your transaction referenced a blockhash the node doesn't recognise.

Usually your RPC endpoint is lagging behind the chain, so it hasn't seen the block your wallet built against. Occasionally the reverse, where your wallet is using a stale one.

Retry once. Still failing? Switch RPC endpoints, since yours is behind. Public endpoints lag more during busy periods, which is exactly when you'd notice.

Transaction expired or not confirmed

Submitted, then never included in a block before its lifetime ran out.

Congestion, and it's the most common failure by a distance. More transactions arrived than the blocks could hold, yours didn't carry enough priority fee to compete for a slot, and rather than failing visibly it simply expired without ever appearing anywhere you'd think to look.

Raise the priority fee. Costs fractions of a cent, and it's the difference between landing and not. Priority fees and MEV covers setting one properly.

Nothing was lost here. An unincluded transaction costs nothing at all.

Slippage tolerance exceeded

Price moved further than you allowed between quote and execution, so the transaction reverted deliberately.

Your protection worked. Somebody else traded in the same window and the fill would have been worse than your setting permitted.

What to do depends on why it happened. On a fast-moving coin, raise tolerance slightly. On a large order, split it into 3 or 4 pieces so each moves the price less. What is slippage covers picking a number, and don't set it to 30% to make errors go away, since that hands room to anybody positioning around you.

Insufficient funds for rent

Your account balance would fall below the minimum required to keep the account open.

Solana charges rent-exempt minimums on accounts, and creating a token account for a coin you've never held costs a small amount, typically around 0.002 SOL. Trying to spend your entire balance leaves nothing for it.

Keep 0.05 SOL spare and this stops happening, along with several other things.

429 Too Many Requests

You hit a rate limit on your RPC endpoint.

Public endpoints are shared, and shared resources get limited. A wallet polling for updates, plus a dashboard doing the same, plus whatever else is on that endpoint, adds up quickly.

Use a different endpoint, or get a private one. Checking a coin 4 times a day, you'll never see this. Running anything automated, you'll see it constantly. Where Pump.fun data comes from covers the options.

Simulation failed

The node ran your transaction in advance, it errored, and so it was never submitted.

Broadest of the messages, and it usually points at something specific in the instruction: an account that doesn't exist, a balance that isn't there, or a program state that changed since your interface built the transaction.

Refresh the page and rebuild the transaction. A stale interface causes most of these.

Telling failure types apart

Symptom What happened Cost to you
Nothing in your history Never included Nothing
Failed entry on Solscan Landed and reverted Base fee only
Success but wrong amount Slippage within tolerance The difference

That first row confuses people most, since a transaction that vanished feels worse than one that failed visibly and actually costs less. Token not showing in wallet covers confirming what really happened.

What creators should know

Your buyers hit all of this at exactly the moments you want them buying, because attention creates load. What do they conclude? Usually that your coin is broken.

Nothing you can do about the network itself. What you can do is recognise those reports for what they are and tell people to raise their priority fee, which resolves it almost every time.

Frequently asked

Did a failed transaction cost me anything?

A transaction that never landed costs nothing. One that landed and reverted costs the base fee, which is a fraction of a cent.

Why do errors cluster during busy periods?

Because most of them are congestion symptoms. More transactions arrive than blocks can hold, so inclusion becomes competitive.

Is a public RPC good enough?

For occasional trading, usually. For anything that submits frequently, rate limits become the bottleneck.

How to check this yourself

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.

what this is based on
  • 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