Solana transaction fee calculator
Priority levels: no data yetPriority fees right now
Priority fees: no data yet. The calculator still works with your own price.
Fee levels
µ-lamports / CUNo levels yet.
Percentiles over the slot window. “Use” puts the level into the calculator.
Jito tip floor
Landed bundle tipsJito tip floor: no data yet.
Cost by transaction type
Network fee only. Sending a token to a wallet that has never held it also funds a new token account (a refundable deposit): check an address.
Compute-unit budget
Source rows: agave runtime and SIMD-0266. Measured rows: median compute units consumed by real transactions in the latest sampled blocks; the limit is the 90th percentile plus 20 %. All details
Set it in code
@solana/web3.jsimport { ComputeBudgetProgram } from "@solana/web3.js";
tx.add(
ComputeBudgetProgram.setComputeUnitLimit({ units: 450 }),
ComputeBudgetProgram.setComputeUnitPrice({ microLamports: 0 }),
);
// priority fee: 0 lamports- Unused compute unitsnot refunded
- Measure use firstsimulateTransaction
- Base fee50 % burned
- Priority fee100 % to the validator
Calculators
FAQ
How is a Solana transaction fee calculated?
A base fee of 5,000 lamports per signature, plus a priority fee: the compute-unit limit multiplied by the price in micro-lamports per compute unit, divided by 1,000,000 and rounded up. A Jito tip, if you send one, is a separate transfer on top.
What priority fee should I set?
Look at the levels from the last 150 slots: each value is the lowest fee that still landed in that slot. A price at the 75th percentile was at or above that lowest fee in three quarters of recent slots. For a busy program, compare with the prices its own transactions set, on the program pages. No level guarantees inclusion.
Is a Jito tip the same as a priority fee?
No. The priority fee is part of the transaction fee and goes to the validator that includes it. A Jito tip is a plain SOL transfer to one of Jito's tip accounts inside a bundle, paid in addition to both fees.
Why did my transaction fail but still cost a fee?
The fee pays for inclusion in a block. A transaction that is included and then fails still pays the base fee and the priority fee on its full compute-unit limit. A transaction that never lands (for example an expired blockhash) costs nothing.
Where does the fee go?
Half of the base fee is burned and half goes to the validator that produced the block. The priority fee goes entirely to that validator (SIMD-0096).
Does a bigger compute-unit limit cost more?
Only through the priority fee: it is charged on the limit you set, not on the units used. With a price of zero, the limit does not change the fee. Set the limit to the units your transaction consumes plus a small margin.
Formula
+ ⌈ CU limit × price ÷ 10⁶ ⌉
1 SOL = 1,000,000,000 lamports
Data sources
| Value | Source | Refresh |
|---|---|---|
| Priority fees | RPC getRecentPrioritizationFees | seconds |
| Per-program prices, CU | RPC getBlock (sampled blocks) | 1 min |
| Slot, TPS | RPC getSlot, getRecentPerformanceSamples | seconds |
| Jito tips | bundles.jito.wtf /api/v1/bundles/tip_floor | 1 min |
| Pump.fun fees | RPC getAccountInfo, fee config account | 1 h |
| SOL price | Pyth Hermes SOL/USD | 1 min |
| Rent | RPC getMinimumBalanceForRentExemption | 1 h |
Methodology · every value is measured or not shown.