Solana Priority Fees During Network Congestion — Complete Strategy
Network congestion on Solana — driven by viral NFT launches, DeFi volatility spikes, or airdrop events — causes dramatic increases in priority fee requirements. Understanding how to navigate these conditions is essential for maintaining reliable transaction throughput.
How Congestion Affects Priority Fees
During congestion, hundreds to thousands of transactions compete for the same block space. The validator's scheduler processes the highest-priority (highest fee-to-cost ratio) transactions first. Transactions with zero or minimal priority fees may wait dozens of slots or be dropped entirely, appearing as "transaction simulation failed" or "blockhash expired" errors.
Detecting Congestion in Real Time
Monitor these signals to detect impending or active congestion:
- Check the live fee tracker — a sudden jump in the 75th/95th percentile fees signals congestion
- Use
getRecentPerformanceSamplesRPC to monitor TPS and slot timing - Watch for elevated slot processing times (normal is ~400ms; congestion pushes this to 600ms+)
- Monitor your transaction confirmation rate — a drop below 80% suggests fee adjustment is needed
Adaptive Fee Strategy During Congestion
Implement an exponential backoff fee strategy: start at the median fee tier and increase by 50–100% on each retry if the transaction is not confirmed within 2 slots. Cap at the 95th percentile to avoid catastrophic over-payment. This approach balances cost efficiency with reliability across varying network conditions.
Transaction Retry Logic
A common mistake is retrying failed transactions with the same fee. Always increase the priority fee on retries — sending the same transaction again with unchanged parameters won't improve your outcome.
Best practices for congestion handling:
- Set a short transaction expiry (use a fresh blockhash with
lastValidBlockHeight) - Implement fee escalation: +50% on first retry, +100% on second retry, +200% on third
- Use preflight checks (
skipPreflight: false) to catch simulation failures early - Consider Jito bundles for guaranteed atomic execution during extreme congestion
Congestion vs. Transaction Errors
Not every failed transaction is a fee problem. During Solana's historical congestion periods, both network-level issues and fee-related drops occur simultaneously. Distinguish between "blockhash expired" (fee may be fine, just need to retry with fresh blockhash) and "transaction simulation failed" (may indicate insufficient fee or invalid instruction). The Priority Fee API helps isolate fee-specific failures by recommending the current minimum viable fee for your target program.



