[Ethereum] Can’t send a new transaction with a lower nonce while the previous one is still pending

feesgasmetamaskpending-transactionstransactions

Several days ago I sent a transcaction via MetaMask, to a different account of mine, with a gas fee of 30 gwei. It's still pending due to a fee being too low. A transaction contains all Eth in an account. A day later I pressed "cancel", the button then disappeared but nothing changed.

My balance is still the same.

I want to either cancel it or have it proceed. I can't increase gas fee because the amount sent is precisely "all of Eth in that account – 30 gwei".

The 1st transaction has the nonce 9. I tried to send 2 other transactions with the nonce 8, from the same account and to the same other destination account of mine, but they both failed. Merely "failed". Reason – no idea, and there was no error message anywhere.

How to make it proceed or cancel? Or should I let it be pending because my balance still remains the same? Can I use the same account to send Eth to yet other addresses with no issue?

And also, why did the 2 other transactions with the nonce 8 failed?

Best Answer

If your current account nonce is 9, all the future transactions sent with nonce < 9 will be automatically rejected by the network. Transactions with nonce > 9 will be kept, "set apart" by the miners and exploited once the nonce gap is completed.

To solve your problem you have to ensure a transaction with nonce = 9 get mined. You can either wait for the gas price to go down or send a new transaction with the same nonce and a higher gas price. Metamask allows you to do this in several ways :

  • There is a button "speed up" in the details of the pending transaction. By clicking on it, Metamask will re-submit the transaction with a much higher gas price.
  • Metamask allows to send transactions with custom nonce. You could therefore send a transaction with the same nonce used for the pending one and allocate higher fees to match the current average gas price (see here https://ethgasstation.info/).

For both options you'll need a small amount of ETH in your wallet to pay the fees.

You can find more informations in this Metamask tuto : https://metamask.zendesk.com/hc/en-us/articles/360015489251-How-to-Speed-Up-or-Cancel-a-Pending-Transaction.