In most cases cryptocurrency transactions are associated with miner fees. Sometimes while making a transfer, you set the fee too low and the transaction is not being added to the block for a long time. What can be done in such a situation? Is there any way to speed up the transaction?
Let’s start by figuring out why you have to pay the fee in the first place.
Miners charge a fee for processing transactions. When the miner finds a new block, he includes all the transaction-related information as well as the fees. This way the user who finds a block will receive both block reward and all the fees included in this very block.
From a user’s standpoint, it is voluntary to include the fee in a transaction. However, it is the miner’s choice whether to include certain transactions into the block or not. It is important to note that the higher the fee, the faster the transaction will be added to the block.
Let’s use bitcoin and ethereum blockchains as an example to find out what can be done with a “stuck” transaction. Note that all of the following actions are only possible with the unconfirmed transactions.
There are two ways to speed up an unconfirmed transaction:
- Fee Replacement (RBF).
- Double Spending (by using a higher fee).
RBF (replace-by-fee) is a transaction that was marked as replaceable one during its creation. Such transactions allow you to increase fees directly in your wallet’s interface. While using e.g. Bitcoin Core you should open a transactions tab, find the stuck transaction, right-click on it and select “Increase Transaction Fee”. The wallet itself will create a new transaction while applying an increased fee. The inputs and outputs will remain the same, and the nodes will receive updated information and replace the former transaction with the new one in their mempool.
The double spending instruction is a bit more complicated.
First you need to launch the wallet using -zapwallettxes parameter. Once launched, all unconfirmed transactions will be hidden (note that they are still in the mempool!). For Bitcoin Core 0.14 and higher you should delete the mempool.dat file before starting.
Now you may adjust the fee and create a new transaction. However, your former transaction is still online and may get confirmed unexpectedly. If you would like to avoid this scenario, the new transaction you create must have at least one of the new inputs matching some of the former ones. In order to ensure this, you should visit any block explorer website, e.g. blockchair.com or btc.com and find the “Inputs” column, memorize (or note down) the exact size of the bitcoin input. After that, when you create a transaction in your wallet click on the “Inputs …” button, find exactly the same value in the list and choose the one (if there are more than one entries, choose the input with the same receiving address and the same transaction time). Then add more inputs so that their total sum is the same as (or greater than) the sum of the transaction with the adjusted fee. After that fill in all the necessary fields. Finally, set the fee and broadcast the transaction.
If you use a mobile bitcoin wallet, you can execute the double spending procedure via the service called txid.io. However, you should not disregard the risks of sharing your unencrypted private key.
It should be noted that one may not guarantee 100% cancellation of unconfirmed transactions in the bitcoin network.
When it comes to the Ethereum network, things are getting much simpler. If you’ve set the fee that’s too low, you should:
- Open etherscan.io website and check the value in the nonce field.
- Open myetherwallet.com, log in to your wallet and click on the “Send offline” tab.
- Fill up all necessary fields, but specify the value sent Ethereum 0, take the value of nonce from point 1 above.
- Set the required value of gas. Relevant fees can be found at ethgasstation.info.
- If everything is done correctly, your transaction will be cancelled and you may create the new one and adjust the fee.
Using MetaMask you can cancel your transaction and accelerate it with a press of a button. To do so, go to the list of transactions, select the necessary one, click “Cancel” or “Speed up” and simply follow further instructions.
Though it is possible to change the fee after the transaction was broadcasted, we recommend avoiding additional manipulations with transaction cancellation or acceleration. To do so, apart from checking the receiving address and the amount of coins to be sent, one should check the amount of miner fees before broadcasting the transaction. If the fee is set too low, don’t give up, simply follow the instructions above and speed up the transaction.
It is also worth noting that if you are the recipient of a cryptocurrency payment (be it in exchange for goods, services or other cryptocurrency), we recommend to always wait for an online confirmation of the transaction.
Published at Tue, 24 Mar 2020 10:18:28 +0000