A user initiates a swap on Phantom DeFi, approves the transaction in their Phantom wallet extension, and receives a transaction hash. Minutes pass. The transaction still shows “pending” in the wallet interface. The funds have not returned, the swap has not executed, and no error message appears. This scenario is common enough to create genuine confusion: the transaction was signed, broadcast, and accepted by the blockchain—so why is it stuck?

The answer depends on which network the transaction was sent to, what gas price was used, whether the RPC endpoint is responsive, and whether the transaction itself contains a logical error that will cause it to fail on-chain. A pending transaction is not the same as a lost transaction, and the steps to resolve it are different from the steps to prevent it. Understanding the distinction between network congestion, node synchronization delays, and actual transaction failures will determine whether you need to wait, increase gas, switch RPC endpoints, or accept that the funds may be locked until the transaction expires.

Phantom wallet extension transaction status screen showing pending state, gas price controls, and RPC endpoint selection

Why transactions stay pending in the Phantom wallet extension

When you sign a transaction in your Phantom wallet extension, you are creating a cryptographically signed instruction to transfer assets or execute code. Broadcasting that transaction to a blockchain network does not guarantee immediate execution. The network must receive it, a validator or miner must include it in a block, and that block must achieve finality. During each stage, the transaction remains in a pending state.

On Solana, which Phantom originally supported, pending transactions typically confirm or fail within seconds. On Ethereum and Ethereum-compatible networks like Polygon, Base, and Robinhood Chain, confirmation time depends on gas price and network demand. If you set a gas price too low relative to current network conditions, your transaction will sit in the mempool—the network’s waiting queue—until either the gas price becomes competitive again or the transaction times out. This is not a Phantom wallet extension limitation; it is a property of the underlying blockchain.

The second common cause is an RPC endpoint issue. Your Phantom wallet extension communicates with a blockchain network through an RPC (Remote Procedure Call) endpoint. If that endpoint is slow, overloaded, or not properly synchronized with the network, you may see a pending status even though the transaction has already been confirmed elsewhere. The endpoint may take hours to catch up, during which the transaction appears stuck in your wallet interface.

A third cause is a transaction error that will cause the transaction to fail when it finally executes. Common failures include insufficient balance (even after accounting for gas), a smart contract call that reverts due to slippage, insufficient liquidity, or an address that is not permitted to perform the action. These transactions will eventually show as failed, not pending forever, but they can remain in the pending state for longer if the network is congested.

Distinguishing between network delay and actual failure

The first diagnostic step is to check the transaction on a blockchain explorer outside of Phantom. If you navigate to Etherscan (for Ethereum), Solscan (for Solana), or the appropriate block explorer for your network, you can paste your transaction hash and see its actual status. If the explorer shows the transaction as confirmed or failed, the issue is a display delay in your Phantom wallet extension, not the transaction itself. If the explorer shows it as pending, you are looking at a genuine network condition that requires action.

The second step is to confirm that your wallet address and the transaction hash are correct. Copy the hash directly from your Phantom wallet extension activity history rather than typing it, and use the correct block explorer for the network you sent the transaction on. If you sent a Polygon transaction and checked an Ethereum explorer, you will not find it. The Phantom wallet extension supports Solana, Ethereum, Base, Polygon, Robinhood Chain, Bitcoin, HyperEVM, and Sui, and each requires its own explorer.

The third step is to check the current gas price on the network. Phantom shows estimated gas fees before you sign, but real-time gas prices fluctuate. If you approved a transaction at 50 gwei on Ethereum when the median gas price is now 200 gwei, your transaction will not execute until prices drop or you replace it. This is not an emergency if you are not in a hurry; it is a waiting game. If you need the transaction to confirm quickly, you have limited options that actually work.

Increasing gas and replacing pending transactions

Many networks allow transaction replacement, but the mechanism differs. On Ethereum-compatible networks like Polygon and Base, you can use the “speed up” or “replace” feature in some wallets, or you can manually create a new transaction with a higher gas price and the same nonce (transaction sequence number). Phantom’s transaction interface should allow you to increase gas for pending transactions directly, though the process is not always as visible as it could be.

To increase gas in Phantom, locate the pending transaction in your activity history, look for an option to increase the gas price or speed up the transaction, and approve the new transaction with the higher fee. You will be signing a new transaction with the same nonce, which tells the network to replace the original one. Only one will execute; the other will be rejected. This costs you an additional network fee but can move a transaction from a congested state to confirmed if the gas price increase is sufficient.

