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,

  1. Search for your own address on https://etherscan.io
  2. If the unconfirmed transaction is listed there, 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 (if you see the nonce is "7", note the number "8")
  3. Go to your Coinomi Ethereum wallet which you sent the unconfirmed transaction from. In the send tab, press "advanced settings". Make sure that Gas Price is set to 0.00000002 or higher. Then, enter the nonce that you found in the previous step. 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, it will not accept a nonce that has been used in a previously confirmed transaction, and can't skip nonces.
  4. Send the transaction. This will replace your pending transaction once it confirms on the blockchain.


You can accelerate an unconfirmed Bitcoin transaction that you sent from Coinomi. To do so:

  1. Go to https://viabtc.com/tools/txaccelerator/ or https://pushtx.btc.com/
  2. 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 implementing them for a future release:


  • 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 - Replace-by-fee attempts to address the problem by changing the fundamental rule for accepting and keeping transactions, the "first-seen" rule. In this system, a transaction with higher fees can spend already spent inputs (that have not yet been confirmed in a block), and will replace that transaction in the memory pool. The benefit of this system is that it changes the fundamental transaction selection rule but does not require changes to the way fees are calculated. The downside is that this represents a significant shift in terms of expected memory pool behavior.


  • First-Seen-Safe Replace-By-Fee - FSS RBF attempts to make RBF compatible with first-seen memory pool implementations by requiring that the outputs from the original transaction be maintained by subsequent respends. The benefits are that in some situations, first-seen behavior can be relied upon.


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, our 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 following.