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.
What can I do while my transaction is stuck (pending)?
Option 1 (Recommended): Wait for it
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.
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.
For a more detailed guide on canceling transactions, click here.
Option 3: Resend or recreate the transaction
Note: this is riskier than canceling 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.