Ethereum10 min read
Ethereum transaction pending? How to speed up or cancel
Why a transaction sits in the mempool, why one stuck nonce holds up everything behind it, and what speed up and cancel really send, in any wallet.
An Ethereum transaction stays pending until a block includes it. If that takes more than a minute or two, there are three usual causes: its max fee is below the current base fee, an earlier transaction from the same address is stuck, or nodes have dropped it. The fix is the same in every wallet: replace it with a transaction that uses the same nonce and pays fees at least 10% higher, and above the base fee. "Speed up" resends the same payment that way, and "cancel" sends 0 ETH to your own address. Only one transaction per nonce can ever confirm.
Why is my Ethereum transaction pending?
Ethereum has a block slot every 12 seconds, so a well-priced transaction usually lands within a few blocks. If yours has been pending for minutes, check these causes.
- Its max fee is below the base fee. Under EIP-1559 a block can include a transaction only if its max fee per gas is at least that block's base fee. The base fee rises by up to 12.5% per block when demand is high, so the transaction waits until it falls back. A low priority fee has a similar effect when blocks are full.
- An earlier nonce is stuck or missing. Transactions from one address confirm strictly in order, so everything behind a stuck one waits, whatever it pays.
- It was dropped. Each node keeps its own pool, with limits. By default Geth holds up to 5,120 executable transactions, evicts the lowest payers when full, and drops queued transactions that cannot execute after 3 hours. A dropped transaction never ran, so nothing left your balance.
Dropped does not mean void. An Ethereum transaction has no expiry date, so anyone who kept a copy can broadcast it again, and it confirms if its nonce is still unused. The only sure way to stop it is to use its nonce for another transaction.
Nonces: why one stuck transaction blocks the ones behind it
Every transaction carries a nonce, "a sequentially incrementing counter" of the account's transactions: 0 for the first, then 1, and so on. A block can include nonce 42 only after nonce 41 has confirmed.
Say nonce 41 sends 0.5 ETH with a max fee now below the base fee. You then approve USDC for a trade (nonce 42) and make the trade (nonce 43), with generous fees. Neither can confirm while 41 waits. Sending the 0.5 ETH again makes it worse: it gets nonce 44, joins the queue, and once 41 confirms, both payments go through.
To find the blocker, open your address on a block explorer. Your latest confirmed transaction shows its nonce; the stuck one has the next number. Fix the lowest pending nonce first. MetaMask's guide puts it plainly: you cannot cancel nonce 10 before nonce 9.
A nonce gap is the reverse: an earlier number was never accepted or was dropped, often after a custom nonce set too high. Send any transaction with the missing number, such as 0 ETH to yourself, and the queue moves.
How do EIP-1559 fees decide inclusion?
A transaction sets two fee fields and pays against a third that the protocol sets for each block. The ethereum.org gas guide explains all three.
| Part (set by) | What it does | If too low |
|---|---|---|
| Base fee (the protocol, every block) | Minimum price per gas, burned; moves up to 12.5% a block | Your max fee must stay above it |
| Priority fee or tip (you) | Paid to the validator proposing the block | Better-paying transactions fill the blocks first |
| Max fee (you) | The most you will pay per gas, base fee and tip together | A rising base fee overtakes it and the transaction stops |
You pay the base fee plus your tip, capped by the max fee, and the rest is refunded, so a generous max fee costs nothing extra; it only keeps the transaction valid as the base fee climbs. After one full block the base fee can be 12.5% higher, after five in a row about 80% higher (1.1255 ≈ 1.80). A max fee of twice the base fee survives that; one set 10% above it can be overtaken by the next block.
Speed up: replace it with the same nonce and higher fees
Speed up signs a new version of your transaction with the same nonce, recipient, amount and data, but higher fees. Both versions compete for one nonce, so only one can be included and you pay gas once. (Bitcoin uses different tools, replace-by-fee and child pays for parent; see how long a Bitcoin transaction takes.)
Nodes do not accept just any replacement. Geth rejects one unless both its max fee and its priority fee are at least 10% higher than the original's: the --txpool.pricebump default, with the two fields checked separately. Base's troubleshooting guide asks for the same. Miss either and the wallet reports "replacement transaction underpriced".
Accepted is not the same as included: the max fee must also cover the current base fee plus the tip. Say the stuck transaction has a max fee of 1.0 gwei and a tip of 0.05 gwei, and the base fee is now 1.6 gwei.
- 1.1 gwei max fee, 0.055 gwei tip: clears the 10% rule, still stuck, because 1.1 is below 1.6.
- 3.5 gwei max fee, 0.1 gwei tip: includable now. At a 1.6 gwei base fee it pays 1.7 gwei per gas; a plain ETH transfer uses 21,000 gas, so 0.0000357 ETH.
Once the replacement confirms, the explorer marks the original hash "Dropped & Replaced". The payment is identical but the hash is new, so give the new one to anyone tracking it.
Two things can block a speed-up. Your balance must cover the amount plus the gas limit times the new max fee, so if you sent everything, top the address up first; incoming transfers do not use your nonce. And you can only replace what you signed: only the exchange can speed up an exchange withdrawal.
Cancel: what a cancel really sends, and when it fails
Ethereum has no cancel instruction. A Cancel button, or the manual method MetaMask and Etherscan describe, sends 0 ETH from your address to itself with the stuck nonce and higher fees. If it is included, the nonce is used up and the original can never execute. It is an ordinary transfer, so it usually costs 21,000 gas.
| Feature | Speed up | Cancel |
|---|---|---|
| What is sent | The same recipient, amount and data | 0 ETH to your own address |
| Nonce and fees | The stuck nonce; max fee and tip each 10%+ higher | The same |
| If it confirms | The payment happens, under a new hash | Only the cancel's own gas is spent |
A cancel is an attempt, not a guarantee, as MetaMask also says. It fails when:
- The original wins the race. The cancel becomes invalid and costs nothing, but the payment has gone through.
- The fee bump is too small. Nodes reject it as underpriced.
- Its own max fee is below the base fee. Now two versions of the nonce are stuck, and whichever becomes includable first confirms.
- It targets the wrong nonce. Cancelling 43 while 41 is stuck unblocks nothing.
Tokens, layer 2s and BNB Smart Chain: what changes and what does not
USDT, USDC and other ERC-20 tokens
A token transfer is a call to the token's contract: the transaction goes to the contract with a value of 0 ETH, and the real recipient and amount sit in its data. Gas is paid in ETH, and more than a plain transfer's 21,000, so without ETH you can neither send the token nor speed it up.
Tokens and ETH share one nonce sequence: a stuck USDT transfer holds up your next ETH payment, and a stuck approval holds up the trade that needs it. A speed-up resends the same token transfer; a cancel replaces it with a 0 ETH transfer to yourself, so the tokens never move. On an explorer, the To field of a pending token transfer shows the contract, not the person you paid. More on USDT: how it compares with USDC in USDT vs USDC, and how it differs between its two main networks in USDT on Tron vs Ethereum.
Arbitrum, Base, Optimism and BNB Smart Chain
Nonces and same-nonce replacement work the same way on every EVM network. What changes is who orders transactions and what the tip buys.
| Network | How transactions are ordered | What holds one up |
|---|---|---|
| Ethereum | A block proposer every 12-second slot; higher tips first when blocks are full | Max fee below the base fee; low tip; a stuck earlier nonce |
| Arbitrum One | A sequencer, by priority fee in 125 ms rounds (Priority Gas Auctions, since September 2026); no-tip transactions gain priority every round | A stuck earlier nonce; max fee below the base fee, which has a floor |
| Base and OP Mainnet | A sequencer, higher tips first; Base makes a block every 2 seconds, and its Flashblocks also weigh arrival time | Max fee below the base fee; a stuck earlier nonce; low tip when busy |
| BNB Smart Chain | Validators; the base fee is fixed at 0, so your gas price is the whole fee | Gas price below what blocks include; a stuck earlier nonce |
Arbitrum's change is recent: per the Arbitrum docs, the sequencer now orders by priority fee and collects the tip, so older guides saying Arbitrum ignores tips are out of date. OP Stack chains such as Base and OP Mainnet also charge an L1 data fee that you cannot cap. On BNB Smart Chain, BEP-226 fixed the base fee at 0, so it does not rise with congestion.
One rule trips people up: the same 0x address has a separate nonce on each network. A stuck transaction on Ethereum blocks nothing on Arbitrum or Base, and a cancel only works on the network where the stuck transaction is.
A pending deposit on a swap order: 12 confirmations, the 30-minute window and the late-deposit rule
While a deposit is pending it has not reached the deposit address, so confirmations cannot start. Once a block includes it, Sentinel counts 12 Ethereum confirmations, about 2.4 minutes at 12 seconds per slot, and USDT on Ethereum needs the same 12. Executor then runs the swap and Courier sends the payout.
The clock that matters is the order's. A fixed rate locks the amount you receive for 30 minutes from order creation, and applies when the exact amount is sent within that window (Terms, section 8). A deposit that arrives after the order has expired is executed at the market rate at the time of execution or refunded automatically, as your order page shows (section 9). A refund goes to your refund address, or to the address you paid from.
- Speed it up; don't send it again. A speed-up keeps the amount and the deposit address, and the order matches your payment by its exact amount, so the replacement is still the expected deposit despite its new hash. A second payment would take a new nonce and could arrive as well; the Terms allow one deposit per order, and an extra one may be refunded instead of exchanged.
- Cancel only if you want out. If the cancel confirms, nothing arrives; after 30 minutes the order expires, nothing is charged, and a new order gets a fresh quote. If the original wins, it is an ordinary deposit: on time and exact, a fixed-rate order swaps at the locked rate; late, it follows the late-deposit rule.
- Price it to land the first time. Unused max fee is refunded, so a max fee well above the base fee costs nothing extra and protects the window. See network fees on a swap.
- From an exchange, give a refund address. You cannot speed up an exchange withdrawal, and a refund would otherwise go back to the exchange's sending address (section 12).
Routes from Ethereum include ETH to BTC, ETH to SOL, ETH to XMR and USDT ERC20 to TRC20. See also why send exactly the quoted amount and fixed vs floating rates.
Pending transaction questions
How long can an Ethereum transaction stay pending?
There is no protocol limit, because Ethereum transactions do not expire. Nodes can drop one, for example Geth after 3 hours for a transaction that cannot execute, but a copy can be broadcast again while its nonce is unused. Replace it instead of waiting.
Do I pay gas for a pending or dropped transaction?
No. Gas is charged only when a block includes a transaction. After a speed-up or a cancel, you pay only for the version that confirms.
What does “replacement transaction underpriced” mean?
The replacement did not raise the fees enough. With Geth's default settings, both the max fee and the priority fee must be at least 10% higher than the original's.
What is the difference between a pending and a failed transaction?
A pending transaction is not in a block yet and can be replaced. A failed one was included but reverted, for example after running out of gas; its fee was spent and there is nothing left to speed up or cancel.
Does a stuck Ethereum transaction block my transactions on Arbitrum or Base?
No. Each network keeps its own nonce for your address, so only transactions on the same network wait behind it.
Ghostex counts an Ethereum deposit after 12 confirmations and logs every step of the order on the order page. This guide is general information, not financial advice; product facts follow the Terms.
Keep reading
More guides
Network fees on a swap, explained
Why the deposit fee is yours to set, how it affects the wait, and which costs are already in the quote.
Read the guideWhy send exactly the quoted amount
Send a little more or less and a fixed rate can no longer apply. Here is what the AI agents do with an off-quote deposit.
Read the guideHow long does a Bitcoin transaction take?
Blocks, confirmations and fee rates, and how replace-by-fee and child pays for parent unstick a Bitcoin payment.
Read the guide