Pending transactions are those that haven’t yet been processed by the Avalanche network. You can speed up pending transactions by replacing them with a new transaction with a higher fee.
Table of contents
Why is my Avalanche transaction pending?
Transactions in Avalanche will be pending (not confirmed) when either (1) you haven't paid a high enough transaction fee, or (2) other previously submitted transactions from the same wallet are pending.
Regarding (1) fees, the Avalanche network has limited capacity to process transactions. In order to ensure fair access to that limited space, Avalanche adopts a market solution. This means that transactions that include higher fees are the first ones to be processed by validators. If the fee you attached to your submitted transaction is too low and network congestion remains high, there's a chance your transaction will stay pending.
As for (2) transaction sequence, Avalanche is designed such that transactions can only be processed in the order they were submitted. This means that, as long as a previously submitted transaction remains pending (for whatever reason), even if you submit another transaction with a higher fee, that transaction can't go through until your previously submitted transaction is successfully processed.
If your transaction status is listed as pending for significantly longer than a couple of minutes, the most likely explanation is that the market rate for gas increased suddenly at the moment you submitted the transaction. This means that the fee you attached to your transaction is no longer sufficient to attract validators. When your transaction is pending, you have three options:
Wait longer. In most cases, your transaction will confirm within a few hours at most. If you're in a rush, or if after a day, your transaction still hasn't confirmed, you can:
Resubmit the same transaction with a higher fee, or:
Cancel the current transaction.
For (2) and (3), please see below:
How to override or cancel a pending Avalanche transaction
If your transaction is stuck on 'pending,' you can manually resubmit that transaction to the Avalanche network. When you do so, you're effectively replacing your previously submitted transaction with a new transaction. For your new transaction, you're free to change the transaction details however you'd like. You can set a new gas price, change the send amount, and change who you're sending to. While it's technically impossible to initiate a transaction cancellation, if you resubmit a transaction and change the send amount to 0.000000001 AVAX, you're achieving effectively the same thing as a transaction cancelation.
When you resubmit a transaction, what you're actually doing is replacing your previously submitted transaction. Assuming the gas price for your new transaction is high enough - and assuming the transaction you're resubmitting is the 'first in line for your wallet - the transaction will get picked up by a validator and the transaction it replaces will disappear forever.
IMPORTANT: transactions can only be processed in the order they were submitted. This means that no matter what gas price you choose for subsequent transactions, you'll have to wait until your previously submitted transactions are first picked up and processed by validators.
Here's the process for overriding and/or canceling pending Avalanche transactions:
From the app's home screen, tap on the wallet for the transaction you want to resubmit (eg. My AVAX Wallet). This will bring up that wallet's transaction history.
Tap on the transaction you want to resubmit or cancel.
Tap "View transaction on the block explorer." This will take you to https://snowtrace.io/, where you'll see the complete details for your transaction.
Tap on "Click to see more."
Take note of the 'nonce.'
The nonce value denotes the position of this transaction in the sequential order of transactions submitted by your wallet. The first transaction created by a wallet will have a nonce of 0. The second will have nonce of 1, and so on. Remember, transactions can only be processed in the order they were submitted, so if you have a pending transaction with a lower nonce, only when that transaction is confirmed will the network consider your next transaction.
6. Next, in the app, initiate a new Avalanche transaction.
7. At the send screen, tap on Settings > "Custom Nonce":
8. Enter the nonce value of the transaction you want to resubmit. If the pending transaction you want to replace has a nonce of 1, you should set the custom nonce to 1 here.
9. Resubmit the transaction, but this time increase the gas price. Be sure to set your new gas price so that, given the current market rate, your transaction will confirm within a reasonable amount of time. You can check gas rates using https://snowtrace.io/gastracker. If you'd like to "cancel" the transaction, the easiest way to do so is to set the send amount to 0.000000001 AVAX and increase the gas price.
How to set a customized gas price
On the "Enter send amount" screen, tap on the "Network fee" icon at the bottom-left
Select "Advanced fee options." You'll then be prompted to enter your precise desired gas price for your transaction.