The Ethereum network can have its moments of congestion, causing transactions to remain unconfirmed for long periods of time. If you don't change any settings, new transactions you send will do little to speed up confirmations, and will be placed at the end of your queue needing wait for all previous ones to confirm.
This tutorial will show you how to properly replace or cancel an unconfirmed transaction on the Ethereum network, allowing it to confirm faster. You can replace pure ETH transactions, as well as tokens or DeFi operations.
- In Koala Wallet, open the details of the unconfirmed transaction
- Note the transaction's "Nonce" value
- Start a new ETH or Ethereum token transaction
- You can set any destination address and amount you want. All values set here will overwrite the pending transaction. You can send 0 ETH to to your own address for example if you no longer want the transaction to send anything anywhere.
- Expand the "Advanced Settings" menu
- Set the nonce value to the one noted on step 2. Do not change the gas limit.
- Send using a higher gas price than the transaction you're trying to replace
- The transaction with highest gas price will confirm first, and all others with the same nonce will become invalid, showing as "Replaced"
Multiple unconfirmed transactions
In Ethereum, transactions must confirm in ascending order of nonce value. The default behavior of Koala Wallet is to automatically increment the nonce of new transactions every time one is sent. If you have multiple pending transactions, the ones with higher nonce values will remain pending until all lower nonces have confirmed. You can read more about the advanced settings here.
Blockchain immutability and security
By definition, unconfirmed transactions are not yet on the blockchain. Being able to alter an unconfirmed transaction does not change or break the immutability of blockchains. The process described above is not 100% guaranteed to work if not done fast enough, and will definitely not work after a transaction confirms.
It's also only possible to replace transactions that you sent yourself. You cannot replace transactions sent by other people.