How can I cancel or replace an ETH transaction after it’s been sent to the blockchain and it is still pending?

Modified on Mon, 07 Sep 2020 at 12:05 PM

!THIS IS AN ADVANCED TOPIC!

!BE SURE TO UNDERSTAND WHAT YOU ARE DOING AND CAREFULLY FOLLOW THE MANUAL!


This is only doable on transactions that are still pending, you can't do that with a transaction that was already successfully confirmed (mined).


The Ethereum blockchain can sometimes become very congested and if you did not use high enough gas your transaction might be pending for hours or even days. In such case you can try to cancel or replace the transaction.


The easiest way to do this is by sending a 0 ETH transaction to your own address with the same nonce and a higher gas price. This will cancel out your first transaction.


You will be able to do that via the MyEtherWallet.com portal that supports BC Vault Hardware Wallet (See: BC Vault is supported on MyEtherWallet.com portal).


1. Identifying the transaction to be canceled/replaced

  1. Find a pending ETH transaction (marked with red circle arrow icon) you want to cancel/replace in the BC Vault Application transaction list:
  2. Click on the transaction to see the details and notice the transaction has the status "Pending", click on "Transaction ID" to copy it, you will need it down below:

2. Choose if you want to CANCEL or REPLACE the transaction

  1. Canceling: This is when you want to "undo" your transaction. You don’t want it to go through, so you generate a 0 ETH transaction to your own address with the purpose of preventing a previous transaction from “going through” / “being mined” / being included in the blockchain.
  2. Replacing: This is when you want your same transaction to go through faster, or you want to replace it with another transaction. You generate a XX ETH transaction to someone else’s address with the purpose of doing something (i.e. sending funds, revealing an ENS bid, etc.) while simultaneously canceling previous transaction.


3. CANCELING the transaction

  1. Open new browser window and head to Ethereum blockchain explorer - etherscan.io.
  2. In the top right search field paste in the "Transaction ID" from your pending transaction:
  3. You will now see all the details about your pending transaction on the Ethereum blockchain. Make sure the status is still "Pending", click on "Click to see More" to fully expand all the details and take a note of the field "Nonce":
  4. Open a new browser window and head to MyEtherWallet.com and connect it to BC Vault via this instructions - BC Vault is supported on MyEtherWallet.com portal. Select the correct ETH wallet that has transaction pending in the process.
  5. Once the wallet is connected go to the left-side menu, click "Send", then choose "Send offline":
  6. Send a transaction to yourself (copy your ETH wallet address) with a balance of 0 ETH and a higher gas price that you use din original transaction (suggestion: use Fast or even Trader recommendation from ethgasstation.info - this will of course result in higher transaction cost) and use the same Nonce you noted from step c and click on "Generate Transaction":
  7. Confirm the transaction on the BC Vault Device (check that details on the device match with what you entered on the "Send Offline" dialog above).
  8. You will now get a signed transaction, copy the "Signed transaction", which is a long string that begins with "0x":
  9. Now close out of this pop-up and scroll down to MyEtherWallet page footer. Select "Send Offline Helper":
  10. Head to section 3 "Signed Transaction" and paste the string from step g and click on "Continue":
  11. On section 4 you will now see the new transaction details (including estimated new Fee), click on "Send" to send the new prepared transaction to the Ethereum blockchain:
  12. A new transaction hash will appear. Search it on the blockchain explorer of your choice and see if it posts as successful (If it doesn’t show up immediately, try refreshing in a few minutes):
  13. Once the transaction is propagated on the Ethereum blockchain, you will see the full details:
  14. Now you can copy this new transaction ID (Hash) to to Ethereum blockchain explorer - etherscan.io and wait for the confirmation to happen (you will also see this new transaction in the BC Vault Application):
  15. Once this new transaction status changes to "Success", this will ensure that the original transaction will not be executed at all (it will still be pending though, that is normal).

4. REPLACING the transaction

  1. Follow the above steps for CANCELING the transaction with following additional changes:
    • Fill the "To Address" field with whatever address you wish to send to.
    • Change the "Amount" from 0 to the amount of ETH you wish to send, and change the nonce to the same nonce as the pending transaction.
    • If you are sending a standard ETH transaction, you can use 21000 for the gas limit. If sending tokens, raise it to around 150000.
  2. Once this new transaction status changes to "Success", this will ensure that the original transaction will not be executed at all (it will still be pending though, that is normal).

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article