MetaMask Transaction Stuck Pending: Cancel or Speed Up – Which Saves More?

 / 
1

Whether to speed up or cancel depends on whether you want to save on gas fees or time. Cancel to save money; speed up to save time.

MetaMask's official Help Center clearly explains that canceling a transaction essentially sends a new transaction with the same nonce but with a value of 0, and the gas fee must be higher than the original to be confirmed first. Speeding up means re-sending the original transaction with a higher gas fee. Both require extra gas, but accelerating at least gets the transaction through, while canceling spends gas just to void a transaction that hasn't succeeded.

Prerequisites

  • Wallet has the network's native token (e.g., ETH, BNB) to pay gas fees. Canceling a transaction requires at least the same or slightly higher gas than the original.

  • Disable "Smart Transactions" (if you need to adjust Nonce): Settings → Transactions → Smart Transactions, turn off this switch.

Step 1: Determine if you can use the built-in buttons

MetaMask provides "Speed Up" and "Cancel" buttons, but only if the transaction still appears as pending in the wallet.

Open MetaMask, tap the "Activity" tab, and locate the pending transaction.

Case A: "Speed Up" and "Cancel" buttons are shown

Tap them directly. The wallet will automatically fill in the network's recommended gas price. Confirm and done.

Case B: Buttons are unavailable or the transaction doesn't appear in the activity list

This means the transaction was likely not initiated directly from this wallet (e.g., via Ledger Live), so you'll need to go to Step 2 to customize the nonce.

Completion criteria: After tapping, MetaMask displays a confirmation window with the updated gas price.

Step 2: Manually cancel with custom nonce (when built-in buttons don't work)

If the built-in buttons fail, you must manually send a replacement transaction. The core logic: send a transaction to yourself (enter your own wallet address), with a value of 0, and the nonce must exactly match the stuck transaction's nonce.

How to do it:

  1. Find the nonce of the stuck transaction. Tap the pending transaction details and check the "Nonce" field.

  2. Go to Settings → Advanced, and enable "Customize transaction nonce."

  3. Initiate a transfer, set the recipient to your own address, and the amount to 0.

  4. On the confirmation screen, enter the nonce number you noted in the "Custom Nonce" box.

  5. Adjust the gas fee before confirming.

Completion criteria: The transaction is broadcast, and its status changes from "Pending" to "Canceled."

Step 3: Figure out which saves more money

Both canceling and speeding up cost gas. The key is whether the transaction itself still has value.

OperationGas setting requirementResultTotal cost
Speed UpPriority fee at least 10% higher than original, max fee 30% higherTransaction executes successfullyOriginal gas + extra gas
CancelPriority fee at least 10% higher than original, max fee 30% higherTransaction is voided, funds returnedPay only the cancel gas

Common reasons for failure

If what's stuck is a swap transaction and the token price has already crashed, speeding up means you'll complete the trade at a worse price, plus extra gas, so the loss could be significant. Whereas canceling, though also costing gas, at least frees up your funds so you can re-enter at a better price.

Risk reminder: Don't leave a transaction "unable to complete" hanging indefinitely just to save a few dollars in gas. A stuck transaction blocks all subsequent transactions because nonces for the same address must increase sequentially—if you don't resolve the current one, later transactions will never be sent. If you don't have enough gas in the wallet, you can't even cancel; you'd have to wait for the network to become less congested and the original transaction to fail on its own, or use "Reset Account" to clear the pending queue (Note: Resetting the account only removes local transaction history, not on-chain issues).

Verification after operation

Open a block explorer (e.g., Etherscan), enter your wallet address, and check whether the transaction with that nonce shows a status of "Success" (speed up successful) or "Dropped & Replaced" (canceled by replacement). The on-chain status may take about 30 seconds to 5 minutes to finalize (depending on network congestion).