Why your transaction got skipped: how validators order transactions
When you submit a transaction to a blockchain and it seems to vanish - never included in a block, stuck in limbo, or replaced by another transaction with a higher fee - the cause is almost always how validators (or miners on proof-of-work chains) choose which transactions to include. Validators are profit-seeking; they order transactions primarily by the fees you pay, and if yours offers less value than competing transactions, it gets skipped. Here is the mechanism, why it varies across chains, and what you can do about it.
The basic ordering principle: fee priority
Validators earn revenue from two sources: the base fee (burned on Ethereum post-EIP-1559, but kept on some chains) and the priority fee (tip). On Ethereum and networks with 1559-style fee markets (like Avalanche and Polygon), the validator’s incentive is to include transactions that maximize their tip, since the base fee is burned. On chains without a base fee (like Bitcoin or early Ethereum), the entire fee goes to the validator, so they rank purely by total fee per unit of gas.
The validator’s algorithm for a given block is straightforward: 1. Collect all pending transactions from the mempool. 2. Sort them by effective fee rate (priority fee + any base fee that isn’t burned). 3. Fill the block with the highest-fee transactions, starting from the top, until the block gas limit is reached.
If your transaction’s fee rate is lower than the others, it sits at the bottom of the list and gets skipped when the block is full. This is the most common reason your transaction isn’t included.
Why it might be skipped even with a high fee
Even a competitive fee doesn’t guarantee inclusion. These factors also matter:
- Nonce ordering. On Ethereum and EVM-compatible chains, your transactions must be executed in nonce order. If you have a pending transaction with a lower nonce (say nonce 5) and a higher-fee one with nonce 6, the validator cannot include nonce 6 until nonce 5 is confirmed. If nonce 5 has too low a fee, all later transactions are stuck.
- Transaction size. Validators sort by fee per gas, not total fee. A simple ETH transfer (21,000 gas) with a high priority fee is more attractive than a complex swap (100,000+ gas) with the same priority fee, because the swap uses more block space for the same tip.
- MEV (maximal extractable value). Validators may reorder transactions to extract arbitrage or liquidation profits, sometimes skipping your transaction entirely to insert their own. This happens on public mempools, especially Ethereum. Private mempools (like Flashbots) let you bypass this, but require specific tooling.
- Chain-specific quirks. On Solana, validators prioritize by the “compute unit price” bid per instruction. On Bitcoin, they use a fee-per-byte metric. On L2s like Arbitrum or Optimism, the L1 data fee and the sequencer’s own ordering rules also play a role - check your network’s documentation.
How validators see the mempool
The mempool is the waiting room for unconfirmed transactions. Each validator or node operator keeps a local copy, and they broadcast transactions to peers. The sorting is not global: different validators may see slightly different mempool states. If your transaction is broadcast with a low fee, it may never reach a validator that sees a high-fee competitor; it just waits in the pool.
Some chains, like Ethereum, have a public mempool where anyone can see pending transactions. Others, like private L2s or permissioned chains, have sequencers that order transactions in a deterministic way (e.g., first-come-first-served). In those cases, getting skipped is rare unless you send without enough fee.
What "skipped" actually means
A skipped transaction is not lost. It remains in the mempool until one of these happens: - It gets included in a future block when the network becomes less congested. - You replace it with a higher-fee transaction (using “replace-by-fee” on Bitcoin or “speed up” on Ethereum). - It expires after a timeout (typically 24-48 hours on most Ethereum clients, though configurable).
If the block is full and your fee is too low, the validator simply skips it until a later block. No failure, no error - just delay.
How to avoid getting skipped
- Use a gas estimator. Tools on Ethereum, Polygon, Avalanche, and L2s show current priority fee levels. Set your priority fee at least at the “high” level during congestion. Never guess.
- Check your nonce. If you have multiple pending transactions, use a wallet that shows nonce order. Cancel or speed up low-nonce transactions first.
- Consider MEV protection. On Ethereum, use Flashbots or a private mempool service for sensitive transactions (like large swaps).
- On L2s, watch the L1 data fee. On Arbitrum and Optimism, the total fee depends on L1 blob submission costs, which spike when Ethereum is congested. Use block explorers to check the current L1 data gas price.
- Avoid peak congestion times. During NFT mint events or high-volatility periods, the mempool fills with very high-fee transactions. Wait an hour.
Summary
Being skipped is the validator’s rational choice. Your transaction competes with thousands of others for a fixed block space. If your fee per unit of gas is too low, you lose. There is no secret tactic; only accurate fee estimation, nonce management, and sometimes using a private mempool can shift the odds. If you are skipped repeatedly, reduce the complexity of your transaction (e.g., use a simple transfer instead of a swap) or wait for a quieter network state.
Not financial advice. seapresale.xyz publishes market data and general information about digital assets. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.
Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.