Confirmed transactions are irreversible. This is the nature of all blockchains.


If your transaction is unconfirmed, we cannot cancel it on our side. It will eventually be confirmed by the miners of the network or rejected if it's not confirmed after a long period of time, and the funds will automatically be returned to your address. 


However, you have some options you can perform yourself:


ETHEREUM


You can replace an unconfirmed Ethereum transaction that you sent from Coinomi with a higher fee, so that it confirms, or you can cancel it altogether, so that the funds return to your wallet. 


Note: In Ethereum, transactions must confirm IN ORDER. That means that if you have many pending transactions, you must start by canceling or replacing the OLDEST one first.


To do so,

  1. Open https://etherscan.io and use the search bar at the top to search for your own Ethereum address.

  2. Scroll down and look at the list of transactions

  3. Find the "nonce" value of the transaction that you want to replace
    • If you can find the unconfirmed transaction on the list, open it, press the button "click to see more" to expand the details of the transaction and note its "nonce" value. The number 6 on the image below is just an example.
      Then proceed to step 4 below

    • If the unconfirmed transaction isn't listed on Etherscan, open the last outgoing transaction that is confirmed (check both the regular as well as token transactions). Look at its "nonce" value and add 1 to it (for example, if you see the highest confirmed outgoing nonce is "7", note the number "8"). If you have no confirmed outgoing ETH nor token transactions, use the value 0 (zero).

  4. Go to your Coinomi Ethereum wallet from which you sent the unconfirmed transaction.
    • TO REPLACE A TRANSACTION: Go to the "send" section and enter the same destination address and same value as the unconfirmed transaction that you are replacing.
    • TO CANCEL A TRANSACTION: Go to the "receive" section and copy your own address. Then go to the "send" section, and send 0 ETH (you have to type the number 0 in the amount field) to your own Coinomi Ethereum address that you copied before.

  5. Before you click "Next", click on the "advanced settings" and enter the nonce number that you found on step 4 at the "nonce" field. Touch NOTHING ELSE from the advanced settings. The number 6 on the image below is just an example.

  6. Continue to the confirmation screen. You will see 4 options: Select the "High" (Priority) fee option and send your transaction normally.

  7. After the new transaction confirms, at the top right corner of your ETH wallet select "... / Resynchronize" once to force a refresh of your transactions and clear the replaced ones.

  8. You're done. This new transaction will replace your pending transaction with the same nonce. On the block explorer canceled transactions have a status of "Dropped and Replaced" as in the image below


BITCOIN


There are a number of services that claim to accelerate confirmations of BTC transactions. Some are free, some are paid, for example:

Coinomi is not in any way affiliated with those services and cannot guarantee their efficacy. You can search for a trusted service that works best for you.


The following workarounds also exist, but not all are available in Coinomi. We are hard at work in bringing new features on future releases. The first one is available right now in Coinomi:


  • 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. To do this you must first check your outgoing transaction on the blockchain explorer to see if you have a second output for your transaction (one sending to the address you entered, and a second which is a 'change' address) , if you do then you can complete the steps below;

    1. Copy your Coinomi BTC receive address
    2. Paste the address in the send screen
    3. Select "use all funds"
    4. Continue and select HIGH fee
    5. Send and wait for the transaction to confirm

    *this method only works in Coinomi if the transaction has a "change" output being spent in the above transaction. Creating a new transaction which does not include the change output will not work


  • 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.


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 have the above options for Bitcoin and Ethereum transactions.