You sent ETH an hour ago, the wallet still says “pending,” and the block explorer shows nothing new. Is the money lost? Usually not. An Ethereum transaction stays pending until a validator includes it in a block, and the two common reasons it waits are a fee offer that is too low for current demand and an earlier transaction from the same account that has not gone through yet.
What “pending” means on Ethereum
A signed transaction is broadcast to the network and waits in node transaction pools until a validator picks it for a block. The ethereum.org transactions guide lists what every transaction carries, including two fields that decide its fate while it waits:
- nonce, “a sequentially incrementing counter which indicates the transaction number from the account”
- maxFeePerGas and maxPriorityFeePerGas, the most the sender will pay per unit of gas in total and as a tip to the validator
Until the transaction is in a block, nothing has moved. The balance has not left the account, and no fee has been charged.
Reason one: the fee offer is too low
Ethereum’s fee has two parts. The ethereum.org gas guide explains that every block has a base fee set by the protocol, which “acts as a reserve price,” and that a transaction’s offered price “must at least equal the base fee” to be eligible. The priority fee is a tip on top that makes a transaction attractive to validators. A transaction that pays only the base fee is “technically valid but unlikely to be included.”
The base fee moves with demand. It can rise or fall by up to 12.5% per block depending on how full the previous block was. A transaction signed when fees were low can therefore fall behind if the base fee climbs above its maxFeePerGas. It stays valid, but it is not eligible for inclusion until the base fee comes back down.
Reason two: an earlier transaction is stuck
Nonces must be used in order. If transaction number 9 from an account is waiting, transaction number 10 cannot be included before it, whatever fee it offers. MetaMask’s help article on replacing a pending transaction calls this one of the most common reasons a replacement fails: you must resolve the oldest pending transaction first, identified by the smallest nonce.
| What you see | Likely cause | What to check |
|---|---|---|
| Pending, explorer shows the transaction | Fee below current demand | Its max fee against the current base fee |
| Pending, explorer shows nothing | Not broadcast, or dropped by nodes | Whether the wallet’s network and node are working |
| Several pending, newest will not confirm | An older nonce is stuck | The lowest pending nonce on the account |
| Confirmed but “failed” | Included, then reverted | The receipt status; see below |
How to speed up or cancel a pending transaction
Both actions work the same way: send a new transaction with the same nonce and a higher fee, so validators prefer it over the original. Because a nonce can be used only once, whichever version is included first makes the other invalid.
MetaMask’s guide describes the two options. Speed up resubmits the same transaction with a higher fee; since it reuses the nonce, “you do not need to pay for gas twice.” Cancel replaces it with a transaction to your own address, which can carry 0 ETH, using the same nonce. For a manual replacement, MetaMask advises raising the priority fee by at least 10% and the max fee by at least 30% over the original.
The 10% figure matches the default in Geth, the Go Ethereum execution client. Its command-line reference lists --txpool.pricebump with a default of 10, the “price bump percentage to replace an already existing transaction.” A replacement that does not clear the bump a node requires is not accepted by that node.
Two limits apply. A cancellation can only be attempted while the original is still pending; MetaMask notes that “transactions that have already been confirmed cannot be reversed.” And a cancel is a race, not a guarantee: if the original is included first, the cancel fails instead.
Pending is not the same as failed
Once a transaction is in a block it is no longer pending, but that does not mean it did what you wanted. A contract call can be included and still revert. Its receipt then records a failure status, and the gas used is still charged. Our guide to Ethereum transaction receipt status explains how to read that result. For the costs around moving money on-chain more broadly, see the real cost of moving money on-chain.
Reporting & Sources
ethereum.org: transactions; ethereum.org: gas and fees; MetaMask: how to speed up or cancel a pending transaction; MetaMask: why can’t I replace a pending transaction?; Geth command-line options. All reviewed October 10, 2026. Wallet steps are MetaMask’s documented behavior; other wallets may differ. Not investment advice.





