Since miners collect gas fees paid by the sender, they usually look for transactions with the highest gas price to approve first. That is why lower gas price transactions take longer to process. In a pool of many transactions, some transactions with the lowest gas prices never get picked up - miners are not willing to process them. It results in them getting “stuck” in a pending status.
Pending transactions can also appear on your wallet, but upon checking the details it does not show anything on the blockchain explorer 2.0k (See image below).
For cases like these, you would need to Re-Import 2.5k you wallet.
What can I do if my transaction is stuck?
Option 1: Wait for it (recommended)
If you are not in a hurry, then you can just let the transaction go through on its own. Eventually, the network will be less congested and miners will pickup your transaction. The only downside is that there is no specific timeframe on how long the network will be less congested or when the miners decide to process the transaction.
You can tap on More Details to see the actual progress of the transaction. Do not send the same transaction over and over again, as this might cause errors or loss of funds.
Option 2: Cancel the transaction
In order to cancel a transaction, you need to do the following. Click on the pending transaction and find a field called nonce on the screen. Record the value in that field (a number).
Start a new transaction. In the “Recipient address” put your own public wallet address (the same one you are sending the transaction from). For the “Amount” put in 0 ETH.
On the next screen, click the “gear” icon in the top right corner, scroll down and replace the nonce value with the value recorded earlier. Set a high gas price. Confirm the transaction.
This process will create a new transaction that will override the pending transaction and cancel it out.
Option 3: Recreate or resend the transaction
This is a bit more complex than just cancelling a transaction. Proceed at your own risk.
The order of processing of transactions is determined by the value called “nonce”. If you want to resend the transaction that is “stuck”, you need to determine its nonce value and create a new transaction with the same nonce value.
First, look for the oldest pending transaction. Tap on the pending transaction to get an overview of it. You will find in this screen the Nonce value. Take note of the number as this will be used later.
Next, create a new transaction (with your original “Recipient address” and amount). On the confirmation screen click the “gear” icon in the top right corner, scroll down and replace the nonce value on the screen with the value recorded earlier. Set a high gas price. Confirm the transaction.
If the transaction you are trying to speed up is a smart contract transaction like for a token send or swap, you need to make sure that the Transaction Data field is properly filled up.