Skip to content
Blockchain Brief

Protocol, chain and market reporting

What a Nonce Conflict Means for a Queued Swap

A nonce conflict means two transactions compete for one account sequence number; only one can land, and higher nonces wait until the gap closes on chain.

The Blockchain Brief Desk5 min read

What a Nonce Conflict Means for a Queued Swap

A nonce conflict means two transactions from the same account use the same sequence number, so only one can be included on chain. For an ordinary externally owned account on an EVM network, the nonce orders transactions: the next transaction must use the next available number. A swap can sit queued because an earlier transaction has not cleared, or because another transaction is competing for its nonce.

This is an account-level ordering problem, not a conflict between swap routes or token contracts. The DEX does not choose between two transactions sharing a nonce; the chain can include at most one for that account and nonce. For a separate explanation of how QuickSwap cuts cross-chain steps, see the linked article. That flow concerns cross-chain execution, while a nonce conflict concerns whether a transaction from one account can be processed in order.

Why does a nonce conflict keep a swap queued?

A swap stays queued when its nonce is not yet eligible for inclusion or a competing transaction may consume that nonce first. If an account’s next expected nonce is 12, a pending transaction with nonce 13 cannot be processed before nonce 12. Once a transaction with nonce 12 is included, the chain can consider nonce 13.

Wallets often let users prepare several transactions in succession. A token approval may be submitted before a swap, for example, and each transaction from the same account gets its own nonce. If the approval is pending, the swap’s higher nonce may wait behind it. A delay in the swap interface does not by itself show that the swap contract rejected the trade; the swap may not have reached execution at all.

A conflict can also arise when two transactions are signed with the same nonce. This may happen if a wallet resubmits a transaction or a user tries to replace a pending swap. The transactions then compete for one position in the account’s sequence. If one is included, the other becomes invalid for that nonce because the account has already advanced past it.

How does replacing a pending transaction work?

A replacement transaction uses the same sender and nonce as the pending transaction, with fee terms that meet the receiving node’s replacement policy. The replacement does not edit the original transaction. It is a separate signed transaction competing for the same nonce, and whichever one gets included first consumes that nonce.

Wallets may offer a “speed up” action that creates a replacement with a higher fee, or a “cancel” action that submits a different transaction using the same nonce. A cancellation is not a guaranteed recall. The original transaction may still be included if it reaches a block first, and replacement rules differ across node implementations and local mempools. Those policies determine which transactions a node accepts into its pending pool; they are not the consensus rule for executing a block.

Consensus enforces the sequence when a block is processed: an account’s transaction nonce must match the account’s current nonce, and successful execution advances it. A transaction with an already-used nonce cannot execute again. A transaction with a future nonce cannot skip the missing earlier nonce. Mempools can disagree about which pending transaction they have seen, so a replacement may appear accepted by one provider while another still reports the original as pending.

What should you check before retrying the swap?

Check the account’s pending transactions and identify the lowest nonce that has not been resolved. Use the transaction hash and the same network’s explorer or wallet history to check whether it is pending, included, or replaced. A swap with a higher nonce will generally remain blocked until the earlier nonce is consumed or the account’s pending state changes.

  • If the earlier transaction is still pending, decide whether to wait or use the wallet’s replacement flow. Check the nonce and fee details before signing.
  • If the earlier transaction was included, refresh the wallet and check whether the swap has moved into processing or failed during execution.
  • If you submitted a replacement, compare its nonce with the original and check which transaction the network has included. Do not assume a “cancel” label means the original cannot land.
  • If the wallet and explorer disagree, check the exact network and account, then allow for differences in pending transaction data between providers.

These checks distinguish a queued transaction from an executed swap that reverted. A reverted transaction was included and consumed its nonce even though its contract call failed; a transaction still waiting behind a nonce gap has not executed. If the nonce is consumed by a competing transaction, the old swap cannot later execute under that same nonce. If the earlier nonce remains open, higher-nonce transactions may remain queued.

The practical rule is to resolve the account’s earliest pending nonce before resubmitting a swap with a higher one. Repeating the swap with a fresh nonce can add another transaction to the queue without clearing the blockage. The chain determines which same-nonce transaction wins through inclusion; wallet status labels and node replacement policies describe pending handling, not a guarantee of outcome.