Help! My Ethereum transaction is stuck

We’ve all been there. You’ve been waiting and waiting, but that Ethereum transaction just isn’t going through. A stuck transaction can be especially frustrating when you aren’t sure what to do. What’s worse, one pending transaction can prevent all the rest of your transactions from completing.

Don’t punch a hole through your monitor just yet! You’ve got options. We’ll show you a few after some quick background on what exactly is happening.

There are many factors that determine how long an Ethereum transaction takes to be confirmed. Most often, it’s usually because you paid too low of a gas price for your transaction. And so your transaction remains pending while miners stuff their blocks with higher-fee transactions.

One nonce at a time

As you’ve probably noticed, a stuck transaction holds up all the transactions you submitted after it. This happens because every Ethereum transaction has what is called a nonce value, which essentially serves as a unique identifier for each transaction submitted by your Ethereum account.

Your Ethereum address starts with a nonce of 0 and increases by 1 with each transaction that’s confirmed. Transactions must be confirmed in numerical nonce order, which is why your other transactions can’t get through until your stuck transaction completes. And don’t hate on the nonce – it helps avoid double spending, which would cause much bigger problems than your transaction traffic jam.

So now you know why your transaction is stuck. We’ll show you how to (try to) speed up or cancel your transaction so you can get it unstuck and move on with your day.

Speeding up or cancelling MetaMask transactions

If your transaction’s been pending long enough, you might see a ‘speed up’ button when you click on it in MetaMask. If it helps, try opening the fullscreen view by clicking the three dots to the right of your Account name. Select ‘Expand View’ and click your stuck transaction to expand its details (note that the speed up button might not appear until your transaction has been delayed for a bit).

Once you see the ‘speed up’ button, click on it for an opportunity to resubmit the transaction with a higher gas price. We recommend you select a price greater than or equal to the fast price found at the top of EthGasStation. This resubmits your transaction with the same nonce but a higher gas fee; you can expect a miner to pick up the resubmitted transaction, which causes the original transaction to get dropped due to its duplicate nonce. You can also try to cancel your transaction by clicking the ‘Cancel’ button. Keep reading for details on how that works.

Cancelling a stuck transaction using MyCrypto

As previously mentioned, Ethereum processes your transactions in order of nonce. No two transactions can have the same nonce. If they do, the transaction with the higher gas price will usually be confirmed, and the other transaction will be rejected.

You can use this to your advantage to try to cancel your stuck transaction. The idea is this: you send a 0.00 ETH transaction to yourself using the same nonce as your stuck transaction, the 0.00 ETH transaction gets mined first; and your stuck transaction gets dropped because of the duplicate nonce.

Here’s how to do this using MyCrypto:

Follow this link to the MyCrypto’s Offline Transaction page. Enter your Ethereum address into the ‘From Address’ field and click generate information (this will provide you with the nonce that we’ll need for the next step) In Step 2, enter the same Ethereum address into ‘To Address’ and 0 into ‘Value / Amount to Send.’ Set the Gas Price to the wei equivalent of the the fast price you see at the top of EthGasStation (EthGasStation lists gas prices in gwei, so make sure you do the conversion. That is, if EGS’s gas price is ‘1,’ you’ll want to enter 1000000000, which is the wei equivalent). Enter the ‘Nonce’ of the pending (stuck) transaction (remember the nonce we generated earlier? In most cases, you subtract 1 from that nonce to get the nonce of your stuck transaction. Otherwise, you can find the nonce of your stuck transaction by clicking the little “View on Etherscan” arrow on your transaction in MetaMask). Scroll down a bit and follow the prompts to unlock your wallet. Once you unlock your wallet, click ‘Generate Transaction’. If the text box in ‘Step 3’ didn’t auto-fill with the signed transaction you generated in the last step, copy and paste that text into here. Then, click ‘Send Transaction’

If everything goes according to plan, the miners will pick up your new transaction before your stuck one. If that happens, the stuck transaction should be rejected. But you should be aware that you’ll still pay the gas fees associated with the rejected transaction.

You can use this same method to manually speed up a transaction. However, we don’t recommend trying it unless you know what you are doing.

Results not guaranteed

Please realize that this method may not work all the time. A miner may include your original (stuck) transaction in a block before despite your efforts depending on gas-price fluctuations and network congestion.

That’s why it’s always a good idea to check the safe low gas price before you send a transaction; that’s your best bet to avoid transactions getting stuck in the first place.

We hope this guide helps you better understand why you encounter those pesky pending transactions and how to deal with them.