Confirmed transactions are irreversible. This is the nature of all blockchains.
If your transaction is unconfirmed, we cannot cancel it. It will eventually be confirmed by the miners of the network or rejected and the funds will automatically be returned to your address. However you may have some options:
You can replace an unconfirmed Ethereum transaction that you sent from Coinomi. To do so,
- Open https://etherscan.io and use the search bar at the top to search for your own Ethereum address.
- Scroll down and look at the list of transactions. If you want to cancel a token transaction, select the tab "ERC20 token txns".
- If you can find the unconfirmed transaction on the list, open it and note its "nonce" value.
If the unconfirmed transaction isn't listed, open the last outgoing transaction that is confirmed. Look at its "nonce" value and add 1 to it (for example, if you see the nonce is "7", note the number "8"). If you have no confirmed outgoing ETH nor token transactions, use the value 0 (zero).
- Go to your Coinomi Ethereum wallet which you sent the unconfirmed transaction from. In the send tab, press "advanced settings".
- Set a gas price higher than the transaction you want to replace (the default for Coinomi is 0.00000002). See Gas price suggestions here: http://ethgasstation.info (note: 1 Gwei = 0.000000001 ETH)
- Enter the nonce that you found on step 2. Remember that the nonce needs to be the same number as your first pending transaction (one unit higher than the last confirmed txn). The ether network confirms nonces in ascending order starting from zero, it will not accept a nonce that has been used in a previously confirmed transaction, and can't skip nonces.
- Send the transaction. This will replace your pending transaction with the same nonce. If you want to cancel the transaction, use your own address as the destination, so the coins go back to yourself.
You can accelerate an unconfirmed Bitcoin transaction that you sent from Coinomi. To do so:
- Go to https://viabtc.com/tools/txaccelerator/ or https://pushtx.btc.com/
- Enter your Transaction ID and the Captcha
Note: To be eligible for the free acceleration on viabtc, your transaction must have been sent with a minimum fee of 0.0001BTC/KB or 10sat/byte
The following workarounds also exist, but not natively available in Coinomi. We are hard at work in bringing new features on future releases:
- Child-Pays-For-Parent: The Child-Pays-For-Parent approach is a change on how miners optimize transactions they select to go into a block. This allows you to spend coins from a transaction that is still unconfirmed. By setting the fees high enough the fees of the "child" transaction can compensate for the "parent's" fees that were too low.
- Replace-By-Fee: In this system, a transaction with higher fees can replace an unconfirmed transaction by spending the same inputs and defining different outputs.
- First-Seen-Safe Replace-By-Fee: this requires that the outputs from the original transaction be maintained by subsequent respends, and only the fees are increased.
Those are not new, as they have been part of the public debate for some time now. None of them are without their issues and disadvantages, and none of them can by definition, be free.
If you have waited weeks for a transaction to confirm and it has not, servers may be rebroadcasting the transaction with low fees. You should not worry because your funds will eventually be returned to the sending address or confirmed, however it is important to know that you can do the above.