Solana Transaction Stuck Pending for Hours: How to Cancel It
A Solana transaction that stays pending for hours is usually stuck because the network dropped it or your wallet cannot confirm it. You can cancel it by sending a duplicate transaction with a higher priority fee, or by waiting for the original to expire. The most reliable fix is to use a "replace-by-fee" method directly in your wallet or via a block explorer.
Why a solana transaction gets stuck
Solana processes transactions in blocks, and each transaction has a limited lifetime defined by a "blockhash" - a unique identifier for the current network state. If your wallet submitted a transaction with a low priority fee, validators may ignore it during periods of high network congestion. The transaction remains in a pending state until the blockhash expires (typically around 150 blocks, or roughly 80 seconds). After expiration, the transaction is dropped and your funds return to your wallet automatically.
However, some wallets or dApps may display a transaction as "pending" even after the blockhash expires, because they haven't refreshed the status. In rare cases, a stuck transaction can block your ability to send new transactions from the same wallet until you manually clear it.
Step-by-Step: How to Cancel a Stuck Solana Transaction
1. Check the Transaction Status
First, confirm the transaction is still pending. Open your wallet's transaction history and look for the status. If it says "pending" or "processing," copy the transaction signature (a long string of characters). Go to a Solana block explorer like Solscan or Solana Explorer, paste the signature, and check the "confirmation status." If it shows "confirmed" or "finalized," the transaction went through - your wallet just hasn't updated. If it shows "pending," proceed to the next steps.
2. Use the Wallet's Built-In Cancel Feature (If Available)
Some Solana wallets, such as Phantom, offer a "cancel transaction" option. In Phantom: - Open the transaction details in your activity log. - Look for a "Cancel" or "Replace" button. If present, click it. - The wallet will submit a new transaction with a slightly higher fee to override the original. Confirm the new fee in the prompt.
If your wallet does not have this option, move to the manual method.
3. Manually Replace the Transaction with a Higher Fee
You can cancel a stuck transaction by sending a new one that duplicates the original but with a higher priority fee. The network treats this as a replacement. Here is the procedure:
- Identify the stuck transaction's details: From your wallet, note the recipient address, the amount, and the exact token (e.g., SOL or an SPL token). If the transaction involves a dApp interaction (like a swap), you may need to recreate the same instructions.
- Use a block explorer's "replace" feature: On Solscan, find your pending transaction. Look for a "Replace with higher fee" button. Clicking it generates a new transaction with a configurable priority fee. Set a fee that is at least 10-20% higher than the original. The explorer will prompt you to sign with your wallet.
- Alternatively, use a CLI tool: If you are comfortable with the command line, you can use the Solana CLI's
--replace-feeflag. This requires installing the Solana CLI and importing your wallet's private key. Only attempt this if you are experienced with terminal commands; mistakes can lose funds.
After submitting the replacement, the original transaction should be dropped, and your funds will be available again.
4. Wait for the Blockhash to Expire
If you cannot cancel the transaction, wait. The blockhash will expire after about 80 seconds, and the network will discard the transaction. Your wallet may still show it as pending for a while, but your balance should return to normal after a short refresh. Force-close and reopen your wallet, or switch networks (e.g., from mainnet to devnet and back) to trigger a status update.
5. What NOT to Do
- Do not send another transaction from the same wallet without canceling first. This can sometimes create a conflict, but usually, the new transaction will just be queued. In most cases, you can safely send new transactions even if one is pending - the network ignores the old one after the blockhash expires.
- Do not try to "double-spend" by sending to yourself. This will not cancel the original; it only creates a separate transaction.
- Do not reset your wallet or reinstall the app. That does not affect the network state.
Preventing Stuck Transactions in the Future
- Always set a reasonable priority fee. Most wallets show a "fast" or "aggressive" option during congestion. Use the block explorer's "fee estimator" to check current network conditions before sending.
- Avoid sending transactions during Solana network congestion, often caused by popular NFT mints or memecoin launches. Check sites like Solana Beach for real-time network health.
- Use wallets that support transaction replacement natively, such as Phantom or Solflare. These handle stuck transactions more gracefully.
When to seek help
If the transaction remains stuck for more than 24 hours, it is almost certainly dropped. If your balance still does not update, contact your wallet provider's support. For dApp-related issues (e.g., a stuck swap on a decentralized exchange), reach out to that dApp's support team - they may need to manually cancel the transaction on their end.
In summary: check the status, use your wallet's cancel feature, replace with a higher fee via a block explorer, or wait for expiry. Do not panic; your funds are not lost.
Not financial advice. gokuofsolana.xyz publishes market data and general information about Goku super saiyan. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.
Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.