Which Ethereum gas oracle is the most accurate in 2026?
Every wallet, swap router and bridge UI hits a gas oracle before posting a transaction, and the gap between the predicted priority fee and what the next mined block actually charges is the difference between a transaction landing in 12 seconds and a transaction sitting in the mempool through three gas spikes. Marketing pages quote "fast / standard / slow" tiers without ever publishing the gap between prediction and reality. This page answers one question with live data. Which oracle predicts the next block's realized priority fee most closely, measured per block, on Ethereum mainnet and Polygon PoS. The OpenChainBench gas-estimation harness polls Blocknative, PublicNode `eth_feeHistory`, Owlracle and Etherscan v2 at their tier tolerant cadences, buffers each prediction with its predicted block height, then pulls the full block via `eth_getBlockByNumber` when it lands and computes the realized priority percentile from the actual `maxPriorityFeePerGas` values across every included transaction. The headline ranks on the p99 of the absolute gap over 24 h, the worst 1% of blocks, because typical minute gaps are micro gwei noise while volatile minutes are where a wrong prediction either overpays or misses the block.
Live leaderboard, top 4

Owlracle
#1 · Gap vs realized (gwei)
0.315p99 ~0Blocknative
#2 · Gap vs realized (gwei)
0.870p99 ~0Etherscan
#3 · Gap vs realized (gwei)
1.47p99 0.067
PublicNode
#4 · Gap vs realized (gwei)
1.5p99 ~0
Full live data: /benchmarks/gas-estimation, refreshed every minute.
Methodology and data sources
Each oracle is polled per chain at its tier tolerant cadence: Blocknative and PublicNode feeHistory every 12 s, Owlracle every 60 s (free quota ceiling), Etherscan every 15 s with a global rate gate enforcing 6 s between any two Etherscan requests across chains (the no key limit is 1 request per 5 s per IP, shared). Each oracle's named tiers (fast, standard, slow, safe, propose) are mapped onto a unified p25, p50, p75, p90, p99 scheme and the leaderboard ranks the p50 tier (the standard speed wallets use by default). Predicted priority fees are buffered with the predicted block height; when that block is mined, the harness pulls the full block via `eth_getBlockByNumber(.., true)` on the chain's PublicNode RPC, computes the realized percentile from actual `maxPriorityFeePerGas` values, and records the absolute error per (oracle, tier, chain) as both a gauge and a histogram. The headline metric is `quantile_over_time(0.99, gas_error_priority_gwei{tier="p50"}[24h])`. A covered rate column (share of time the prediction sat at or above the realized p50) surfaces the inclusion side risk an absolute gap cannot show. BNB Chain is excluded (not EIP-1559), Avalanche C-Chain is excluded (auto tuning fee market drives priority fee toward zero), L2 OP Stack chains are excluded (priority fee near zero because the sequencer is centralised, the relevant cost is L1 data fee).
What this number does not tell you
- ·Lower gap is not the same as best oracle. Inclusion confidence oracles (Blocknative, Etherscan) over predict by design to guarantee inclusion; percentile trackers (PublicNode feeHistory, Owlracle) hug the realized number by construction. The leaderboard ranks on p99 to surface tail behaviour and pairs it with the covered column so over prediction (overpay, harmless) and under prediction (transaction misses its block) do not collapse into the same score.
- ·Ethereum mainnet and Polygon PoS are the only ranked chains. BNB Chain is not EIP-1559 (gasPrice only). Avalanche C-Chain auto tunes its fee market toward zero priority fee, which collapses the error metric to noise. L2 OP Stack chains (Optimism, Base, Arbitrum) have priority fee near zero because the sequencer is centralised; the meaningful cost there is the L1 data fee, a different prediction problem.
- ·The p50 tier is the ranked tier (standard wallet default). Per tier breakdowns (p25, p75, p90, p99) are emitted by the harness and visible in raw Prometheus, but the bench UI does not yet surface them as a tab because the spec schema is restricted to chain and region dimensions.
- ·Realized percentile is noisy on empty or low transaction count blocks. The harness flags those via `gas_realized_tx_count{chain}` so a low traffic block does not silently inflate the error histogram.
- ·Each oracle's polling cadence is constrained by its free quota (Owlracle 60 s, Etherscan 15 s gated to 6 s minimum spacing). A paid integration polling at higher cadence could close some of the lag visible on this leaderboard, the bench measures public no key (or free tier) behaviour by design.
Frequently asked questions
- Which gas oracle is the most accurate right now?
- Owlracle currently leads at 0.315 gwei (p99 absolute gap, 24h) on the active chain tab across 4 measured oracles. The leaderboard refreshes every minute against fresh Prometheus samples; per chain leaders can differ from the cross chain headline so the chain tabs at the top of the bench page expose each ranking separately. Read the gap alongside the covered rate column for the full picture, inclusion confidence oracles trade a wider gap for higher coverage.
- Why rank on p99 instead of p50?
- At current fee levels the typical minute p50 gaps are fractions of a micro gwei apart across oracles. On a 100k gas transaction a 0.001 gwei error is about a thousandth of a cent, so a p50 ranking orders economically indistinguishable noise. The p99 captures the volatile minutes (mempool spikes, NFT mints, MEV bursts) where predictions actually diverge and a wrong number either overpays or misses the block. The typical p50 and p90 gaps remain visible as secondary columns.
- How does Blocknative compare to Etherscan or PublicNode feeHistory?
- Blocknative publishes a probability of inclusion model across 70, 80, 90, 95 and 99 percent confidence tiers; the parser maps those onto the unified p25 to p99 scheme. Etherscan's `ProposeGasPrice` was designed for the pre EIP-1559 single price world and re uses tier names that map onto the same scheme. PublicNode feeHistory is a thin wrapper over the EIP-1559 reward percentile spec, so it tracks the realized number closely by construction. The three answer different design questions: inclusion confidence, retail recognition, and protocol grounded reading.
- What does the covered rate column mean?
- The share of time over 24 h that the oracle's posted p50 tier prediction was at or above the realized p50 priority fee of the latest mined block. Absolute gap treats over prediction and under prediction the same, but they are not symmetric for users: over predicting means slightly overpaying, under predicting means a transaction paying exactly the predicted fee would have ranked below the block's median and risks waiting. Read gap and covered together; low p99 gap plus high covered is the sweet spot.
- Why is Avalanche C-Chain excluded?
- Avalanche C-Chain's auto tuning fee market drives the priority fee toward zero by design, which collapses the prediction error metric to zero across every oracle and makes the comparison non informative. BNB Chain is excluded for a different reason (it is not EIP-1559, effective fee is gasPrice only). Adding either chain would silently produce flat numbers that pollute the comparison; surfacing zero scores on a leaderboard is misleading.
- Which oracle should I integrate for my wallet?
- Read the p99 gap (does it blow out during spikes?) together with the covered rate (does it err on the side of inclusion or under bid?) for the chain your product runs on. Owlracle currently leads the active tab at 0.315 gwei but the right choice depends on whether your UX tolerates over pay (then prefer high covered) or optimises for tail behaviour (then prefer low p99 gap), and whether the oracle's free quota fits your call volume. The bench gives you the live numbers, it cannot tell you which trade off your product wants.
- How often is the leaderboard refreshed?
- Per oracle polling runs continuously (12 s for Blocknative and PublicNode feeHistory, 15 s for Etherscan with the 6 s global gate, 60 s for Owlracle). The page reads a rolling 24 h p50, p90 and p99 every minute. A single misprediction during a gas spike cannot move the headline because the p99 window absorbs it across thousands of blocks.
Related questions
Same data as /benchmarks/gas-estimation, refreshed every minute. Open methodology, open source.