Two sniper bots, identical configurations, same token launch. One lands in the first block and buys at the opening price. The other confirms three blocks later and buys at a price 40% higher. The only difference: priority fees. In competitive token sniping, priority fees are not an optional setting — they are the mechanism that determines your place in the transaction queue.
This guide covers the mechanics from the ground up: how Solana validators decide which transactions to process first, how to calculate the right fee for different conditions, and how the Solana Sniper Bot's automatic fee mode removes the guesswork.
How Solana Transaction Fees Work
Every Solana transaction pays two types of fees:
- Base fee: A fixed cost of 5,000 lamports (0.000005 SOL) per signature. This is burned and covers the minimum cost of transaction processing. It does not affect ordering.
- Priority fee: An optional additional payment, denominated in micro-lamports per compute unit, paid to the validator as a tip for prioritising your transaction. This is what matters for sniping.
Validators collect transactions from the network and pack them into blocks. When demand exceeds block capacity, they have a financial incentive to include transactions with higher priority fees first. A transaction with zero priority fee will still eventually confirm — but during a competitive launch, "eventually" could mean many seconds or even minutes of delay.
Compute Units and Fee Calculation
Priority fees on Solana are not a flat amount — they scale with transaction complexity. The unit of computation is called a compute unit (CU), and each operation in a transaction consumes some number of CUs. A simple SOL transfer uses around 300 CUs. A swap on Raydium uses approximately 100,000–200,000 CUs. A Pump.fun buy with safety checks may use 150,000–250,000 CUs.
The priority fee formula is:
Priority Fee (SOL) = (micro-lamports per CU × CU limit) ÷ 1,000,000,000,000
Example: 50,000 micro-lamports/CU × 200,000 CUs ÷ 1T = 0.01 SOL priority fee
This means setting a high micro-lamport rate on a CU-heavy transaction like a DEX swap results in a significant absolute fee. Most sniper configurations set a CU limit cap to avoid accidentally paying enormous fees on unexpectedly complex transactions.
Why Priority Fees Determine Snipe Success
During a popular launch on Pump.fun or Raydium, hundreds to thousands of transactions are submitted in the same second. The block capacity is finite — each block can process a limited number of transactions before the 400ms slot boundary. Here is what actually happens:
- Your bot detects a new pool and builds a buy transaction in milliseconds.
- So do 200 other bots. All transactions enter the validator's pending queue simultaneously.
- The validator sorts by priority fee. Highest fee transactions fill the block first.
- If your fee is in the top tier, you confirm in block N. If it's median, you confirm in block N+2 or later.
- In those extra 800ms, the price has moved. Your quoted price is now stale. Either your slippage tolerance absorbs the difference, or your transaction fails.
This is why priority fees and slippage are interconnected. Higher priority fee → faster confirmation → less price movement → lower slippage tolerance needed. Lower priority fee → slower confirmation → more price movement → higher slippage or more failures. For a full treatment of slippage settings, see our Solana slippage tolerance guide.
Reading Network Congestion
The right priority fee is not a fixed number — it depends on current network demand. Solana experiences congestion in predictable patterns:
Low congestion (normal conditions)
Average TPS is below the network's practical throughput ceiling. Transaction confirmation times are 1–2 blocks. Priority fees of 5,000–25,000 micro-lamports/CU are sufficient for reliable confirmation in the next block. This is the typical state during quiet market periods or off-peak hours.
Medium congestion (active market)
A trending token or broader market event is driving elevated transaction volume. Confirmation times stretch to 3–5 blocks without a priority fee. Set 25,000–100,000 micro-lamports/CU. You'll pay roughly 0.002–0.008 SOL in priority fees per swap, which is acceptable given the speed of execution.
High congestion (viral launch or market crash)
A major launch or sudden price movement has flooded the network. Transactions without meaningful priority fees may not confirm for 10+ seconds. Set 100,000–500,000 micro-lamports/CU. Total priority fees can reach 0.01–0.05 SOL per transaction. At this level, only buy into tokens where your expected gain justifies the fee cost.
Watch your fee-to-trade ratio. If your buy amount is 0.05 SOL and your priority fee is 0.02 SOL, your transaction needs to return 40% just to cover the fee overhead. Scale your buy amount relative to fee conditions, not independently.
Priority Fee Settings by Scenario
Pump.fun new token launch
This is the most competitive environment. Every bot on the network is watching the same feed. Recommended: 50,000–200,000 micro-lamports/CU depending on congestion. Start at 75,000 and increase if you consistently fail to land in the first block on active launches.
Raydium direct launch
Slightly less competitive than Pump.fun native launches on average, but can spike intensely for well-marketed projects. Recommended: 25,000–100,000 micro-lamports/CU. The higher liquidity means a block delay is less painful — price impact per transaction is lower — so you can afford to set fees slightly more conservatively.
Pump.fun graduation to Raydium
Graduation events attract significant attention from bots that specifically watch for this trigger. Treat this like a high-competition Pump.fun launch: 75,000–200,000 micro-lamports/CU for the first 30 seconds after graduation, then step down to normal Raydium levels. See our Pump.fun strategy guide for more on graduation timing.
Low-traffic tokens with small community
Not every launch has 500 bots watching it. For tokens with minimal social signal and a small potential audience, competition is lower. Test with 10,000–25,000 micro-lamports/CU first — you may find this is sufficient for reliable first-block confirmation without the overhead of maximum fees.
Auto Fee Mode in the Bot
Manual fee calibration requires constant attention as network conditions shift. The automated sniping setup in the bot includes an auto fee mode that:
- Samples recent block fee distributions every 15 seconds to track current congestion levels.
- Calculates a target percentile — by default, the 75th percentile of recent successful transactions — and sets your fee to just above that level.
- Applies a multiplier for high-competition events (large social signal + simultaneous bot detections) to push your transaction above typical competition.
- Caps total priority fee at a user-defined maximum to prevent runaway fee spending during extreme congestion events.
For most users, auto mode with a fee cap of 0.02–0.05 SOL provides the best balance of execution speed and cost control. Set the cap based on your average buy size: fees above 20–30% of your buy amount erode profitability significantly.
Fees and Slippage: Calibrating Both Together
The most common misconfiguration among new snipers is treating fees and slippage as independent variables. They are not. The relationship is straightforward:
- Higher priority fee → your transaction confirms sooner → less price movement during the wait → you need less slippage tolerance to execute reliably.
- Lower priority fee → your transaction waits longer → more price movement → you need more slippage, or you accept more failures.
The optimal configuration minimises total cost: (priority fee) + (slippage overpayment). A high priority fee with low slippage often totals less than a low priority fee with high slippage — because high slippage means you're consistently buying at a worse price, which compounds across every trade.
For Pump.fun launches: set priority fee at 75,000–150,000 micro-lamports/CU and slippage at 15–20%. For Raydium launches: set priority fee at 25,000–75,000 and slippage at 10–15%. These combinations have been tested across thousands of launches and represent a reasonable starting point for further calibration based on your specific RPC connection quality and target token types.