Fixing Replacement Transaction Underpriced
I encountered a replacement transaction underpriced error when I tried to cancel my transaction in Coinbase Wallet.
How do you fix Replacement Transaction Underpriced? To replace or cancel your earlier transactions, you must set the gas price at least 10% higher than the gas price of the pending transaction (not the current gas fee). Keep increasing if you do not know the previous fee. If you do not know what is happening, you might have set your nonce wrongly to the nonce of a pending transaction.
Story short to resolve your problem: You just increase the fees so that your UI (e.g. Coinbase Wallet) will accept your transaction if you are unsure of the previous gas fees in the pending transactions. As long as you do not set a crazy fee (i.e. 2x current fees), do not worry too much about the amount as that is the maximum gas fee you will pay.
To make sense, you must make sure the gas fees you are going are lower than the gas fees of your pending transactions. I had 2 NFT purchase pending transactions which makes sense (since gas fees are for an NFT transaction are higher than a simple transaction).
For a noob like me, not all transactions charge the same amount of fees. If you checked https://etherscan.io/gastracker, you will find the ERC20 token transfer is lower fees than any Uniswap transactions.
Some websites like https://matcha.xyz/, aimed to create a win-win by lowering your fees by aggregating many transactions into 1 and even coming up with gasless trading.
- What does replacement transaction underpriced mean?
A replacement transaction meant a transaction you created to overwrite your pending transactions was unable to be created due to the lower than expected gas or network fees.
My story if you are interested: I customized my gas fees lower than recommended "slow" and ended up with a pending transaction that will fail eventually after 1 hour of waiting. The transaction was to buy an NFT in OpenSea and it got purchased by others in the hour of waiting.
The bad news is that I created a 2nd transaction that will fail too due to the delay. In summary, I got 2 pending transactions that will fail and incur 2x gas fees.
My choices are
- Wait for the 2 transactions to through when gas fees dip (but in the meantime I cannot do any new transactions in the wallet); or
- I replace the pending transactions by sending 0 Eth or some cheap transaction (I went to Uniswap to approve a transaction to trade some token since I wanted to do that eventually)
I waited for 1 hour already and the fees don't seem to be dropping. Some NFT drops seem to cause my fees to spike 5x higher than normal. Crazy to imagine people wanting to pay fees at 1000 or 2000 gwei but it did happen.
Since I got nothing to lose, I decided to learn how to cancel my transactions and learned that you need to send 0 Eth.
- How do you send 0 Eth?
As silly as it sounds, people recommend sending 0 Eth to cancel your pending transactions. You can just put any random address and send 0 Eth and it will trigger approval in your app. You can then update the Nonce to the same as your pending transaction and keep increasing the gas fees to overwrite your pending transactions.
The idea of paying a fee for a pointless transaction seems silly. Instead of 0 Eth, I decide to go Uniswap and approve a transaction to use my token that I intended to swap eventually.
I just set the Nonce to the same as the pending transaction. Don't worry if you choose wrongly as I try one below the pending transaction and Coinbase Wallet told me it is not possible. You can find the Nonce in the Etherscan.
Without the gas fee is much higher (i.e. 10% higher) than the pending transactions, it will just create a pointless transaction that will not be mined. Without the replacement of the pending transactions, you will be unable to create a new transaction until the pending transactions are confirmed (i.e. via a drop in gas fee for miners to mine your transactions.
As logical as the error sound, it was silly that a user will have to know what to do in such a tricky situation. Coinbase Wallet also liked to use the term network fees which might confuse people in the difference. The problem is also how gas fees are calculated. If you
I guessed that is the problem in Web3 that needs to be resolved to be more usable by the larger community.
Sky Hoon. Read Full Bio
Website Owner, Twitter-er
He has been trading since 2008. He started this blog to share the journey about option trading. He dabbled in stocks, bitcoin, ethereum (in Celsius Network), ETF (lazy Dollar Cost Averaging) and also built websites for fun. He used this as a platform to share my experiences and mistakes in trading, especially options which I just picked up.