Solana Priority Fees: How They Work and When to Use Them
Priority fees are Solana's mechanism for letting users voluntarily pay more to have their transactions processed ahead of others during periods of network congestion. As of recent epochs, over 72% of non-vote transactions on Solana elect to pay a priority fee, reflecting how central they've become to reliable transaction execution — especially in competitive on-chain environments like trading bots and NFT launches.
How Priority Fees Are Calculated
Priority fees use a simple formula: Priority Fee = ceil(compute_unit_price × compute_unit_limit / 1,000,000) lamports. The compute unit price is specified in micro-lamports per compute unit. Users set both the price and the maximum compute unit budget using the ComputeBudgetInstruction instructions. Wallets like Phantom and Backpack abstract this complexity, presenting users with "slow," "fast," and "turbo" preset options.
Average Priority Fee Statistics
- Average priority fee (last epoch): ~0.000089406 SOL
- Average total fee (all non-vote txns): ~0.000116455 SOL
- Priority fees as % of total fees: 91–95%
- Users paying any priority fee: ~72%
- SOL burned per epoch (base fees): ~1,492 SOL
When to Pay Higher Priority Fees
- Competitive NFT mints and token launches
- MEV-sensitive trading positions
- Time-critical DeFi liquidations
- High-frequency trading bots
- During network stress events
- Any transaction where latency matters
Jito Tips: A Separate Priority System
Alongside the native Solana priority fee system, Jito Labs operates a separate MEV (Maximal Extractable Value) tip mechanism. Jito tips are payments made directly to validators running the Jito-Solana client, which represents a significant portion of Solana's validator set. Transactions with Jito tips are processed through a separate bundle auction, giving traders a way to guarantee ordering. For most regular users, Jito tips are optional, but high-frequency traders and arbitrage bots rely on them heavily.
Setting Priority Fees Programmatically
Developers can set priority fees using the Solana web3.js SDK or any compatible library. The ComputeBudgetProgram.setComputeUnitPrice() instruction sets the micro-lamports per compute unit, and ComputeBudgetProgram.setComputeUnitLimit() sets the maximum compute budget. Tools like QuickNode's Priority Fee API and Helius's fee estimation endpoints provide real-time data on current network conditions to help applications set optimal fees dynamically.
Even with priority fees at peak demand levels, Solana transactions rarely exceed $0.003 total — a fraction of what users pay on competing networks for far slower confirmation.
Optimizing Your Priority Fee Strategy
For most retail users, wallet auto-suggestions provide a good balance between speed and cost. For developers and power users, monitoring the percentile distribution of recent priority fees helps calibrate bids. Paying at the 75th percentile of recent fees generally ensures fast inclusion without overpaying. During normal network conditions, the base fee alone is sufficient for most non-time-sensitive transactions, keeping costs at their absolute minimum of 0.000005 SOL per signature.