If you sent an on-chain transaction and your wallet just says "Pending" for hours — or even days — don't panic. Your funds aren't lost, and you should not keep resending the same transaction. You have exactly two standard solutions: Speed Up or Cancel.
-

Speed Up: Resubmit the same transaction with a higher gas fee so miners prioritize it.
-
Cancel: Send a $0 transaction to yourself using the same nonce but with a much higher gas fee, which overwrites the stuck one.
One-liner: Raise the gas to jump the line, and use the same nonce to overwrite the original transaction. Below, I'll walk you through everything from why this happens to detailed steps, a gas fee comparison table, common questions, and money-saving tips.
1. Why Does a Transaction Stay Pending?
Every on-chain transaction must be included in a block by miners/validators. The Gas Price you set determines its priority — just like adding a tip to get a ride faster. The higher your bid, the more attractive your transaction is.
Common reasons for getting stuck:
-
Gas price too low: Your bid is below the current network average, so miners ignore you.
-
Sudden network congestion: A hot NFT drop or airdrop claim causes gas fees to spike, making your original fee instantly outdated.
-
Wallet estimation lag: MetaMask and similar wallets sometimes give slow-to-update suggestions, or you manually lowered the fee too much.
-
Nonce sequence jam: If an earlier transaction from your address is stuck, every subsequent transaction is stuck behind it (transactions must be confirmed in nonce order).
Key Concept: Nonce
The nonce is simply a counter for transactions sent from your address, starting at 0. If your transaction with nonce 0 is stuck pending, transaction nonce 1 won't be picked up by miners until nonce 0 confirms. If nonce 0 is jammed, everything behind it lines up and waits.
2. Speed Up a Transaction: How to Make a Pending Transaction Jump the Queue
How It Works
Speeding up is essentially replacing the original transaction. You broadcast a new transaction with the same nonce, same recipient, and same amount, but a higher gas bid. Miners will pick the new one because it pays them more, and the old pending transaction gets dropped. On Ethereum, this is called "Replace-by-Fee" (RBF) , and it's enabled by default for most transactions that aren't deliberately made "stuck forever".
Step-by-Step in MetaMask (other wallets are similar)
-
Open MetaMask and go to the "Activity" tab. Find the transaction stuck in pending (it usually has an orange or spinning icon).
-
Click on that transaction. You'll see the details and a "Speed Up" button.
-
After clicking Speed Up, a gas editing screen will appear, showing a new suggested gas price that's higher than the current network average.
-
Adjust the gas parameters: For EIP-1559 (Type 2) transactions, you can raise the Max Priority Fee and Max Fee. For legacy (Type 0) transactions, just increase the Gas Price.
-
Confirm the new transaction. You pay the difference in gas, and once broadcast, the new one enters the mempool. When the new one gets mined, the old pending one disappears.
Note: You don't pay the full gas fee for both transactions. The old one never actually executed, so you only effectively pay the higher fee for the replacement. If the new transaction confirms, you've completed the same operation but at a higher cost. The old one simply vanishes.
3. Cancel a Transaction: How to Invalidate a Stuck Transaction
When you want to fully abandon the transfer or contract interaction — or if Speed Up isn't working — you can cancel.
How It Works
Again, you use the same nonce replacement trick: send a 0 ETH transaction to your own address, using the same nonce but a significantly higher gas fee than the stuck transaction. Once this "cancel transaction" gets confirmed first, the original can never be confirmed — effectively overwritten and voided.
Step-by-Step in MetaMask
-
Enable advanced gas controls: Go to MetaMask Settings → Advanced, and turn on "Customize transaction nonce" and "Show advanced gas controls".
-
Identify the nonce of your stuck transaction. Let's say it's nonce 5.
-
Manually start a new transfer:
-
Recipient address: Paste your own wallet address.
-
Amount: 0 ETH (yes, zero).
-
Nonce: Manually set it to 5 (matching the stuck one).
-
Gas Price / Max Priority Fee: Set it at least 20-50% higher than the stuck transaction, or even more, to ensure it gets picked first.
-
Confirm and send. The new cancel transaction will appear in your activity. The original pending transaction should disappear from the pending list.
-
After the cancel transaction is confirmed, your ETH balance is fully released (minus the gas fee paid for the cancellation). Some MetaMask versions show a direct "Cancel" button that automates this, but always double-check the nonce and gas.
The Cost of Canceling: Canceling costs gas because you're broadcasting a real transaction. The original funds are never deducted, but the cancel transaction itself spends ETH. When gas prices are moderate, the cancellation fee is affordable; during peak congestion, canceling can be expensive. Still, it's a way to unstick your funds.
4. Data Comparison Table: Normal vs. Pending vs. Speed Up vs. Cancel
To make this concrete, let's assume the current network base fee is around 30 Gwei, and typical priority fees are around 2 Gwei. The following table compares different scenarios (prices in Gwei; to get total ETH cost, multiply by gas limit, usually 21,000 for a simple ETH transfer).
| Scenario | Nonce | Gas Bid (Max Priority / Max Fee) | Expected Status | Approx. Wait Time | Cost (assuming 21,000 gas limit) | Risk |
|---|---|---|---|---|---|---|
| Normal fast transaction | 5 | Priority 3 / Max Fee 35 Gwei | Confirms immediately | < 30 sec | ~0.000735 ETH | None |
| Stuck transaction | 5 | Priority 0.5 / Max Fee 15 Gwei | Stuck pending indefinitely | Hours to never | $0 (unconfirmed, no fee) | Funds temporarily locked |
| Sped-up transaction (new) | 5 | Priority 5 / Max Fee 50 Gwei | High chance of next block | < 30 sec | ~0.00105 ETH (net cost; old tx doesn't execute) | If network surges again, may need another speed up |
| Cancel transaction | 5 | Priority 10 / Max Fee 80 Gwei (intentionally high) | Cancellation confirmed | 30 sec – 2 min | ~0.00168 ETH (pure cancellation cost) | You pay the cancel fee, original funds are freed |
| Non-replaceable transaction (if RBF disabled) | 5 | Low gas, no replace flag | Forever pending | Infinite | $0 | Funds locked long-term, needs workaround |
Note: Actual gas limits vary by transaction type (simple ETH transfer = 21,000, ERC-20 token transfer ~65,000). This example uses a basic ETH transfer for easy comparison.
Interpreting the table:
-
When your stuck transaction has a very low gas bid (15 Gwei) but the network base fee stays at 30 Gwei or higher, it will almost never be mined.
-
Speed Up re-broadcasts with a competitive gas, confirming quickly. It's cheaper than a full cancel if you intended to make that transaction anyway.
-
Canceling requires a gas bid considerably higher than the original to "attract" miners, so it's a pure cost. Use it when you no longer want the original action.
5. Frequently Asked Questions (FAQ)
1. My transaction has been pending forever. Will I lose my crypto?
No, your funds are not lost. A pending status means the transaction hasn't been confirmed on the blockchain yet. Your balance appears reduced because it's reserved, but the assets are still under your control until the transaction is mined. Either it eventually confirms under its original terms, or you speed up/cancel to regain full access. There's zero risk of your funds vanishing.
2. Does speeding up a transaction cost extra?
Yes, you pay a higher gas fee for the replacement transaction. However, because the original transaction never took effect, you are not charged for it. Think of it as paying a new, higher fee to get the job done. In very rare cases, if the original also confirms (which can happen if timing is off), you would pay twice, but proper replacement avoids this.
3. Is canceling always guaranteed to work? What if it fails?
Not 100% guaranteed, but success rates are very high. A cancel can fail if the original transaction gets mined right before your cancel broadcast, or if you set the cancel gas too close to the original. If the cancellation fails, the original transaction simply confirms, and the cancel transaction itself becomes invalid because its nonce is now used — you won't be charged for a failed cancel. Your funds are safe; double-spending cannot happen.
4. I have a chain of stuck transactions (nonces in a row). What do I do?
You must start with the lowest nonce. For example, if nonces 3, 4, and 5 are all pending, you first speed up or cancel nonce 3. Once 3 is resolved, 4 and 5 may automatically process if they're valid. If you cancel 3, 4 and 5 remain pending, and you need to handle them one by one. Never skip the earliest nonce and try to fix a later one first — the replacement rule won't work.
5. Where exactly are the Speed Up and Cancel buttons in MetaMask?
In MetaMask's extension or mobile app, go to the "Activity" list. Tap on the pending transaction (it usually has an orange badge). If the transaction supports acceleration/cancellation, you'll see "Speed Up" and "Cancel" buttons at the bottom of the detail screen. If they don't appear, you may need to enable custom nonces in settings and manually send a 0 ETH transaction to cancel. Another option is using Settings → Advanced → Reset Account, which clears your local pending transaction history (this does not affect on-chain assets, but it allows you to send new transactions immediately — however, the original pending transaction can still theoretically confirm later if it was already broadcast, so exercise caution).
6. After I cancel, when can I use my crypto again?
Once the cancel transaction receives one block confirmation (usually within a minute), your ETH and token balances are immediately freed. You can then resend transfers normally. If you were canceling a stuck token approval (Approve), you'll need to redo the approval afterward.
7. How can I avoid stuck transactions? Any gas-setting tips?
Definitely. Here's what works:
-
Use a real-time gas tracker: Sites like Etherscan Gas Tracker, Blocknative Gas Estimator, or similar show current "High," "Average," and "Low" priority fees. Set your wallet to match the "High" range during busy times.
-
Wallet settings: In MetaMask, you can set the default gas fee to "Aggressive" or "High" when you know the network is congested.
-
EIP-1559 transactions: Set a Max Base Fee slightly above the current base fee, and add a priority fee of 2–5 Gwei. This nearly guarantees inclusion in the next block.
-
Don't manually undercut: Avoid lowering the gas fee to an unrealistic level just to save a few bucks. Getting stuck often costs more to cancel than you tried to save.
-
Check before sending: If the network is on fire (like during a famous NFT mint), consider waiting for non-urgent transactions.
8. How do I cancel in a mobile wallet like TokenPocket or imToken?
The principle is exactly the same as MetaMask. Most Ethereum-compatible wallets have a similar feature: find the pending transaction in your history, view its details, and look for an option like "Speed Up" or "Cancel". If your wallet doesn't show it, you can import your seed phrase/private key into MetaMask (be extremely careful with security) and perform the cancel there. Alternatively, manually send a 0 ETH transaction to yourself with the same nonce and higher gas using the wallet's custom nonce feature. Always guard your private key and never share it.
6. Summary
Getting a transaction stuck in pending is something every crypto user experiences. The root cause is simple: your gas bid didn't outcompete others. The fix always goes back to same-nonce replacement: speed it up to complete the action, or cancel it to free your funds.
-
Speed Up is your go-to when you still want the transaction to go through — just pay a bit more to get it confirmed quickly.
-
Cancel is best when you no longer want the transfer or interaction to happen at all (e.g., mistaken approval, wrong address), allowing you to cut your losses and stop the transaction.
Three must-check items: Know your nonce, set a meaningfully higher gas fee, and don't spam resends.
Money-saving habit: Spend 10 seconds checking a gas tracker before hitting confirm. Setting your fee to the "High Priority" range avoids the false economy of a cheap transaction that gets stuck and later costs more to cancel.
Now, open your wallet, find that orange pending transaction, and follow the steps above. Either accelerate it to get it confirmed, or cancel it so your funds are free again. Check the FAQ if you run into any snags. On-chain, speed rules — and so does gas.
