Why Solana Transactions Fail: 5 Root Causes
Solana transactions fail due to blockhash expiry, low priority fees, compute limits, slippage tolerance, or RPC overload. Learn fixes for each error.
This diagnostic guide focuses on the five root causes behind failed Solana transactions and the error messages associated with each cause.
Solana transactions fail for five primary reasons, each with a specific fix:
- Blockhash expired: transaction went stale before processing
- Insufficient priority fee: validators deprioritized or dropped the transaction
- Compute unit limit exceeded: transaction ran out of processing budget
- Slippage tolerance breached: price moved beyond your set threshold on a DEX swap
- RPC node failure or overload: the submission server was congested or rate-limited
On this page:
- Why Solana Transactions Fail: A Quick-Reference Overview
- The 5 Root Causes of Solana Transaction Failures
- Solana Error Message Decoder: What Each Error Actually Means
- How to Fix a Failed Solana Transaction: Step-by-Step Solutions
- Platform-Specific Failure Scenarios and Fixes
- Is Solana Down? How to Check Network Status Before Retrying
- Do You Still Pay Fees on a Failed Solana Transaction?
- Pre-Transaction Checklist: How to Prevent Solana Transaction Failures
- Frequently Asked Questions About Solana Transaction Failures
- Summary: Matching Your Error to the Right Fix
Why Solana Transactions Fail: A Quick-Reference Overview
A failed Solana transaction during a swap or mint is frustrating, especially when prices are moving. Solana transactions fail on Phantom, Jupiter, Raydium, Orca and Magic Eden for five reasons: blockhash expiry, insufficient priority fees, compute unit exhaustion, slippage tolerance breaches, and RPC node overload. None of them permanently lose your tokens.
Your Funds Are Safe
A failed Solana transaction does not deduct tokens or swap amounts from your wallet. Your principal is safe: the SOL or tokens you were trying to send or swap remain exactly where they were. A small base transaction fee (typically less than $0.01) may have been charged, but nothing else was lost.
On Solana's DeFi (decentralized finance) ecosystem, which includes token swaps, liquidity provision, and NFT marketplaces, transaction failures are especially costly because prices move in milliseconds. Every failed swap on a decentralized exchange (DEX, a platform where you swap tokens directly from your wallet) during a volatile moment represents a missed trade.
Unlike blockchains with a traditional transaction queue, Solana uses Gulf Stream as its transaction forwarding protocol. Dropped transactions don't wait in line: they disappear entirely and must be resubmitted from scratch. Understanding this behavior is the key to fixing failures fast.
The 5 Root Causes of Solana Transaction Failures
Across Solana's DeFi and NFT applications, transaction failures fall into two categories: network-level failures, where the blockchain drops or rejects your transaction, and program-level failures, where the smart contract, or program, running the application rejects it because a specific condition wasn't met. The fix strategy differs: network failures require adjusting fees or resubmitting; program failures require adjusting transaction parameters like slippage or swap amount.
One architectural fact explains why Solana transactions fail in ways other blockchains don't. Solana uses a timekeeping system called Proof of History, which divides time into precise slots. Every transaction includes a reference to a recent slot, called a blockhash, to prove it's current. This slot-based structure creates Solana's unique failure modes.
The five causes, in order of frequency:
- Blockhash expiry
- Insufficient priority fee
- Compute unit exhaustion
- Slippage tolerance breach
- RPC node failure or overload
A sixth failure mode worth noting: insufficient SOL balance that results from the rent-exempt threshold requirement. Solana requires every account to maintain a minimum SOL balance to stay active on the network. Transactions that create new token accounts, such as receiving a token for the first time, may fail with "insufficient funds" even when your wallet appears to have enough SOL. Keep at least 0.05 SOL above your intended transaction amount as a buffer.
Cause 1: Blockhash Expiry
Every Solana transaction includes a timestamp-like code called a blockhash, proof that the transaction was created recently. If this code expires before your transaction is processed, Solana drops it entirely.
The blockhash is valid for approximately 150 slots, which translates to roughly 60 to 90 seconds under normal network conditions. During congestion, validators fall behind in processing, and transactions submitted just seconds ago can expire before they reach the front of the queue.
Solana uses Gulf Stream instead of a traditional transaction queue. A dropped transaction cannot be rescued: it simply disappears. Your wallet (such as Phantom or Backpack) automatically fetches a fresh blockhash when you resubmit, so the fix requires nothing more than starting a new transaction.
Error messages from this cause: BlockhashNotFound, Transaction expired
For the step-by-step fix, see Fix 3: Resubmit With a Fresh Blockhash.
For Developers:
BlockhashNotFoundmeans the blockhash in your transaction is no longer in the validator's recent blockhash cache (approximately 150 slots). Never reuse a blockhash across retry attempts. Fetch a fresh blockhash withconnection.getLatestBlockhash()before each submission. Useconfirmedorfinalizedcommitment levels in production retry logic rather thanprocessed.
Cause 2: Insufficient Priority Fee
A priority fee is a small optional tip, measured in micro-lamports per compute unit. Micro-lamports are fractions of SOL, the smallest denomination of Solana's native currency. This tip signals Solana's validators, the computers that process your transactions, to handle your transaction before others during busy periods.
When submissions spike during events like popular NFT launches or sharp market moves, validators prioritize higher-fee transactions. A transaction with no priority fee, or one below the prevailing market rate, gets dropped entirely. No error message announces this: the transaction simply vanishes.
Repeated failures on Jupiter and Raydium during active trading sessions are most often caused by this issue.
For the step-by-step fix, see Fix 1: Increase Your Priority Fee.
For Developers: Set
ComputeBudgetProgram.setComputeUnitPrice()as the first instruction in your transaction, before any program instructions. PollgetRecentPrioritizationFees()to estimate current market rates dynamically rather than using a static multiplier.
Cause 3: Compute Unit Exhaustion
Think of compute units as a processing budget for your transaction. Simple SOL transfers spend very little of this budget. Complex multi-hop DEX swaps routing through several liquidity pools spend much more. If your transaction exhausts its compute unit limit before finishing, Solana cancels it mid-execution.
Complex transactions, including multi-hop swaps on Jupiter, NFT mints with on-chain royalty logic, and DeFi interactions touching multiple accounts, are most likely to hit this ceiling.
Before broadcasting any transaction, Phantom runs a pre-flight check called a transaction simulation, a dry-run against the current blockchain state. If the simulation predicts a compute unit failure, Phantom shows Transaction simulation failed and blocks submission. This saves you the base fee on a transaction that would have failed anyway.
Modern DEXes like Jupiter and Raydium increasingly auto-set compute unit limits. If this error appears, try selecting a simpler swap route first.
Error messages from this cause: Compute budget exceeded, Program failed to complete, InstructionError
For the step-by-step fix, see Fix 5: Increase the Compute Unit Limit.
For Developers: Set
ComputeBudgetProgram.setComputeUnitLimit()as the first instruction, beforesetComputeUnitPrice()and all program instructions. RunsimulateTransaction()first to measure actual CU consumption, then set the limit to actual consumption x 1.1 (10% buffer). Setting the limit too low causesInstructionError; setting it too high wastes fee budget proportionally but does not cause failures.
Cause 4: Slippage Tolerance Breach
Slippage tolerance is the maximum price movement you'll accept between the moment a DEX quotes your swap and the moment it executes. If the token's price moves beyond your set threshold before the transaction reaches a validator, the smart contract, or program, running the DEX cancels the swap to protect you from a worse-than-expected price.
This is a protective failure. Your principal is never at risk. The transaction fails intentionally to prevent you from receiving fewer tokens than quoted.
Slippage failures happen most often on Jupiter and Raydium during volatile conditions, on low-liquidity token pairs, and during network congestion when confirmation delays widen the gap between quote and execution. Orca traders hit the same wall for the same reasons. If a swap keeps failing even at 5% or higher slippage, the liquidity pool may not have enough reserves to fill your trade at any reasonable price. Reduce your swap amount rather than increasing slippage further.
Error messages from this cause: Slippage tolerance exceeded, Slippage: Out amount too low
For the step-by-step fix, see Fix 2: Adjust Slippage Tolerance.
Cause 5: RPC Node Failure or Overload
Every Solana wallet connects to a server called an RPC node to submit transactions. Think of it as a post office: it takes your transaction and forwards it to the validator network. During high-demand events, public RPC nodes, including Solana's free default endpoint, get overwhelmed and may drop your transaction before it ever reaches a validator.
Solana's public mainnet RPC is rate-limited and shared by a large number of users. During congestion, it becomes a bottleneck. Transactions consistently failing despite correct slippage and priority fee settings often point to an overloaded RPC node as the culprit.
Dedicated RPC providers such as Helius and QuickNode generally offer higher reliability than the public Solana mainnet RPC during peak periods. Both offer free tiers suitable for individual users. Triton One is another option worth considering.
For the step-by-step fix, see Fix 4: Switch Your RPC Endpoint.
For Developers: Implement RPC failover by maintaining a list of backup endpoints and switching automatically when the primary returns errors or times out. Use WebSocket connections with
signatureSubscribefor transaction confirmation monitoring rather than HTTP polling for production reliability.
Solana Error Message Decoder: What Each Error Actually Means
To find your error message, check Phantom's activity log, paste your transaction signature into Solana Explorer or Solana FM, and look for the red error status. Match the string below to the relevant fix.
Before broadcasting any transaction, Phantom runs a pre-flight check called a simulation, a dry-run against the current blockchain state. If the simulation fails, Phantom shows Transaction simulation failed and blocks submission. Most simulation failures point to a real problem: wrong slippage settings, insufficient funds, or a program rejection. In rare cases, the simulation uses slightly stale state data and fails even when the real transaction would succeed. Refreshing the page and resubmitting once is safe in that specific scenario.
| Error Message | Failure Type | Plain-English Meaning | Immediate Fix |
|---|---|---|---|
Transaction simulation failed | Program-level or network-level | Phantom's pre-flight test predicted the transaction would fail. Check the sub-error shown for the actual cause. | Check the sub-error context. See The 5 Root Causes for the matching cause. |
BlockhashNotFound / Transaction expired | Network-level | The transaction's blockhash expired before it was processed. A blockhash is valid for roughly 60 to 90 seconds. | Resubmit. Your wallet fetches a fresh blockhash automatically. See Fix 3: Resubmit With a Fresh Blockhash. |
Slippage tolerance exceeded | Program-level | The token price moved beyond your slippage tolerance between quote and execution. The swap was cancelled to protect you. | Increase slippage tolerance incrementally. See Fix 2: Adjust Slippage Tolerance. |
Compute budget exceeded / Program failed to complete | Network-level | The transaction ran out of its compute unit budget before finishing. Complex multi-hop swaps are most at risk. | Use the DEX's auto-routing or see Fix 5: Increase the Compute Unit Limit. |
Insufficient SOL for fee / Insufficient funds | Program-level | Your wallet lacks enough SOL to cover the transaction fee plus the rent-exempt threshold for any new token accounts being created. | Add SOL to your wallet and keep at least 0.05 SOL above your transaction amount as a buffer. |
Account not found | Program-level | A required token account or program account doesn't exist on-chain. This occurs when interacting with a token you've never held before. | The DEX or wallet typically creates this account automatically. Resubmit the transaction. |
Transaction was not confirmed in 30.00 seconds | Network-level | The transaction was submitted but not confirmed within the timeout window. It may have been dropped or is still processing. | Before resubmitting, paste your transaction signature into Solana Explorer to confirm it didn't already succeed. |
Custom program error: 0x... | Program-level | The on-chain program returned an application-specific error code. The meaning depends on the specific DEX or NFT contract. | Check the DEX's documentation or Discord for the specific code. Common codes: 0x1 (slippage), 0x26 (insufficient liquidity). For Jupiter codes, see docs.jup.ag; for Raydium, see docs.raydium.io. |
How to Fix a Failed Solana Transaction: Step-by-Step Solutions
Before adjusting any settings, run through this triage in order:
- Check your error message in Phantom's activity log or on Solana Explorer.
- Match the error to one of the five root causes in The 5 Root Causes section.
- Apply the specific fix for that cause from the subsections below.
- Resubmit the transaction. Do not attempt to resend the same transaction object.
- If failure continues, check network status at status.solana.com before resubmitting again.
Fix 1: Increase Your Priority Fee
Increasing your priority fee is the most effective fix during network congestion. It signals validators to process your transaction ahead of lower-fee submissions.
On Jupiter (jup.ag):
- Open the Jupiter swap interface.
- Click the settings gear icon in the top right of the swap panel.
- Under "Transaction Priority," select Fast, Turbo, or enter a Custom value.
- Resubmit your swap.
On Phantom wallet:
- Open Phantom and go to Settings.
- Select "Transactions."
- Under "Transaction Speed," choose Fast or Custom.
- Return to your swap and resubmit.
Use this table to select the right fee tier for current conditions:
| Condition | Recommended Fee Tier | Notes |
|---|---|---|
| Normal network conditions | Auto / Normal | Default is sufficient |
| Moderate congestion | Fast | 2 to 5x baseline |
| High congestion / NFT mints | Turbo / Custom | 10x+ baseline; use wallet auto-estimate |
Fee levels vary with network demand. Use your wallet's auto-estimate feature or check Solana Beach for current priority fee recommendations rather than a fixed value.
For Developers: Add
ComputeBudgetProgram.setComputeUnitPrice(microLamports)as the first instruction. Fetch current market rates withconnection.getRecentPrioritizationFees(). SetmicroLamportsdynamically based on the 75th percentile of recent fees for your target program accounts.
Fix 2: Adjust Slippage Tolerance
If your swap failed with a slippage error, the token's price moved more than your tolerance allowed. Increase the tolerance incrementally and stay aware of the trade-off.
On Jupiter:
- Click the settings gear icon in the swap interface.
- Under "Slippage Tolerance," select Custom.
- Enter a higher percentage: increase from 0.5% to 1%, or from 1% to 2%.
- Resubmit the swap.
On Raydium:
- Click the settings icon in the swap panel.
- Adjust the slippage percentage field.
- Resubmit.
On Orca:
- Click the gear icon on the swap screen.
- Increase the slippage setting.
- Resubmit.
Warning: Setting slippage above 3 to 5% on low-liquidity or small-cap token pairs exposes you to MEV sandwich attacks, where bots front-run your transaction to profit from the price movement you've allowed. Increase slippage incrementally and consider using Jupiter's dynamic slippage feature, which calculates optimal tolerance automatically per trade.
If a swap keeps failing even at 5% or higher slippage, the liquidity pool may not have enough reserves to fill your trade at any reasonable price. Reduce your swap amount or switch to a different token pair.
Fix 3: Resubmit With a Fresh Blockhash
A blockhash expiry means your transaction went stale before it was processed. The fix is a fresh submission, not a resend of the same transaction.
- Wait 3 to 5 seconds after the failure notification.
- Return to the swap or transaction interface. Do not click "resend" on the failed transaction object.
- Initiate a new transaction from the start. Your wallet automatically includes a current blockhash.
- Resubmit with your updated priority fee settings.
Because Solana uses Gulf Stream instead of a traditional transaction queue, a dropped transaction cannot be unstuck. It is gone. A new transaction is the only path forward.
For Developers: Implement exponential backoff retry logic: fetch a fresh blockhash with
connection.getLatestBlockhash('confirmed')before each attempt. Suggested intervals: 1s, 2s, 4s, 8s. Set a maximum of 5 retry attempts before surfacing a user-facing error. Never reuse the original transaction object. Rebuild it with the fresh blockhash each time.
Fix 4: Switch Your RPC Endpoint
Transactions that keep failing despite correct slippage and priority fee settings often point to the submission layer: the RPC node your wallet is using.
On Phantom wallet:
- Open Phantom and go to Settings (gear icon).
- Select "Developer Settings."
- Under "RPC Endpoint," tap "Change."
- Enter a dedicated RPC URL from providers such as Helius or QuickNode. Both offer free tiers.
- Save and resubmit your transaction.
On Solflare:
- Go to Settings.
- Select "Network."
- Enter your custom RPC URL and save.
Dedicated RPC providers such as Helius and QuickNode generally offer higher reliability than Solana's public mainnet RPC during peak periods. Settings paths are current as of publication and may vary by wallet version.
For Developers: Implement RPC failover in your connection configuration. Maintain a primary and at least one backup RPC URL, catch connection errors, and switch automatically. Use WebSocket connections with
signatureSubscribefor real-time confirmation monitoring rather than pollinggetSignatureStatuseson a fixed interval.
Fix 5: Increase the Compute Unit Limit
A compute unit exhaustion error means your transaction ran out of processing budget mid-execution. Most modern DEX interfaces handle this automatically.
- If the error appears on Jupiter or Raydium, use the DEX's built-in retry button. These platforms auto-set compute unit limits on retry.
- If the error persists, try a simpler swap route: on Jupiter, select "Direct Route Only" in the routing settings to reduce multi-hop complexity.
- Resubmit with the simplified route.
For Developers: Add
ComputeBudgetProgram.setComputeUnitLimit(units)as the first instruction. Runconnection.simulateTransaction(transaction)to measure actual CU consumption, then set the limit toactualUnits x 1.1. Setting the limit too low causesInstructionError; setting it too high wastes fee budget proportionally but does not cause failures.
Platform-Specific Failure Scenarios and Fixes
The five root causes apply across all Solana applications, but each platform has distinct failure patterns and different UI paths for adjusting settings.
| Platform | Slippage Setting Path | Priority Fee Path |
|---|---|---|
| Phantom | N/A (wallet-level only) | Settings → Transactions → Transaction Speed |
| Jupiter | Gear icon → Slippage Tolerance → Custom % | Gear icon → Transaction Priority → Fast / Turbo / Custom |
| Raydium | Settings icon → Slippage → adjust % | Settings icon → Fee Level |
| Orca | Gear icon → Slippage → adjust % | Gear icon → Transaction Speed |
Jupiter Swap Failures
Jupiter swap failures most often stem from slippage tolerance breaches on volatile token pairs or insufficient priority fees during high-traffic periods.
Jupiter routes swaps across multiple liquidity sources to find the best price, a process called smart routing. Multi-hop routes through several pools increase compute unit consumption and create more points where slippage can breach tolerance. A route through three pools exposes your swap to price movement in each of those pools between quote and execution.
Jupiter's built-in priority fee selector (Normal / Fast / Turbo) and dynamic slippage feature address both problems. Select Turbo during active market conditions and enable dynamic slippage for volatile token pairs. If a complex route keeps failing, enable "Direct Route Only" in Jupiter's settings to reduce routing complexity.
Some older wallet versions may not support Jupiter's versioned transactions, which can cause failures unrelated to fees or slippage. Updating your wallet to the latest version resolves this.
For slippage fixes, see Fix 2: Adjust Slippage Tolerance. For priority fee fixes, see Fix 1: Increase Your Priority Fee.
Raydium and Orca AMM Failures
Raydium and Orca AMM failures typically involve high price impact on thin liquidity pools, particularly for low-cap tokens or large swap sizes.
Price impact is the AMM-level price movement caused by the swap itself, distinct from external market slippage. A large trade relative to a pool's reserves moves the price against you as the swap executes. If price impact exceeds 2 to 3% on a swap, the trade size is too large for available liquidity.
On Orca Whirlpools, concentrated liquidity positions mean slippage can be breached more sharply at price range boundaries. Check the price impact percentage shown in the swap interface before confirming any trade. If the pool has very low reserves, no slippage setting will fill the trade at a reasonable price. Reduce your trade size or split the swap into multiple smaller transactions.
Magic Eden NFT Mint Failures
NFT mint failures on Magic Eden and project-native Candy Machine programs happen because high-demand launches push thousands of simultaneous transactions through Solana's network at the same moment.
During a competitive mint, bots and other users submit hundreds of transactions per second through the same public RPC infrastructure. This overwhelms public RPC nodes, drives priority fees to market peaks, and causes blockhashes to expire before transactions are processed. Most transactions from users on default settings fail under these conditions.
Prepare before the mint window opens:
- Set your priority fee to Turbo or the maximum Custom value your wallet allows.
- Switch to a dedicated RPC endpoint (Helius or QuickNode free tier) in Phantom settings before the launch time.
- Have the mint page open and your wallet pre-approved. Submit immediately when the countdown hits zero, not after.
SOL reserved for a failed mint transaction is returned automatically. Only the small base network fee is consumed.
Some failures during mint events result from not qualifying for the current allow-list phase, a Candy Guard rejection rather than a network problem. If failures persist after applying the steps above, check the project's Discord to confirm your wallet is eligible for the current mint phase.
Is Solana Down? How to Check Network Status Before Retrying
Most Solana transaction failures are not caused by a network outage. They result from user-side settings or temporary network congestion. True network outages are rare. Solana has experienced several full network outages since its mainnet launch, but these are distinct from the routine congestion that causes most transaction failures. During an outage, all users are affected simultaneously across every application.
Check these three sources before troubleshooting your settings:
- Check Solana's official network status page for active incident reports. No posted incidents means the network is operating normally.
- Check Solana Beach for real-time TPS and average confirmation times. A sharp drop in TPS signals network congestion rather than an outage.
- Check r/solana or Solana's official Discord to see whether other users are reporting widespread failures at the same moment. Community reports confirm network-wide issues quickly.
If the network is congested but not down: wait 5 to 15 minutes, then resubmit with a higher priority fee. Solana's validators, the computers that process your transactions, receive more submissions than they can handle during congestion and prioritize transactions with higher priority fees. Congestion clears as fee markets rebalance.
If the network is experiencing an actual outage: wait for the official status page to show resolution before resubmitting. Continued submission during an outage wastes base fees without any possibility of confirmation.
Do You Still Pay Fees on a Failed Solana Transaction?
Yes, Solana charges a small base transaction fee even when a transaction fails, but your tokens and swap amounts are not deducted.
The base fee is approximately 0.000005 SOL per signature. Since 1 SOL equals 1 billion lamports, this base fee is typically 5,000 lamports, a fraction of a cent. This fee compensates validators for processing the transaction attempt even when it doesn't succeed. Any priority fee included in the transaction is also consumed. The swap, mint, or transfer itself did not execute. Your token balances are unchanged.
One important distinction: transactions dropped by the network before reaching a validator, through Gulf Stream's forwarding protocol, have no on-chain record and charge no fee at all. Only transactions that reach validators and fail on-chain consume the base fee.
Your tokens and swap amounts were not deducted. The failed transaction is recorded on-chain with an error status, but no transfer of tokens occurred.
To confirm exactly what fee was charged, paste your transaction signature into Solana Explorer or Solana FM, open the failed transaction (marked with a red error status), and check the "Fee" field for the exact SOL consumed.
Pre-Transaction Checklist: How to Prevent Solana Transaction Failures
Running through this checklist before every transaction reduces failure rates across all Solana applications. These steps take under a minute and address all five root causes.
- Check network status at status.solana.com. If an incident is active, wait for resolution before transacting.
- Set your priority fee to at least "Fast" during active trading hours or any high-demand event. Use your wallet's auto-estimate feature for current market rates rather than a fixed value.
- Verify slippage tolerance matches the token pair's volatility: 0.1 to 0.5% for stable pairs (USDC/USDT), 1 to 2% for liquid mid-cap tokens, up to 3% for volatile small-caps. Do not exceed 3 to 5% on low-liquidity pairs.
- Confirm your SOL balance covers the transaction amount plus fees plus the rent-exempt threshold buffer. Keep at least 0.05 SOL above what you plan to send or swap.
- Use a dedicated RPC endpoint for high-value or time-sensitive transactions. Providers such as Helius and QuickNode offer free tiers that perform more reliably than the public Solana RPC during peak periods.
- For NFT mints specifically: set your priority fee to maximum, switch your RPC endpoint, and pre-approve your wallet connection before the mint window opens, not after the countdown hits zero.
- For large DEX swaps: check the price impact percentage before confirming. If it exceeds 2 to 3%, split the swap into smaller transactions or reduce the trade size.
- Trust built-in fee optimization on Jupiter, Raydium and Orca. These platforms increasingly provide real-time fee recommendations that are more accurate than manual estimates.
For Developers: Add to your production checklist: (1) Implement simulation-based compute unit estimation. Never hardcode CU limits. (2) Poll
getRecentPrioritizationFees()dynamically for each transaction rather than using a static multiplier. (3) Build RPC failover into your connection layer with automatic switching. (4) Implement blockhash refresh on each retry. Never reuse a transaction object.
For detailed guidance on fee settings, see the priority fee steps in Fix 1. For slippage guidance, see the slippage adjustment steps in Fix 2.
Frequently Asked Questions: Why Solana Transactions Fail
What causes a Solana transaction to fail?
Solana transactions fail for five primary reasons: blockhash expiry, insufficient priority fees, compute unit exhaustion, slippage tolerance breaches, and RPC node overload. Blockhash expiry and insufficient priority fees account for the majority of failures during network congestion. For detailed explanations, see The 5 Root Causes of Solana Transaction Failures.
Do you still pay fees on a failed Solana transaction?
Yes, a small base transaction fee is charged on failed on-chain transactions, but your tokens and swap amounts are never deducted. The base fee is typically around 0.000005 SOL, a fraction of a cent. Transactions dropped by the network before reaching a validator charge no fee at all. See Do You Still Pay Fees on a Failed Solana Transaction? for the full breakdown.
How long before a Solana transaction expires?
A Solana transaction expires after approximately 150 slots, roughly 60 to 90 seconds under normal conditions. Under normal conditions, most Solana transactions confirm in under one second. During network congestion, validators fall behind in processing and the effective window can shorten. After expiry, the transaction is dropped and must be resubmitted as a new transaction.
What is a blockhash in Solana?
A blockhash is a unique timestamp-like code embedded in every Solana transaction, proving the transaction was created recently. Each blockhash is valid for approximately 150 slots (60 to 90 seconds). After that window closes, the transaction is considered stale and Solana drops it. See Cause 1: Blockhash Expiry for the full explanation and fix.
What are compute units on Solana?
Compute units are Solana's measure of computational resources that a transaction consumes, similar in concept to Ethereum's gas but specific to Solana's architecture and never called gas. Think of them as a processing budget: simple transfers spend little, complex multi-hop swaps spend much more. When a transaction exhausts its compute unit limit, Solana cancels it. See Cause 3: Compute Unit Exhaustion.
What is a priority fee on Solana?
A priority fee is an optional tip, measured in micro-lamports per compute unit, that instructs validators to process your transaction ahead of lower-fee submissions during congestion. It does not guarantee inclusion but substantially improves the probability of processing during high-demand periods. Fee levels vary with network demand. Use your wallet's auto-estimate for current rates. See Fix 1: Increase Your Priority Fee.
How do I check if a Solana transaction failed?
Paste your transaction signature into Solana Explorer or Solana FM. A failed transaction shows a red error status and the specific error code. To find your transaction signature in Phantom, open the wallet, tap the transaction in your activity history, and copy the signature string from the transaction detail screen.
Can I recover funds from a failed Solana transaction?
Your principal, the tokens or SOL you were trying to send or swap, was never deducted from your wallet, so there is nothing to recover. The failed transaction did not execute. Only the small base transaction fee was charged. If your wallet balance looks different than expected after a failure, paste the transaction signature into Solana Explorer to see the exact fee charged.
Why does Solana drop transactions instead of queuing them?
Solana uses a transaction forwarding protocol called Gulf Stream instead of a traditional queue. In a traditional system, unconfirmed transactions wait in a holding area until a validator processes them. Gulf Stream forwards transactions directly to the expected next validator. Those that can't be processed immediately are dropped rather than held. This design supports Solana's high throughput but requires active resubmission when transactions fail.
What is "transaction simulation failed" on Phantom?
"Transaction simulation failed" means Phantom's pre-flight test predicted the transaction would fail before submitting it to the network. Phantom runs this simulation to save you the base fee on a doomed transaction. The most common causes are wrong slippage settings, insufficient SOL balance, or a program-level rejection. In rare cases, stale simulation state causes a false failure. Refreshing the page and resubmitting once resolves this. See the Solana Error Message Decoder for full details.
How do I fix insufficient funds on Solana?
Insufficient funds on Solana often means your wallet lacks enough SOL to cover the transaction fee plus the rent-exempt threshold for any new token accounts being created, not just the transaction value itself. Add SOL to your wallet and keep at least 0.05 SOL above your intended transaction amount as a buffer. The rent-exempt threshold is the minimum balance required to keep an account active on the Solana network.
Is my money safe if a Solana transaction fails?
Your principal is safe. The tokens or SOL you were trying to send or swap remain in your wallet exactly as they were before the failed transaction. A small base fee may have been charged (typically less than $0.01), but no transfer of tokens or assets occurred. The failed transaction is recorded on-chain with an error status, and your balances are unchanged.
Why do Solana transactions fail during NFT mints?
NFT mint failures happen because high-demand launches push thousands of simultaneous transactions through Solana's network, overwhelming public RPC nodes and driving priority fees to peak levels. Blockhashes expire before low-fee transactions are processed, and bots competing for the same supply amplify the congestion. Preparing before the mint opens by setting maximum priority fees and switching to a dedicated RPC endpoint substantially improves success rates. See Magic Eden NFT Mint Failures for the three-step preparation protocol.
What is slippage tolerance on Solana DEXes?
Slippage tolerance is the maximum price movement you'll accept between the moment a DEX quotes your swap and the moment it executes. If the price moves more than your set threshold before execution, the smart contract cancels the swap to protect you from receiving fewer tokens than quoted. Setting tolerance too low causes frequent failures on volatile tokens; setting it too high exposes you to MEV sandwich attacks on low-liquidity pairs. See Cause 4: Slippage Tolerance Breach.
How do I resend a failed Solana transaction?
Initiate a new transaction from the beginning. Do not attempt to resend the same transaction object, as its blockhash will have expired. Adjust your priority fee and slippage tolerance settings before resubmitting. Because Solana uses Gulf Stream, a dropped or failed transaction cannot be unstuck or requeued. A fresh transaction with a new blockhash is the only path forward. See Fix 3: Resubmit With a Fresh Blockhash.
Can I cancel a pending Solana transaction?
Solana transactions cannot be cancelled once submitted. Because Solana uses Gulf Stream instead of a traditional transaction queue, transactions are either processed within seconds or dropped entirely. If a transaction is pending, it will either confirm or expire when its blockhash becomes invalid (roughly 60 to 90 seconds after submission). Expired transactions are dropped automatically. You do not need to take any action: wait a moment, then resubmit if needed.
Explore SOL on Bybit
Use the Solana price page to review current SOL market data, or access the SOL/USDT spot market if spot trading matches your objectives. Bybit trading activity is not the same as submitting a Solana on-chain transaction; network fees may still apply when depositing or withdrawing SOL on the Solana network.
Summary: Matching Your Error to the Right Fix
Every Solana transaction failure maps to one of five root causes, each with a specific action.
| Root Cause | Quick Fix |
|---|---|
| Blockhash expired | Resubmit. Your wallet auto-fetches a fresh blockhash. |
| Insufficient priority fee | Increase fee to Fast or Turbo in your wallet or DEX settings. |
| Compute unit exhaustion | Use the DEX's auto-routing; select Direct Route Only on Jupiter. |
| Slippage tolerance breached | Increase slippage tolerance incrementally (stay below 3 to 5%). |
| RPC node overload | Switch to a dedicated RPC provider such as Helius or QuickNode. |
Failed transactions do not permanently lose your tokens. At most, a small base fee was charged. For the full step-by-step guidance on each fix, see How to Fix a Failed Solana Transaction. To reduce failures before they happen, run through the pre-transaction checklist before your next swap or mint.