Why Is My Ethereum Transaction Pending and How to Cancel It

An Ethereum transaction pending for a long time almost always has one of two causes: the maximum fee you set is now below the network’s base fee, so validators can’t include it, or an earlier transaction from the same address is stuck, and everything after it is waiting in line. Your ETH isn’t lost while it’s pending. You can speed it up by resubmitting it with a higher fee, or cancel it by replacing it with an empty transaction that uses the same nonce.

Here’s how to tell which problem you have and fix it, with notes for MetaMask and other wallets.

Ethereum transaction pending illustration: a transaction with an hourglass waiting outside a block, and later transactions queued behind it by nonce number
Pending usually means the fee is too low, or something earlier is blocking the queue.

Step 1: Look up the transaction

Copy the transaction hash from your wallet’s activity list and search it on Etherscan (or the explorer for the network you used, such as Arbiscan or Basescan). Check:

  • Status: pending, or not found at all.
  • Max fee and priority fee you set, compared with the current base fee shown in Etherscan’s gas tracker.
  • Nonce: the transaction’s number in your address’s sequence.

If the explorer can’t find it, the transaction may never have reached the network or may have been dropped. In that case, your wallet may show it as pending even though nothing is happening; resetting the wallet’s activity or sending a replacement with the same nonce resolves it.

Why your Ethereum transaction is pending: the two common causes

Cause 1: The fee is below the current base fee

Every Ethereum transaction sets a maximum fee per unit of gas. The network’s base fee rises and falls with demand, block by block. If the base fee climbs above your maximum, your transaction can’t be included until it falls again. What are gas fees? explains how the base fee moves.

Cause 2: An earlier transaction is blocking the queue

How one stuck transaction blocks the nonce queue: transactions from an address must be confirmed in nonce order; if nonce 41 is stuck because its fee is too low, nonces 42 and 43 wait behind it even with high fees, until 41 is confirmed, sped up or cancelled
Fix the oldest stuck nonce first.

Every transaction from your address has a nonce, a counter that goes up by one each time: 0, 1, 2 and so on. The network processes them strictly in order. If nonce 41 is stuck with a low fee, nonces 42 and 43 can’t be confirmed, however high their fees are.

That’s why you sometimes see several transactions pending at once. The fix is always to deal with the oldest pending nonce first.

How to speed up or cancel an Ethereum transaction

Speed up or cancel an Ethereum transaction: speed up resends the same transaction with the same nonce and a higher fee, so it still goes through; cancel sends 0 ETH to yourself with the same nonce and a higher fee, so it replaces the original; either way the fee must be about 10% higher than the original
Both work by replacing the pending transaction with one that uses the same nonce.

Both options work the same way underneath: you send a new transaction with the same nonce and a higher fee. Only one transaction per nonce can ever be confirmed, so whichever is included first wins, and the other is discarded.

Speed up

The replacement is the same transaction (same recipient, same amount, same data) with a higher fee. Use this when you still want the payment or swap to go through.

Cancel

The replacement sends 0 ETH to your own address with the same nonce and a higher fee. When it’s confirmed, the original can never be. You still pay the fee for the cancel transaction.

In MetaMask

MetaMask has built-in Speed up and Cancel buttons on pending transactions in your activity list, described in its guide to speeding up or cancelling a pending transaction. If the buttons don’t work:

  1. Turn on Customize transaction nonce in Advanced settings.
  2. Send 0 ETH to your own address, entering the nonce of the oldest pending transaction.
  3. Set a priority fee at least 10% higher than the original transaction’s, and a max fee above the current base fee.

MetaMask notes that you have to cancel in nonce order: you can’t cancel nonce 10 before nonce 9.

Other wallets

Most popular wallets offer speed-up or cancel options for pending transactions; some call it “replace”. Hardware wallet users usually do this through the companion app or by connecting the device to a wallet that supports custom nonces.

When you can’t speed up or cancel

  • Exchange withdrawals. If the transaction was sent by an exchange, only the exchange can replace it. Contact its official support with the transaction hash.
  • Already confirmed. A confirmed transaction can’t be cancelled or reversed. If it says “Success” on the explorer, it’s final. If it failed, the fee was still spent, but the tokens didn’t move.
  • Low-fee transactions that are simply waiting. Doing nothing is also an option: if the base fee falls back below your maximum, the transaction will go through on its own.

How to avoid an Ethereum transaction pending for hours

  • Use your wallet’s suggested fee rather than setting it manually low, especially when the network is busy.
  • Don’t send several transactions in a row if the first one is pending; they’ll just queue behind it.
  • Check the gas tracker before large or time-sensitive transactions.
  • Use a layer 2 network such as Arbitrum or Base for everyday activity, where fees are lower and stuck transactions are rarer; see what is a layer 2?.

On Bitcoin the mechanics are different, with no nonces and different fee rules; see why is my bitcoin transaction unconfirmed?. And if your problem is that funds went to the wrong chain rather than getting stuck, see sent crypto to the wrong network.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top