What is a Pending Transaction?
A pending transaction is one that has been broadcast to the network but not yet confirmed (included in a block). It sits in the mempool — a waiting area for unconfirmed transactions — until a validator/miner includes it in a block.
A transaction can be pending for seconds (normal), minutes (congested network), or hours/days (very low gas price or stuck nonce).
Why Transactions Get Stuck
Low Gas Price
If your gas price is too low relative to network demand, validators prioritize higher-paying transactions. Yours waits in the mempool.
Nonce Blocking
If an earlier transaction (lower nonce) is stuck, all subsequent transactions wait — even if they have high gas prices. Nonces must execute in order.
Network Congestion
During gas wars, the mempool fills with thousands of transactions. Even reasonably priced transactions may wait many blocks.
Gas Limit Too High or Too Low
If the gas limit is set below what the transaction requires, it will fail (revert) after being included. If set too high, it may not be an issue (unused gas is refunded).
How to Fix a Stuck Transaction
Method 1: Speed Up (Replace)
Send a new transaction with the same nonce but a higher gas price. Most wallets (MetaMask) have a “Speed Up” button that does this automatically. The higher gas price incentivizes validators to include the replacement instead of the original.
Method 2: Cancel
Send a new transaction with the same nonce, sending 0 ETH to yourself with a high gas price. This effectively cancels the original transaction (the replacement overwrites it).
Method 3: Wait
If you’re not in a hurry, simply wait. When network congestion drops, your transaction will likely confirm. However, some wallets/mempools may drop very old pending transactions after ~1 hour.
Method 4: Fill Nonce Gap
If a transaction is stuck because of a missing nonce, send a transaction with the missing nonce (even a small self-transfer) to unblock the queue.
Monitoring Pending Transactions
| Tool | What It Shows |
|---|---|
| Etherscan | Transaction status, pending queue position |
| MemPool.space | Real-time mempool visualization (BTC) |
| Blocknative | Pending transaction monitoring |
| MetaMask | Pending transaction status + speed up / cancel |
Frequently Asked Questions
Q: How long should I wait before worrying about a pending transaction? A: If your gas price is reasonable for current conditions, most transactions confirm within 1-5 minutes (1-3 blocks). If it’s been 15+ minutes, consider speeding up. If it’s been hours, your gas price is likely too low.
Q: Can a pending transaction be stolen or front-run? A: While the transaction is pending, anyone can see its details in the mempool. MEV bots may front-run or sandwich your transaction. Using a private RPC (like Flashbots Protect) hides your transaction from the public mempool.
Q: Will my pending transaction eventually expire? A: It depends. Ethereum doesn’t have a protocol-level expiry for pending transactions. However, individual nodes may drop transactions from their mempool after some time (typically 1-3 hours). If enough nodes drop it, it effectively expires. Some wallets let you set an expiry block.