Your MetaMask transaction is stuck because its gas price sits below the network's current base fee, or because a gap in your nonce sequence is blocking it. The reliable fix is a manual 0 ETH transfer to your own address, reusing the exact same nonce with a gas price at least 10% higher. That replaces the pending transaction, or cancels it entirely when the gas limit is set to 21000.
Ethereum recalculates its base fee every block, roughly every 12 seconds, and that figure can move by as much as 12.5% in a single block. A transaction that looks hopeless at 40 gwei can clear on its own fifteen minutes later if the chain empties out. Before you touch anything, check whether the pending transaction is still visible in a block explorer under your address. If it has vanished from the mempool, MetaMask's "Speed up" button has nothing to act on and will fail silently or throw an error.
The "Speed up" button also has a structural problem: it lets you raise the gas price, but it does not expose the nonce, and it tends to overshoot, sometimes doubling your original fee. You end up paying far more than the next block actually requires. Most nodes enforce a replacement threshold of at least 10% above the original gas price, so a modest bump is enough.
If you have several transactions queued with sequential nonces, replacing the wrong one accomplishes nothing. Start with the lowest nonce in the stuck group, because every transaction behind it is blocked until that slot is filled.
- Replacement threshold is 10%: Most Ethereum nodes reject a replacement transaction unless its gas price exceeds the original by at least 10%.
- Nonce gaps block everything: Multiple pending transactions with sequential nonces will all stall until the lowest nonce is cleared.
- 21000 gas cancels: A 0 ETH self-transfer with a gas limit of exactly 21000 consumes the nonce and cancels the original transaction outright.
- Base fee moves fast: Ethereum's base fee updates every block, about 12 seconds, and can shift up to 12.5% per block in either direction.
- Speed up needs a live mempool entry: MetaMask's "Speed up" button only functions while the original transaction is still pending in the mempool; dropped transactions must be resubmitted manually.
Why is my MetaMask transaction stuck pending?
Three things cause a transaction to sit in pending. The gas price you signed is too low for the current base fee, the nonce you signed is higher than one of your unconfirmed transactions, or the transaction has already been evicted from memory pools and no longer exists anywhere. They look identical in MetaMask's activity tab and require different fixes, which is why the Speed up button so often does nothing.
EIP-1559 changed what "too low" means. A transaction pays a priority fee to the validator plus a burned base fee that moves at most 12.5% per block. On 14 September 2026 Ethereum's base fee was 18.7 gwei against an average effective gas price of 25 gwei. If you signed a max fee of 20 gwei during a lull and the base fee climbed to 24, every validator will skip your transaction until the base fee falls back below your ceiling. It isn't rejected. It's just unprofitable to include, and it stays that way until the network gets quiet. MetaMask's default estimate applies a 1.5x multiplier to the current base fee, which handles most traffic but loses badly during a spike.
A nonce gap is the more confusing failure because nothing about the stuck transaction is wrong. Ethereum processors a wallet's transactions strictly in nonce order, so if nonce 41 is missing, nonce 42 and 43 will not be mined no matter how much gas you throw at them. This happens when you click Reject on a transaction that a node has already seen, when you send from the same wallet in two browser profiles, or when a submission to Infura failed with an error but the signed transaction still reached a peer. Check Etherscan for your address and look for a break in the sequence before you touch anything.
Dropped transactions are the quiet third case. Validator clients run bounded memory pools β Geth's default sits near 4,096 transactions and under load nodes evict the cheapest entries first. In practice a transaction with a below-market tip gets discarded somewhere between 24 and 72 hours after broadcast. Once it's gone, MetaMask will usually keep showing it as pending because it caches activity locally and only reconciles against the chain when it polls. That cached row is the single most common source of panic: the funds for it are still in the wallet, the nonce is still free, and resending the same amount with that same nonce carries no risk of double-spending anything.
How to check if your transaction is still in the mempool
Before you replace anything, confirm the transaction is actually stuck rather than just slow. This takes about two minutes and needs one thing: the transaction hash. MetaMask shows it under Activity when you click the transaction β a 66-character string starting with 0x. If you already closed the popup, open MetaMask, go to Activity, click the entry, and hit the block explorer icon. That will drop you straight into Etherscan with the hash pre-filled. Copy it anyway, since you will need it for every step below.
- Paste the hash into the Etherscan search bar at etherscan.io and press Enter. You do not need an account, and the page loads in under a second. Block explorers for other chains work identically: PolygonScan for Polygon transactions, BscScan for BNB Smart Chain.
- Look at the status field at the top of the transaction page. On 14 September 2026, with a base fee of 18.7 gwei and an average gas price of 25 gwei, a competitively priced transaction lands in a block within two to five blocks, or roughly 24 to 60 seconds. If the status still reads Pending after five minutes, it is almost certainly priced below the current market and will sit in the mempool until fees drop or you replace it.
- Check the "Gas Price" and "Gas Limit" rows against the numbers on Etherscan's Gas Tracker. A standard ETH transfer uses a 21000 gas limit; anything involving a token swap or contract call uses far more, often 150,000 to 250,000. If your gas price is below the base fee shown in the tracker, the transaction cannot be included in the next block at all β EIP-1559 caps base fee movement at 12.5% per block, so it can climb out of reach and stay there.
- Use Etherscan's "Check TX Status" tool, found under the More dropdown on the transaction page. It re-queries the node in real time and tells you whether the hash is still sitting in the mempool, has been mined, or has vanished. This matters because MetaMask's own status indicator is cached and can lag by several minutes.
- If Etherscan shows Dropped & Replaced, another transaction with the same nonce has already been mined. Your original is dead; do not try to speed it up. Open MetaMask, check whether the replacement succeeded, and only resend if the funds never left.
- If Etherscan returns "Sorry, we are unable to locate this TxnHash" or NotFound, the transaction was evicted from the mempool. This typically happens after 24 to 72 hours of inactivity, or when node operators clear low-fee transactions during congestion. Nothing was spent. The nonce is still yours to reuse, and MetaMask may keep showing the transaction as pending locally β that display is wrong.
- Confirm your nonce before doing anything else. On the Etherscan transaction page it appears next to "Nonce" as a plain integer, usually in the single or low double digits for a personal wallet. Write it down. Every replacement you attempt must carry this exact number, or it will create a second pending transaction instead of overriding the first.
One warning specific to this chain of checks. If you submitted through MetaMask Swaps or a bridge, the hash you copied from the Activity list may be only the approval or deposit leg of a multi-step transaction. Replacing it with a 0 ETH self-transfer will cancel the leg you see, but the downstream steps may still execute or fail independently. Check the "Transaction Action" section on Etherscan before you assume one hash equals one transaction. And on Polygon, where the average gas price was 30 gwei on the same date, mempool behaviour is different enough that a five-minute wait is not unusual even for a correctly priced transaction β give it fifteen before you start replacing.
The fastest fix: 0 ETH self-transfer with the same nonce
This procedure applies when your transaction is still pending on Ethereum and you can see the same nonce in Etherscan's "pending" view. You need MetaMask's Advanced Settings accessible, a few dollars of ETH left for gas, and roughly two minutes. If your wallet is on Polygon or BNB Smart Chain, the same method works, but a stuck transaction there usually clears on its own within a minute or two because those chains rarely hold a backlog.
- Open MetaMask, click the account icon, then Settings, then Advanced. Turn on Customize transaction nonce. This toggle is the only way to expose the nonce field during a send, and it disappears again if you reset the extension. Note the exact nonce of the stuck transaction from Etherscan or from the Activity tab before you continue.
- Start a new send. Paste your own wallet address as the recipient. MetaMask will warn that you are sending to yourself, which is expected and harmless.
- Enter 0 as the amount. Leave the asset set to ETH. The transfer itself moves nothing; its only job is to consume the nonce.
- Open the gas editor and set the gas limit manually to 21000. MetaMask's default estimate for this send may read something like 21,500 or higher, and the extra headroom does not matter for the outcome, but 21000 is the exact cost of a bare ETH transfer and keeps the fee predictable.
- Set the nonce field to the same value as the stuck transaction. This is the step people botch. If you typo the nonce by one, you either queue a second stuck transaction behind the first or replace the wrong payment entirely. Double-check it against Etherscan before you sign.
- Set the gas price at least 10% higher than the original transaction. Most node implementations on Ethereum and Polygon reject any replacement below that threshold, so a 5% bump will simply fail. With the Ethereum base fee at 18.7 gwei on 14 September 2026 and average gas prices around 25 gwei, a reasonable starting point is the original price plus 15%, then nudge up if it does not confirm within a few blocks.
- Review the fee shown before you confirm. At 21000 gas and 30 gwei, that is 0.00063 ETH, roughly two dollars at current prices. If you set the gas price to 60 gwei to be safe, it doubles to about four dollars. That cost is real and it is separate from the original transaction's fee, which you still paid.
- Confirm and sign. The new transaction enters the mempool with the same nonce. Miners and builders pick whichever version pays more, so only one of the two can ever land. If the replacement wins, your original transaction is permanently dropped and the 0 ETH transfer takes its place in your history. If the original somehow mines first, the replacement is rejected and your ETH is untouched apart from the failed gas attempt.
The failure mode is a gas price that is not high enough. If the network is congested and your bump only matches the prevailing base fee, the replacement sits in the mempool right next to the transaction you were trying to kill, and you have paid nothing yet but you have also fixed nothing. Check Etherscan's gas tracker, aim for the "Fast" tier, and repeat the procedure with the same nonce and a larger bump if a full block passes without confirmation. Ethereum block times average about 12 seconds in 2026, and the base fee can climb up to 12.5% per block under EIP-1559, so a price that was generous two minutes ago may already be below the line. Do not escalate to a Ledger or Trezor signing session until you have tried the software fix twice; the hardware path adds a step and buys you nothing here.
Should you use MetaMask's 'Speed up' button instead?
The button works, but only within narrow conditions. When you click 'Speed up', MetaMask takes the pending transaction, copies its nonce, and resubmits it to the mempool with a higher gas price. That is a valid replacement under the rules most nodes enforce, which require at least a 10% bump on the original gas price. If your stuck transaction is the only pending one in your wallet and it has not been dropped or mined yet, the button does what it claims. You will see a second entry appear alongside the first, and whichever version the network picks up first wins. In practice this succeeds often enough that it is worth one attempt before you go manual.
Where it falls apart is sequential nonces. Say you sent three transactions in a row and the first one is stuck at nonce 47, with 48 and 49 queued behind it. MetaMask's speed-up targets the transaction you clicked, but it does not let you set or edit the nonce field. You get no way to consolidate, cancel, or reorder. If the replacement lands at a different nonce than you expected, or if the UI picks the wrong pending entry, you can end up with two transactions competing for the same slot and a third still blocking everything behind it. This is the single most common reason the button "does nothing" for users who have been actively trading or minting.
The overpayment problem
MetaMask's suggested gas price in the 2026 client runs at roughly 1.5x the current base fee plus a priority tip. On 14 September 2026 the Ethereum base fee sat at 18.7 gwei and the average gas price at 25 gwei, so the suggested bump lands well above what a normal-speed inclusion actually costs. High is not wrong β a replacement needs to outbid the original, and a failed replacement wastes nothing but your time β but paying 40+ gwei to unstick a 21000-gas transfer costs about 0.00084 ETH instead of the 0.00053 ETH a 25 gwei transaction would cost. Over a few rescues that adds up, and on Polygon (30 gwei average on the same date) or BNB Smart Chain the multiplier matters even less because fees are already trivial.
Manual replacement beats the button in one specific case: you have more than one pending transaction, or you need control over exactly which nonce gets filled. A 0 ETH self-transfer to your own address, submitted with the same nonce as the stuck transaction and a gas price 10-15% above the current average, will either replace it or confirm ahead of it. That is the reliable path. If you have exactly one pending transaction, no queue behind it, and you do not care about saving a few cents, clicking 'Speed up' and waiting 12 seconds per block is fine. Just do not click it three times in a row expecting a different outcome β each click submits another competing transaction, and the mempool does not forget.
How to cancel a pending transaction without paying extra gas
There is no cancel button on Ethereum. A signed transaction sits in the mempool until a validator includes it or every node forgets it, and you cannot reach in and pull it back. The only lever you have is the nonce: the sequential counter that says "this is transaction number 47 from this wallet." If you broadcast a second, different transaction with nonce 47 and a gas price high enough to be mined first, the network accepts that one and permanently invalidates the original. That is what cancellation actually is.
Here is the procedure for a 0 ETH self-transfer, which costs you only gas and moves nothing:
- Find the exact nonce of the stuck transaction. Open MetaMask, click the stuck entry, and expand the details. You want the nonce, not the hash. Alternatively paste your address into Etherscan and read the "Nonce" column of the pending row. If you have several stuck transactions queued behind each other, work on the lowest nonce first; nothing with a higher nonce can confirm until it clears.
- Confirm 25 gwei is not enough. Ethereum's average gas price on 14 September 2026 is 25 gwei with a base fee of 18.7 gwei. A transaction sitting unconfirmed for more than a few minutes is usually priced below that, or was sent during a spike. Check the current base fee on Etherscan's gas tracker before you set anything.
- Get the nonce into MetaMask's send flow. MetaMask does not expose a nonce field by default. Go to Settings, Advanced, and turn on "Customize transaction nonce." Then use Send, paste your own address as the recipient, enter 0 ETH, and set the nonce to the exact number from step 1.
- Set the gas limit to 21000. A plain ETH transfer to yourself touches no contract, so it cannot use more than the 21000 base cost. MetaMask will sometimes suggest 25000 or higher as a buffer; override it. A higher limit does not make you pay more, but it inflates the maximum-fee figure MetaMask shows you and can scare you off a perfectly cheap transaction.
- Price it above the stuck transaction, not above the market. Most Ethereum nodes enforce a 10% minimum bump for a replacement, so at 25 gwei average you would need at least 27.5 gwei to be accepted as a replacement at all. That floor is not the same as "will be mined." To land in the next block or two, set the max priority fee to roughly 1.5 to 2 gwei and the max fee to base fee plus 3 to 5 gwei. In practice that means something like 28 gwei max fee and 2 gwei priority when the base fee is 18.7 gwei. MetaMask's 2026 default estimate already multiplies the current base fee by 1.5, so its "Market" setting often clears the bar on its own; the manual override matters when the mempool is congested.
- Send it and leave MetaMask open. The replacement will show as pending alongside the original for a moment, then the original disappears from the activity list, sometimes with a red "cancelled" or "replaced" label. If you see the 0 ETH transfer confirm, the stuck transaction can no longer be mined. Your funds never left the wallet except for the gas fee, which is typically 0.0006 to 0.0007 ETH at these prices.
- If the original gets dropped instead, the nonce frees up. Mempools are not permanent storage. When traffic falls and a transaction stays far below the going rate, nodes evict it, and after a few hours your wallet's nonce rolls back. At that point you resubmit the original transaction, same nonce, higher gas price. Do not assume two transactions with the same nonce both confirmed; etherscan.io against your address will show only one.
The step people get wrong is the nonce field itself. Typing in the next nonce instead of the stuck one turns your harmless self-transfer into a second live transaction that will also queue, and now you have two problems. The second most common failure is bumping the gas price by 10% and calling it done: that satisfies the replacement rule and nothing else. Ten percent above a transaction that has already been ignored for twenty minutes just buys you a slightly better position in the same queue.
One caveat worth knowing before you start. On Polygon, where the average gas price on 14 September 2026 is 30 gwei, and on BNB Smart Chain, the replacement rules and nonce handling are largely the same, so the procedure transfers. What changes is the cost of being wrong, which is fractions of a cent rather than dollars. If your stuck transaction is a MetaMask Swap or any other contract call, the 0 ETH self-transfer still cancels it correctly, because nonce replacement does not care what the original transaction was doing.
What gas price should you use to replace a stuck transaction?
Your replacement has to beat two thresholds at once: the network's minimum bump rule and whatever the current block is actually paying. On Ethereum and Polygon, nodes running Geth or Erigon reject a replacement unless its gas price is at least 10% higher than the transaction it replaces, so a replacement at 1.09x your original will be dropped silently and you will sit there wondering why nothing happened. Clear that floor by a wide margin and you get mined in one or two blocks instead of six.
Ethereum's base fee on 14 September 2026 sits at 18.7 gwei with an average paid price of 25 gwei, which tells you priority fees are running around 6 gwei. Cap your priority fee at 2-3 gwei and you will queue behind everyone paying more. A replacement priced at base fee plus 10% on top of the current priority fee lands in the next block under normal conditions; the 12.5% per-block ceiling on base fee movement under EIP-1559 means that price stays valid for several blocks even if demand ticks up.
| Network | Congestion | Max fee (gwei) | Max priority fee (gwei) | Expected inclusion |
|---|---|---|---|---|
| Ethereum | Normal | 23 | 2.5 | 1-2 blocks (~12-24s) |
| Ethereum | High | 45 | 5 | 1-3 blocks (~12-36s) |
| Polygon PoS | Normal | 35 | 32 | 1-2 blocks (~2-4s) |
| Polygon PoS | High | 55 | 52 | 2-5 blocks (~4-10s) |
| BNB Smart Chain | Normal | 5 | 1 | 1-2 blocks (~3-6s) |
| BNB Smart Chain | High | 10 | 2 | 1-2 blocks (~3-6s) |
For most people stuck on Ethereum today, the normal row wins: 23 gwei max fee with a 2.5 gwei tip clears 18.7 gwei base fee plus a competitive priority fee and still costs under $1.50 for a 21,000-gas self-transfer at $2,600 ETH. The high row is for you if the mempool is backed up past 150,000 pending swaps, which you can confirm on Etherscan's Gas Tracker before you commit. That flips for Polygon users: the 35 gwei normal row is effectively the floor rather than a competitive bid, because Polygon's base fee has held near 30 gwei all month, and dropping to 20 gwei gets your replacement rejected outright by most validators. On BNB Smart Chain the numbers barely matter β 5 gwei costs about $0.01 for a transfer, so just use 10 gwei and stop thinking about it.
Why do nonce gaps happen and how to fix them
A nonce is assigned the moment you sign, and MetaMask takes the next unused number from your account's on-chain count. If transaction #47 is still sitting in the mempool when you sign #48, your wallet queues #48 behind it. Ethereum executes nonces strictly in order from the node's perspective. So when #47 gets dropped β because its gas price fell below the base fee after a few blocks of upward drift, or a node evicted it during a spike β #48 can never be included, no matter how much you paid for it. You now have a gap, and every transaction above it is frozen with it.
The symptom looks like a wallet bug. MetaMask shows three or four pending rows, your ETH balance unchanged, and Etherscan reporting nothing. It is not a bug. Nodes like Infura and Alchemy will keep rebroadcasting the higher nonces on your behalf, but no block producer will touch them until #47 lands. Meanwhile the 12.5% per-block base fee ceiling under EIP-1559 means a transaction priced at 20 gwei on a day when the base fee sits at 18.7 gwei can be pushed out of contention within roughly six blocks β about 72 seconds β if demand ticks up.
Fill the lowest nonce first, then work upward
Open the pending list in MetaMask and find the transaction with the lowest nonce number β not the oldest in wall-clock time, the lowest nonce. Send yourself 0 ETH to your own address using that exact nonce, with a gas limit of 21000 and a priority fee high enough to be picked up in the next block or two. Because it is a self-transfer, the ETH leaves and returns to the same address minus the fee, typically under $0.50 at 25 gwei. The replacement needs at least a 10% gas price bump over the original on most node implementations, so if your stuck transaction was at 22 gwei, go to 25 gwei minimum. If that swap confirms, the gap closes and any higher-nonce transactions you already signed are mined in sequence without further action.
Repeat only if you see a second gap β rare, but it happens after a wallet restore or when you signed transactions on two devices with a Ledger or Trezor attached and one device lagged behind on sync. Polygon and BNB Smart Chain use the same nonce model, so the method transfers; just substitute the chain's own gas figures, such as Polygon's 30 gwei average on 14 September 2026. One warning that catches people out: if you previously used MetaMask Swaps, the swap and its approval are two separate nonces, and replacing only one of them leaves the other stranded. Check the activity list for a paired approval before you assume a single replacement is enough.
When to give up and reset your MetaMask account
Settings, Advanced, Reset Account. It takes one click, asks for no password, and does something narrower than the name suggests. It wipes MetaMask's local record of your transaction history and rebuilds its nonce counter from what the RPC provider currently reports. It does not touch anything on Ethereum. A transaction sitting in the mempool at 25 gwei average gas price is still sitting there after the reset, still holding its nonce, and still going to land the moment base fee dips or a validator picks it up.
That gap between what the button sounds like and what it does is where funds get hurt. Once your history is blank, MetaMask shows the next nonce as whatever your Infura or Alchemy endpoint reports, and endpoints lag. Users reset, then immediately send a fresh transfer, and MetaMask hands out a nonce that is already occupied by the transaction they forgot about. The new transaction is rejected by every node as a nonce-too-low error, or worse, it is accepted later under a different nonce than intended and a second payment goes out. Resetting is also the one action that destroys your local evidence trail β the exact nonce, gas price and hash you need to build a replacement.
So the rule is blunt. Reset only when you are confident no pending transaction exists: after a successful cancellation has confirmed, after the nonce has visibly advanced on Etherscan, or when you are recovering a wallet whose only activity was a failed or dropped transaction from days ago. If anything is still pending, do not reset. Replace it manually with the same nonce and a gas price at least 10 percent above the original, which is the minimum bump most nodes accept for a replacement. Resetting on a wallet that has pending activity trades a fixable problem for an unfixable one.
Frequently Asked Questions
Can I cancel a pending MetaMask transaction without paying gas?
No. Cancelling means broadcasting a competing transaction that spends the same nonce, and every broadcast costs gas whether or not it succeeds. A common approach is a 0 ETH transfer to your own address with the same nonce and a gas price at least 10% higher than the original.
On Ethereum mainnet that replacement typically costs $2-$15 depending on base fee, so it is rarely worth cancelling a transaction below roughly $10 in value. Cheaper to wait it out.
What happens if I send a new transaction with the same nonce?
The network treats it as a replacement. Miners and validators can only include one transaction per nonce per account, so whichever of the two pays more gets mined and the other is discarded. MetaMask enforces a minimum bump of 10% over the original gas price before it will broadcast the replacement.
Some RPC providers and MEV relays reject replacements below 10-12%, so if the first attempt fails, raise the tip rather than resubmitting at the same price.
How long does a stuck transaction stay pending?
Usually 24 to 72 hours. Most Ethereum clients and node operators drop transactions from the mempool after that window, and MetaMask will then show the transaction as dropped rather than pending. During periods of very low congestion, some nodes keep transactions for a week or more before evicting them.
Why does MetaMask say 'Transaction Failed' but Etherscan shows pending?
MetaMask reads chain state through whichever RPC endpoint is configured, and that endpoint can be lagging, rate-limited or returning errors. Etherscan queries its own indexer directly. If Etherscan shows the transaction as pending with a valid tx hash, the transaction is still live and MetaMask's status is wrong.
Switch to a different RPC in Settings, such as a public endpoint from Chainlist, and the two views usually agree within a minute or two.
Can I speed up a transaction on Polygon or BSC?
Yes, the same nonce replacement method works on any EVM chain. On Polygon, check the Polygon gas tracker for the current minimum priority fee, which has sat near 25-30 gwei during active periods in 2026, and set your replacement at least 10% above it. On BSC, use the BscScan gas tracker.
The practical difference is cost. A Polygon replacement often costs under $0.01, while the same operation on Ethereum mainnet can run several dollars.
What if I have multiple pending transactions?
Replace the transaction with the lowest nonce first. Nonces must be mined in order, so a single stuck transaction at nonce 42 blocks every transaction at 43, 44 and beyond from confirming, no matter how much gas they pay. Cancel or replace the lowest one and the queue behind it clears.
If you have five pending transactions, you only need to bump the first; the rest will process normally once that slot is filled.