Free 30-min Web3 Consultation
Book Now
Smart Contract Security Audits
Learn More
Custom DeFi Protocol Development
Explore
Full-Stack Web3 dApp Development
View Services
Free 30-min Web3 Consultation
Book Now
Smart Contract Security Audits
Learn More
Custom DeFi Protocol Development
Explore
Full-Stack Web3 dApp Development
View Services
Free 30-min Web3 Consultation
Book Now
Smart Contract Security Audits
Learn More
Custom DeFi Protocol Development
Explore
Full-Stack Web3 dApp Development
View Services
Free 30-min Web3 Consultation
Book Now
Smart Contract Security Audits
Learn More
Custom DeFi Protocol Development
Explore
Full-Stack Web3 dApp Development
View Services
LABS
Comparisons

Pull Oracles vs Push Oracles: Scale

A technical analysis comparing the scalability of Pull (on-demand) and Push (streaming) oracle models. We examine latency, network load, cost efficiency, and architectural trade-offs for high-throughput DeFi, gaming, and trading applications.
Chainscore © 2026
introduction
THE ANALYSIS

Introduction: The Scalability Bottleneck in Oracle Design

Choosing between pull and push oracles fundamentally dictates your protocol's scalability profile and cost structure.

Pull oracles (e.g., Chainlink's low-latency AnyAPI) excel at on-demand, high-frequency data because they only incur costs and blockchain load when a user transaction explicitly requests an update. This model is highly efficient for applications like perpetual DEXs (e.g., GMX) where price updates are triggered by user trades, avoiding constant gas expenditure. It allows for supporting thousands of data feeds without baseline network congestion.

Push oracles (e.g., Chainlink Data Streams, Pyth Network) take a different approach by preemptively publishing data to a low-latency off-chain service or an L2 like Arbitrum. This results in sub-second finality for consumers like Hyperliquid, but requires continuous subsidization of update costs by the oracle provider. The trade-off is higher operational overhead for the oracle to maintain liveness, but near-instant data for dApps.

The key trade-off: If your priority is cost-efficiency for sporadic, user-initiated events and maximum data feed breadth, choose a pull model. If you prioritize ultra-low latency and deterministic data availability for high-frequency trading or gaming, a push oracle is superior. The decision hinges on whether your scalability bottleneck is gas cost or data freshness.

tldr-summary
PUSH VS. PULL: ARCHITECTURAL TRADE-OFFS

TL;DR: Key Differentiators at Scale

The core distinction between on-demand (Pull) and proactive (Push) oracles defines their scaling characteristics, cost models, and ideal applications.

01

Push Oracle Strength: Real-Time Guarantees

Proactive Data Delivery: Updates are pushed to the contract automatically upon price deviation (e.g., Chainlink's >1% heartbeat). This ensures sub-second finality for critical functions like liquidations on Aave or Compound, where latency directly impacts protocol solvency.

< 1 sec
Update Latency
>1%
Deviation Threshold
02

Push Oracle Weakness: Cost Inefficiency at Scale

Fixed Overhead Per Update: Every data push incurs gas costs, paid by the oracle service or passed to dApps. For low-value or infrequently accessed data (e.g., NFT floor prices for a small collection), this creates prohibitive operational costs and blockchain bloat. Scaling to 10,000+ feeds is economically challenging.

03

Pull Oracle Strength: Hyper-Efficient Scaling

On-Demand Cost Model: Data is fetched only when a user transaction requires it (e.g., Pyth's pull oracle). The user pays the gas. This allows the oracle to maintain 10,000+ price feeds (like Pyth's cross-chain program) with near-zero operational overhead, perfect for long-tail assets or perp markets.

10,000+
Feeds Supported
User-Pays
Cost Model
04

Pull Oracle Weakness: User Experience Friction

Added Latency & Complexity: Users must include an oracle update in their transaction, adding ~200-500ms of latency and requiring them to manage relayers or witness data. This breaks composability for fast DeFi loops and is unsuitable for keeper-triggered functions like automatic liquidations.

HEAD-TO-HEAD COMPARISON

Scalability Feature Comparison: Pull vs Push

Direct comparison of scalability metrics for on-demand (Pull) and continuous (Push) oracle models.

MetricPull Oracle ModelPush Oracle Model

On-Chain Gas Cost (per update)

$10-50+

$0.10-$2

Latency (Data Request to On-Chain)

< 1 block

~12 seconds to ~15 minutes

Data Freshness Guarantee

On-demand

Pre-defined interval (e.g., every block)

Infrastructure Cost for DApp

Paid per request

Subsidized by oracle/protocol

Optimal for High-Frequency Data

Network Overhead (Oracle Side)

Low

High

Primary Scaling Constraint

User transaction gas

Oracle node bandwidth & stake

pros-cons-a
Architectural Trade-offs for High-Throughput Applications

Pull Oracle (On-Demand) Model: Pros and Cons for Scale

Evaluating the scalability of Pull (On-Demand) vs. Push (Streaming) oracle models based on gas efficiency, latency, and infrastructure overhead for protocols like DeFi lending, perps, and options.

01

Pull Model: Superior Cost Efficiency at Scale

Gas costs scale only with usage: Protocols like Uniswap v3 TWAP or Pyth's pull-update only pay for data when a user transaction requires it. This creates predictable, user-borne costs and eliminates baseline streaming fees. This matters for low-frequency applications (e.g., NFT floor price feeds, governance voting) where constant updates are wasteful.

02

Pull Model: Eliminates Redundant Data & Infrastructure

No wasted network calls or storage: The chain stores no data until explicitly requested, reducing state bloat. This is critical for multi-chain deployments (e.g., a dApp on 10+ L2s) where maintaining active push streams to each chain is prohibitively expensive. Tools like Chainlink Functions exemplify this serverless, compute-on-demand approach.

03

Push Model: Guaranteed Low Latency for High-Frequency Trades

Sub-second data freshness pre-committed on-chain: Oracles like Chainlink Data Streams or Pythnet push price updates in near real-time (<500ms). This matters for perpetual futures DEXs (e.g., Hyperliquid, Aevo) and money markets where stale data directly causes liquidations and arbitrage losses. The infrastructure cost is justified by the product requirement.

04

Push Model: Simpler, More Reliant Smart Contract Logic

Contracts read from a single, always-fresh source of truth: Developers don't need to implement complex pull mechanisms or worry about update triggers. This reduces contract complexity and audit surface. This matters for rapid prototyping and mainstream DeFi apps (e.g., Compound, Aave) where reliability and simplicity are paramount over marginal gas savings.

pros-cons-b
PUSH VS. PULL ARCHITECTURE

Push Oracle (Streaming) Model: Pros and Cons for Scale

A data-driven breakdown of how push (streaming) and pull (on-demand) oracle models perform under high-throughput conditions. Key metrics include latency, gas efficiency, and infrastructure overhead.

01

Push Model: Real-Time Responsiveness

Proactive Data Delivery: Updates are streamed to contracts automatically upon price deviation or time threshold (e.g., Chainlink Data Streams). This enables sub-second latency for critical actions like liquidations on Aave or perpetual funding rate updates on dYdX, where milliseconds matter.

< 1 sec
Update Latency
02

Push Model: Predictable Gas Costs

Gas Burden on Provider: The oracle network (e.g., Pyth Network publishers) pays for on-chain updates, shielding dApp users from variable gas fees. This creates a stable cost structure for protocols like Synthetix Perps, which require continuous price feeds without passing volatility to traders.

03

Pull Model: On-Demand Efficiency

Gas-Only-When-Needed: Contracts fetch data via pull only at execution time (e.g., Uniswap v3's TWAP oracle). This eliminates wasteful updates for low-frequency applications like NFT floor price checks (Blur) or governance voting, optimizing for cost over speed.

~80%
Gas Savings (Low-Freq)
04

Pull Model: Simpler Scaling

Decoupled Infrastructure: No need to maintain a live streaming pipeline for every data point. Scaling involves adding more RPC endpoints and indexers (like The Graph) rather than complex event-driven systems. Ideal for batch processing historical data or serving thousands of low-traffic DeFi pools.

05

Push Model: High Overhead at Scale

Consensus & Relay Costs: Maintaining continuous streams for 1000+ assets requires significant off-chain infrastructure (Chainlink nodes, Pyth validators) and constant on-chain write operations. This leads to high operational costs that scale linearly with data points, not usage.

06

Pull Model: Latency Bottlenecks

User-Facing Delays: The pull transaction must wait for oracle response, adding network RTT and on-chain confirmation time. This creates poor UX for high-frequency trading and can be exploited in arbitrage scenarios where stale data is a vulnerability.

CHOOSE YOUR PRIORITY

Architectural Decision Guide: When to Use Which Model

Push Oracles for High-Frequency DeFi

Verdict: Essential for Core Infrastructure. Strengths: Push oracles (e.g., Chainlink Data Streams, Pyth Network) provide sub-second updates with low latency, critical for perpetual DEXs like dYdX and GMX, and money markets like Aave. They eliminate the latency and gas uncertainty of on-demand pulls, ensuring liquidations and price updates are executed at the precise moment needed. The continuous data push model is battle-tested for handling volatile market conditions.

Pull Oracles for High-Frequency DeFi

Verdict: Niche Use Only. Strengths: A pull oracle (e.g., a custom Chainlink AnyAPI or Tellor setup) can be cost-effective for updating non-critical parameters (e.g., protocol fee rates) on a slower cadence. However, for core price feeds, the inherent latency of the request-response cycle and the gas cost burden placed on the end-user transaction make it unsuitable for high-frequency trading, lending, or derivatives applications where milliseconds matter.

verdict
THE ANALYSIS

Final Verdict and Decision Framework

Choosing between pull and push oracles ultimately depends on your application's scale profile and tolerance for latency versus cost.

Pull (On-Demand) Oracles excel at cost efficiency for low-to-medium frequency data requests because they eliminate the need for continuous on-chain transactions. For example, a protocol like Chainlink with its checkUpkeep/performUpkeep model allows contracts to request data only when a specific condition is met, drastically reducing gas fees for applications like limit orders or insurance claims that don't require millisecond updates. This model shifts the gas cost burden to the user or a designated keeper network, making it highly scalable in terms of operational expense.

Push (Streaming) Oracles take a different approach by preemptively pushing data updates on-chain at regular intervals. This results in a fundamental trade-off: lower latency and guaranteed freshness for higher, fixed infrastructure costs. Protocols like Pyth Network and Chainlink Data Streams use this model to deliver sub-second price updates, which is critical for perpetual futures DEXs or high-frequency trading. However, the constant stream of on-chain transactions requires significant subsidization by the oracle provider or protocol treasury to be sustainable at scale.

The key trade-off is between cost structure and performance predictability. If your priority is minimizing operational costs for non-real-time applications (e.g., lending rates, weekly reward calculations) and you can tolerate a 1-2 block latency, choose a Pull Oracle. If you prioritize sub-second data freshness and consistent performance for high-value, real-time decisions (e.g., derivatives, leveraged trading), and have the budget to subsidize continuous updates, choose a Push Oracle. For maximum flexibility, consider hybrid models emerging in the space.

ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected direct pipeline