On Solana, which prioritizes transactions differently using priority fees rather than gas prices, the concept is similar but the implementation in Phantom works through the priority fee parameter. If your Solana transaction is pending, you can attempt to increase the priority fee and resubmit. This is less commonly necessary on Solana because the network typically confirms transactions within seconds, but during periods of extreme congestion or if the RPC endpoint is unresponsive, it can help.

Bitcoin transactions, which Phantom now supports, operate on a different fee market. Once a Bitcoin transaction is broadcast, you cannot directly increase the fee in most wallets. Instead, you would use a technique called “child pays for parent” (CPFP), where you create a follow-up transaction that spends the output of the pending transaction and includes a higher fee. This is rarely necessary for Bitcoin unless the network is severely congested, but it is an option if weeks pass without confirmation.

Switching RPC endpoints and node synchronization

If the blockchain explorer confirms your transaction but your Phantom wallet extension still shows it as pending hours later, the issue is almost certainly your RPC endpoint. The endpoint is lagging behind the network state. In Phantom, you can access RPC settings from the main menu and select alternative endpoints or add custom RPC endpoints. This feature does not exist for all networks that Phantom supports—custom networks are not enabled in the current version—but you can often switch between default endpoints to find one that is more responsive.

When you change the RPC endpoint in your Phantom wallet extension, the new endpoint begins syncing transaction history from the blockchain. This can take anywhere from seconds to minutes depending on how many transactions you have and how fast the endpoint is. Once it catches up, the pending transaction should disappear and show as confirmed or failed. If it shows as confirmed, the transaction succeeded and you can proceed. If it shows as failed, you can investigate the failure reason on the block explorer.

RPC reliability is not within Phantom’s direct control; different RPC providers maintain different server infrastructure. If one endpoint is consistently slow, switching to another is often the fastest solution. The Phantom wallet extension uses default endpoints provided by the respective blockchain networks or established node infrastructure operators. If all available endpoints in Phantom are slow, waiting for general network synchronization is sometimes the only option.

For users who run their own nodes or have preferred RPC endpoints, the inability to add custom networks in Phantom is a limitation. You would need to use a different wallet interface or access the blockchain through a different application. This is a trade-off Phantom has made regarding complexity and security; allowing arbitrary custom network additions increases the surface area for attacks that could redirect transactions to scam contracts.

When to accept the loss and move forward

If a transaction has remained pending for several hours, the block explorer shows it as pending, and the gas price you paid is substantially below current network rates, you have reached a decision point. Increasing gas significantly may cost more than the original transaction. If the transaction was for a small amount or a test transfer, accepting that the transaction will eventually time out and the funds will return to your wallet may be more rational than paying a high fee to expedite it.

On Ethereum-compatible networks, pending transactions typically expire after 12 to 24 hours if not included in a block. The transaction will be removed from the network’s mempool, and your funds will return to your wallet. This is an automatic process; you do not need to do anything. The cost is the original gas fee you paid, which is gone regardless of whether the transaction executes.

For a transaction that has failed—shown as a failed or reverted status on the block explorer—the situation is more serious. A failed transaction still consumes gas. If you sent tokens to a smart contract and the contract rejected them due to a logic error or permission issue, the tokens do not return automatically. They remain in the contract unless the contract has a recovery mechanism or the developer can extract them. This is why Phantom’s transaction simulation and plain-language preview features are valuable; they can catch many potential failures before you sign.

If you are using Phantom DeFi or interacting with decentralized exchanges through the wallet, slippage settings deserve special attention. If you set maximum slippage too low, the transaction may fail when prices move between the time you approve it and the time it executes. Increasing slippage tolerance can help a transaction execute, but it also exposes you to worse pricing. The balance point depends on how important the transaction is and how much price movement you are willing to accept.

Phantom’s scam detection and transaction preview features

Before a transaction gets stuck pending, Phantom’s built-in defenses can prevent you from authorizing a malicious or unprofitable transaction in the first place. The scam detection system flags known malicious addresses and suspicious contract interactions. If you are sending tokens to an address that has been used in phishing attacks or attempting to approve a contract that is designed to drain your wallet, Phantom will warn you.

