in-solana by Supanode

Solana Fee History

Solana transaction fees have two components: a fixed base fee and an optional priority fee. The fee model has evolved significantly since mainnet launch and continues to change through SIMD proposals.

Current fee structure

ComponentAmountPurpose
Base fee5,000 lamports per signature (~$0.0000007)Spam prevention, 50% burned, 50% to validator
Priority feeVariable (microlamports per CU)Transaction ordering within a block
Compute budget200,000 CU default, 1.4M maxLimits program execution resources

Total fee = base fee + (priority fee per CU × CUs requested)

Fee history timeline

2020–2022: Fixed fees only

Early Solana had only the base fee. All transactions paid the same 5,000 lamports per signature regardless of complexity or urgency. This was sufficient when network utilization was low.

2022–2023: Priority fees introduced

As network demand increased (NFT mints, DeFi activity), the fixed fee model could not differentiate between urgent and non-urgent transactions. Priority fees were introduced to create a fee market:

Priority fee = computeUnitPrice (microlamports/CU) × computeUnitLimit

Validators order transactions by priority fee, giving higher-paying transactions earlier inclusion.

2024–2025: Local fee markets and SIMD proposals

Several SIMDs (Solana Improvement and Design proposals) addressed fee market improvements:

  • Per-account fee markets (hot accounts like popular DEX pools have higher effective fees)
  • Better priority fee estimation
  • Fee smoothing mechanisms

Ongoing: Future fee evolution

The fee model continues to evolve. Proposals under discussion include:

  • Dynamic base fees based on network utilization
  • More granular compute pricing
  • Improved local fee markets that price access to congested accounts

Priority fee estimation

Applications estimate appropriate priority fees using recent fee data:

const recentFees = await connection.getRecentPrioritizationFees({
  lockedWritableAccounts: [accountToWrite],
});

const feesBySlot = recentFees
  .filter(f => f.prioritizationFee > 0)
  .sort((a, b) => b.slot - a.slot);

const medianFee = feesBySlot[Math.floor(feesBySlot.length / 2)]?.prioritizationFee || 0;

Fee comparison with other chains

ChainTypical transaction fee
Solana$0.0001–$0.01
Ethereum L1$0.50–$50+
Ethereum L2 (Arbitrum/Base)$0.01–$0.50
Polygon$0.001–$0.01

FAQ

Why are Solana fees so low? Solana’s architecture processes thousands of transactions per second in parallel, so the network can handle high throughput without fee competition driving prices up. The base fee is intentionally minimal.

Do priority fees guarantee inclusion? No. Priority fees increase the likelihood of inclusion and improve ordering, but during extreme congestion, even well-priced transactions may be dropped. Staked connections (SWQoS) and Jito bundles provide additional inclusion guarantees.

Where do fees go? 50% of the base fee is burned (permanently removed from supply). The remaining 50% goes to the validator that produced the block. Priority fees go entirely to the validator.

Updated: