Solana priority fees are optional fees paid in addition to the base transaction fee to increase the chance that a transaction is processed ahead of competing transactions. They are paid in SOL and are particularly useful when the Solana network is busy and many transactions are competing for limited block space.
Unlike Ethereum’s fee system, Solana calculates priority fees using compute units (CUs). For legacy and v0 transactions, users specify a compute unit price in micro-lamports per compute unit and a compute unit limit. The priority fee is then calculated from those values.
In simple terms:
Solana priority fee = Compute unit price × Compute unit limit
The priority fee is separate from Solana’s base transaction fee.
What Is a Solana Priority Fee?
A Solana priority fee, also called a prioritization fee, is an optional additional fee that a user can attach to a transaction to increase its scheduling priority.
Solana validators receive transactions and must determine which transactions to process. During periods of high demand, paying a priority fee can make a transaction more economically attractive to the validator’s scheduler.
Solana describes the priority fee as a way to increase the likelihood that the current block-producing validator, or leader, processes a transaction ahead of competing transactions.
A transaction can still be submitted without a priority fee, but during periods of congestion, transactions with insufficient priority may be delayed or not included in a block.
How Do Solana Priority Fees Work?
Solana measures computational resources using compute units.
When creating a transaction, a user can specify:
- Compute unit limit — the maximum number of compute units requested
- Compute unit price — the price offered per compute unit, expressed in micro-lamports
For legacy and v0 transactions, the priority fee is calculated as:
Priority fee = Compute unit price × Compute unit limit ÷ 1,000,000
The division by 1,000,000 converts micro-lamports into lamports.
For example, suppose a transaction has:
- Compute unit limit = 200,000 CU
- Compute unit price = 1 micro-lamport per CU
The priority fee would be:
200,000 × 1 ÷ 1,000,000 = 0.2 lamports
Because Solana rounds the resulting prioritization fee up to the nearest lamport, the charged priority fee would be 1 lamport in this example.
What Is a Compute Unit on Solana?
A compute unit (CU) is a measure of computational work used by the Solana runtime.
Different operations consume different amounts of compute resources.
For example, a simple transaction may require relatively little computation, while interacting with a complex decentralized application or smart contract can require considerably more.
The compute unit limit tells Solana how much computational capacity the transaction is allowed to request.
For current legacy and v0 transaction rules, Solana has a maximum of 1.4 million compute units per transaction.
Solana Priority Fee vs Base Fee
Solana transactions have two main fee components:
- Base fee
- Priority fee
The base fee is charged per signature. Solana’s current documentation lists the base fee as 5,000 lamports per signature. The base fee is split between burning and the validator.
The priority fee is optional and is paid entirely to the validator.
| Feature | Base Fee | Priority Fee |
|---|---|---|
| Required? | Yes | Optional |
| Purpose | Covers transaction/signature processing | Increases transaction scheduling priority |
| Based on | Number of signatures | Compute unit price and requested CU limit |
| Paid in | SOL | SOL |
| Goes to validator? | Part of it | 100% |
| Burned? | 50% of base fee | No |
This makes the basic structure:
Total Solana transaction fee = Base fee + Priority fee
Why Do Solana Transactions Need Priority Fees?
Priority fees become particularly useful when the network is congested.
When many users submit transactions at the same time, validators have limited capacity to process them. A priority fee can make a transaction more competitive for scheduling.
This is particularly relevant for applications where transaction timing matters, such as:
- Decentralized exchanges
- Token swaps
- NFT marketplaces
- DeFi applications
- Trading applications
- Time-sensitive transactions
- High-demand token launches
Solana’s documentation recommends using competitive priority fees when sending transactions on mainnet during periods when landing transactions is more difficult.
Do Solana Priority Fees Guarantee Faster Transactions?
No.
A priority fee increases the economic incentive for a validator to prioritize a transaction, but it does not guarantee that the transaction will be processed immediately.
Transaction inclusion also depends on factors such as network congestion, transaction validity, compute requirements, account locks, block capacity, and other scheduling considerations.
Solana’s scheduler uses a priority calculation that considers the validator’s reward relative to the estimated cost of processing the transaction.
Therefore, paying a higher priority fee should be viewed as an attempt to improve transaction priority, not as a guaranteed confirmation service.
What Is a Compute Unit Price?
The compute unit price is the amount of micro-lamports offered for each requested compute unit.
For legacy and v0 transactions, users can set this value using Solana’s Compute Budget Program.
For example:
Compute unit price = 1,000 micro-lamports/CU
If the transaction requests:
100,000 CU
The priority fee would be:
1,000 × 100,000 ÷ 1,000,000 = 100 lamports
The higher the compute unit price, the larger the potential priority fee, assuming the same compute unit limit.
What Is the Compute Unit Limit?
The compute unit limit is the maximum number of compute units the transaction is allowed to consume.
For legacy and v0 transactions, Solana calculates a default limit based on the transaction’s instructions if the user does not explicitly set one. Users can also specify their own compute unit limit.
The compute unit limit is important because the priority fee is based on the requested CU limit, not the actual number of compute units ultimately consumed.
This means setting the limit unnecessarily high can result in paying a higher priority fee than necessary.
Why Does the Compute Unit Limit Matter for Priority Fees?
This is one of the most important things to understand about Solana priority fees.
Suppose two transactions have the same compute unit price:
Transaction A
- CU price = 1,000 micro-lamports
- CU limit = 100,000
Priority fee:
100 lamports
Transaction B
- CU price = 1,000 micro-lamports
- CU limit = 500,000
Priority fee:
500 lamports
The second transaction pays more because its requested compute unit limit is higher.
This is why Solana’s documentation recommends estimating the compute requirements of a transaction and requesting an appropriate amount rather than unnecessarily setting a large compute budget.
Are Solana Priority Fees Paid in SOL?
Yes.
Solana transaction fees are paid in SOL, the native cryptocurrency of the Solana network.
Priority fees are ultimately denominated in lamports, the smallest unit of SOL.
1 SOL = 1,000,000,000 lamports.
Because priority fees can be very small, they are commonly expressed in micro-lamports when specifying the compute unit price.
What Are Micro-Lamports?
A micro-lamport is one-millionth of a lamport.
This unit is used when specifying the price paid per compute unit.
Therefore:
1 lamport = 1,000,000 micro-lamports
Using micro-lamports allows Solana to specify very small compute-unit prices without needing fractional lamports.
How Do You Add a Priority Fee to a Solana Transaction?
For legacy and v0 transactions, developers can use Solana’s Compute Budget Program to specify the compute unit price and compute unit limit.
A transaction can include instructions such as:
SetComputeUnitPriceSetComputeUnitLimit
The first sets the price per requested compute unit, while the second sets the maximum compute units requested.
Solana’s newer v1 transaction format handles priority fees differently: the fee is set directly in the transaction message configuration rather than through Compute Budget instructions.
How Can You Estimate the Right Solana Priority Fee?
The appropriate priority fee depends on current network conditions and the application you’re interacting with.
A common approach is to:
- Estimate the transaction’s compute requirements.
- Set an appropriate compute unit limit.
- Check current priority-fee conditions.
- Choose a competitive compute unit price.
- Submit the transaction.
Solana recommends simulating a transaction to estimate its compute consumption and then adding a safety margin. Its documentation gives 10% as an example margin when optimizing compute requested.
Many Solana infrastructure providers also offer APIs for obtaining priority-fee estimates based on recent network activity.
Can You Send a Solana Transaction Without a Priority Fee?
Yes.
A priority fee is optional.
If you do not specify one, the default compute unit price for legacy and v0 transactions is 0 micro-lamports, meaning there is no additional prioritization fee.
However, during periods of congestion, a transaction without a competitive priority fee may have a lower chance of being processed quickly.
Are Solana Priority Fees Burned?
No.
According to Solana’s current fee documentation, 100% of the priority fee goes to the validator. Unlike the base fee, the priority fee is not burned.
The base fee has a different distribution: 50% is burned and 50% goes to the validator under the current fee structure.
Do You Pay the Priority Fee If the Transaction Fails?
Yes.
Solana’s fee structure states that the total transaction fee is charged whether the transaction succeeds or fails.
This is important because a failed transaction can still consume network resources during processing.
Solana Priority Fees vs Ethereum Priority Fees
Both Solana and Ethereum have priority-fee mechanisms, but they work differently.
On Ethereum, the priority fee is commonly called a tip and is added to the base fee to determine the effective gas price.
On Solana, the priority fee is associated with compute units and is calculated using the requested compute unit limit and compute unit price for legacy and v0 transactions.
| Feature | Solana | Ethereum |
|---|---|---|
| Priority fee | Yes | Yes |
| Main purpose | Increase transaction scheduling priority | Incentivize validator inclusion |
| Pricing unit | Micro-lamports per CU | Gwei per gas |
| Base fee | Per signature | Dynamic base fee per gas |
| Base fee burned? | 50% of base fee | Yes |
| Priority fee burned? | No | No |
| Priority fee paid to validator? | Yes | Yes |
The two networks use different transaction and fee mechanisms, so Solana’s priority fee should not be treated as a direct equivalent of Ethereum’s gas tip.
Frequently Asked Questions About Solana Priority Fees
What is a priority fee on Solana?
A Solana priority fee is an optional additional transaction fee paid to increase the chance that the current validator leader schedules the transaction ahead of competing transactions.
How are Solana priority fees calculated?
For legacy and v0 transactions, the priority fee is calculated using the requested compute unit limit and compute unit price:
Priority fee = CU price × CU limit ÷ 1,000,000
The resulting amount is rounded up to the nearest lamport.
Who receives Solana priority fees?
The validator receives 100% of the priority fee. Unlike the base fee, the priority fee is not burned.
Are Solana priority fees mandatory?
No. Priority fees are optional. However, they can be useful when the network is congested and many transactions are competing for processing.
What is a compute unit on Solana?
A compute unit is a measurement of computational work used by the Solana runtime to meter transaction execution.
What happens if I set my Solana priority fee too low?
A low priority fee can make a transaction less competitive for scheduling, especially when the network is busy. It does not necessarily mean the transaction will fail, but it can reduce the likelihood of timely inclusion.
What happens if I set the compute unit limit too high?
For legacy and v0 transactions, the priority fee is based on the requested compute unit limit. Therefore, setting a limit substantially higher than necessary can increase the priority fee you pay.
What is the difference between Solana base fee and priority fee?
The base fee is a required transaction fee based on signatures, while the priority fee is an optional additional fee designed to increase transaction scheduling priority.
Are Solana priority fees paid in SOL?
Yes. Solana transaction fees are paid in SOL, with fees represented in lamports and priority pricing specified in micro-lamports per compute unit for legacy and v0 transactions.
Do priority fees guarantee faster Solana transactions?
No. Priority fees can improve transaction scheduling priority, but they do not guarantee immediate processing or confirmation.
Solana Priority Fees Explained Simply
The easiest way to understand Solana priority fees is to think of them as an optional transaction tip for better scheduling priority.
A Solana transaction has a required base fee and can also include a priority fee.
Base fee → required transaction fee
Priority fee → optional fee to improve scheduling priority
Compute unit limit → amount of computation requested
Compute unit price → price per requested compute unit
For legacy and v0 transactions:
Priority fee = Compute unit price × Compute unit limit
During periods of network congestion, users may choose a competitive priority fee to increase the chance that their transaction is processed promptly. However, priority fees do not guarantee inclusion or instant confirmation.
Understanding priority fees is especially useful when using Solana wallets, decentralized exchanges, DeFi applications, NFT platforms, and other applications where transaction timing can matter.