The plain-language preview shows you what the transaction will actually do in human-readable form. Instead of a hex string of contract data, you see something like “Swap 1 ETH for USDC on Uniswap” or “Approve token transfer.” This helps you catch mistakes before signing. If the preview does not match your intention, do not approve the transaction. A stuck pending transaction is sometimes preferable to confirming a transaction that does exactly what you signed but not what you intended.

These features do not eliminate the need to double-check addresses, verify slippage settings, and confirm the network before signing. Scam detection catches known patterns, not novel attacks. A transaction preview can help you understand what you are authorizing, but ultimately you are responsible for the decision. The Phantom wallet extension makes it easier to verify transactions, but verification is still your responsibility.

Practical next steps when a transaction is stuck

Follow this sequence: First, check the transaction on a block explorer to determine its actual status outside of Phantom. Second, confirm you are looking at the correct network and correct transaction hash. Third, if the explorer shows it as confirmed but Phantom shows it as pending, switch RPC endpoints in your Phantom wallet extension and wait for synchronization. Fourth, if the explorer shows it as still pending and the gas price is uncompetitive, decide whether to increase gas or wait for the transaction to time out.

Fifth, if the explorer shows the transaction as failed, accept that it will not execute and move forward. Do not repeatedly approve the same transaction. Each approval costs gas and each broadcast uses a slot in the mempool. If you need the transaction to succeed, identify why it failed—insufficient balance, slippage, reverted contract call—and create a corrected transaction instead.

Sixth, do not assume that Phantom’s display is wrong or that the transaction will magically execute if you wait long enough. The display can lag, but a truly pending transaction will either eventually execute or expire. The key is determining which one is happening and acting accordingly. For most pending transactions, especially on fast networks like Solana, the issue is an RPC display lag rather than a true network problem.

Finally, if you need professional help recovering funds from a failed transaction or accessing funds locked in a contract, verify that you are contacting legitimate support. Phantom’s official documentation and support channels are the only reliable sources. Scammers frequently impersonate wallet support and will attempt to trick you into revealing your recovery phrase or private keys. You can access the phantom wallet extension from the official website to verify the legitimate download link.

Preventing pending transactions: Setup and discipline

Many pending transaction problems are preventable through careful initial setup and discipline during transactions. Set gas prices conservatively if you are not in a hurry. Phantom’s suggested gas price is usually reliable, but you can increase it manually if you need faster confirmation. Test transactions with small amounts before moving large value. This is especially important if you are new to a network or using an application for the first time.

Verify your wallet address and the destination address separately. Copy the destination address directly from the application rather than typing it. Confirm that you are sending to the correct blockchain; sending Ethereum to a Bitcoin address or Polygon tokens to an Ethereum address will result in permanent loss. Phantom supports multiple chains, which is powerful, but the responsibility to select the correct one rests with you.

Check your balance before signing. Ensure that you have enough funds to cover both the transfer amount and the gas fee. Phantom will usually prevent you from signing a transaction that exceeds your balance, but it is worth confirming. For smart contract interactions, understand what you are approving. An approval transaction grants permission to a contract to spend your tokens on your behalf. Revoke old approvals if they are no longer needed, especially if you are worried about a contract being compromised.

Frequently asked questions

How long will a pending transaction stay in my Phantom wallet extension?

On most networks, a pending transaction will expire and return the gas fee after 12 to 24 hours if it is not included in a block. The exact timeout depends on the blockchain. Some networks may keep transactions in the mempool longer or shorter. If a transaction remains pending for more than 24 hours and the gas price was below network average when you sent it, you can increase the gas or wait for the funds to return. Check the block explorer to see the actual network status outside of your wallet.

Can I cancel a pending transaction or get my money back immediately?

You cannot cancel a transaction that has already been broadcast to the network. You can create a new transaction with a higher gas price to replace it (on networks that support replacement), but this costs additional gas. If you do nothing, the transaction will either eventually execute or expire and the funds will return. Cancellation is not an option; you can only speed it up or wait.

My Phantom DeFi transaction shows pending but the block explorer shows failed. What happened?

Your transaction executed and failed on-chain, meaning the smart contract rejected it. This consumes gas just like a successful transaction. The failure is permanent; the transaction will not execute again. Investigate the failure reason on the block explorer—common causes are slippage too low, insufficient liquidity, or insufficient balance. Do not repeat the same transaction. Instead, adjust your parameters and create a new transaction if you still want to proceed.