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: Reuse

A technical comparison of Pull and Push oracle models, focusing on data reuse, composability constraints, and architectural trade-offs for protocol architects and engineering leaders.
Chainscore © 2026
introduction
THE ANALYSIS

Introduction: The Oracle Reuse Dilemma

Choosing between pull and push oracle models fundamentally dictates your application's gas efficiency, latency, and architectural complexity.

Pull Oracles (like Chainlink's AnyAPI or Functions) excel at cost efficiency for low-frequency, user-initiated data requests. The user's transaction pays the gas to fetch the data on-demand, eliminating idle costs. For example, a prediction market settling a weekly event can use a single, low-cost pull to fetch the final result, avoiding the continuous fees of a push feed. This model is ideal for dApps with sporadic, non-critical data needs where users can absorb the one-time fetch latency.

Push Oracles (like Chainlink Data Feeds or Pyth Network) take a different approach by broadcasting continuous data updates on-chain. This results in near-instant data availability for protocols but requires the oracle network to pay recurring gas costs, which are often socialized among data consumers. The trade-off is higher operational overhead for the oracle provider and potentially higher costs for dApps, but it delivers the sub-second latency and reliability required by DeFi lending platforms like Aave or perpetual DEXs like GMX.

The key trade-off: If your priority is minimizing baseline operational cost and your data needs are asynchronous, choose a Pull Oracle. If you prioritize ultra-low latency and guaranteed data freshness for high-frequency trading or liquidations, a Push Oracle is non-negotiable. The decision hinges on your application's tolerance for latency versus its budget for real-time data assurance.

tldr-summary
PULL ORACLES VS PUSH ORACLES

TL;DR: Key Differentiators for Data Reuse

The core architectural choice determines who pays for data, who triggers updates, and how efficiently data is shared across a protocol.

01

Pull Oracle (e.g., Chainlink Data Feeds)

On-demand data fetching: Contracts request data only when needed, paying the gas cost. This is optimal for low-frequency, user-initiated actions like checking a price for a single trade. Data is not automatically refreshed for others.

02

Push Oracle (e.g., Chainlink Automation, Pyth Network)

Proactive data broadcasting: Oracles push updates on-chain at regular intervals or when thresholds are met. This creates a publicly reusable data feed where one update (e.g., an ETH/USD price) can be consumed by thousands of contracts, amortizing the update cost.

03

Choose Pull for...

Unique, one-off data needs where reuse is unlikely.

  • Example: A protocol fetching a custom basket of assets for a specific user's portfolio valuation.
  • Trade-off: Higher per-query cost, no passive benefit from others' updates.
04

Choose Push for...

High-frequency, shared data where many contracts depend on the same source.

  • Example: A lending protocol (like Aave) needing a live ETH price for liquidations; a perpetual DEX (like dYdX) using a price feed.
  • Trade-off: Requires upfront incentive model (e.g., fee from consumers) to keep data fresh.
ORACLE DATA DELIVERY MODELS

Pull Oracles vs Push Oracles: Head-to-Head Comparison

Direct comparison of on-chain oracle architectures for data freshness, cost, and reliability.

Metric / FeaturePull (On-Demand) OraclePush (Streaming) Oracle

Data Update Latency

User transaction execution time

~1-3 seconds per update

Gas Cost Payer

End user (dApp caller)

Oracle service / protocol treasury

Real-Time Data Feeds

Suitable for High-Frequency DApps

Example Protocols

Chainlink (Basic Request Model), API3 dAPIs

Chainlink Data Streams, Pyth Network, Switchboard V2

Typical Use Case

Sporadic price checks (NFT mint), Settlement

Perpetual futures, Options pricing, Gaming

pros-cons-a
ARCHITECTURAL COMPARISON

Pull Oracles vs Push Oracles

Key strengths and trade-offs at a glance. The core distinction is who initiates data updates: the smart contract (Pull) or the oracle network (Push).

01

Pull Oracle: Key Strength

Gas Efficiency for Users: Contracts only pay for data when they need it. This eliminates ongoing subscription fees, making it ideal for low-frequency, user-initiated actions like infrequent price checks for limit orders or one-off NFT valuations. Protocols like Chainlink's Any API and Pyth's Pull Oracle exemplify this model.

02

Pull Oracle: Key Weakness

Higher Latency for Contracts: The contract must wait for a user or keeper to trigger the data fetch. This introduces front-running risk and is unsuitable for high-frequency DeFi (e.g., perpetuals, money markets) that require sub-second, autonomous updates. It adds operational overhead for protocols to manage update triggers.

03

Push Oracle: Key Strength

Guaranteed, Low-Latency Updates: The oracle pushes data on a predefined schedule (e.g., every block). This provides real-time state consistency, critical for lending protocols (Aave, Compound) and derivatives (dYdX, GMX) that require continuous, accurate price feeds for liquidations and mark-to-market valuations.

04

Push Oracle: Key Weakness

Fixed, Ongoing Gas Costs: Contracts pay for every update, regardless of use. This leads to high, predictable overhead, which scales poorly with low-utilization data feeds. It's less optimal for event-driven or niche data (e.g., sports scores, weather) where on-demand fetching is more cost-effective. Major examples include Chainlink Data Feeds and Chronicle.

pros-cons-b
PUSH VS PULL ARCHITECTURE

Push Oracle Model: Pros and Cons

A technical breakdown of the dominant oracle data delivery models, highlighting key trade-offs in latency, cost, and infrastructure complexity for protocol architects.

01

Push Oracle: Key Advantage

Deterministic, Low-Latency Updates: Data is broadcast on-chain proactively by the oracle network (e.g., Chainlink Keepers, Pyth Network's Wormhole-based push). This guarantees sub-second finality for price feeds, critical for high-frequency DeFi protocols like perpetual futures (GMX, Synthetix) and liquidations.

< 1 sec
Update Latency
02

Push Oracle: Key Drawback

Higher Baseline Gas Costs & Complexity: The oracle pays gas for every update, regardless of usage. This cost is socialized across data consumers via fees or inflation, leading to inefficiency for low-activity assets. It also requires complex off-chain infrastructure for relayers and heartbeat monitoring.

03

Pull Oracle: Key Advantage

Cost-Efficient & Demand-Driven: Data is fetched on-chain only when a user transaction requires it (e.g., Tellor, DIY Oracle with Chainlink Data Feeds). Users pay the gas, eliminating wasteful updates. Ideal for low-volume assets, NFT valuations (Upshot), and protocols where data freshness is not sub-second critical.

~$0
Baseline Cost
04

Pull Oracle: Key Drawback

Unpredictable User Latency & UX Friction: Users experience variable transaction latency as they wait for the oracle query to resolve. This creates a poor UX for time-sensitive actions and exposes protocols to front-running risks if the pull mechanism is not carefully designed with commit-reveal schemes.

CHOOSE YOUR PRIORITY

Decision Guide: When to Use Which Oracle Model

Pull Oracles (e.g., Chainlink Data Feeds)

Verdict: The default choice for most DeFi applications. Strengths: Battle-tested security with decentralized node operators, supporting billions in TVL across protocols like Aave, Compound, and Synthetix. Data is updated on-chain at regular intervals, providing a cost-predictable and reliable price feed for liquidations, minting, and swaps. Ideal for applications where price latency of a few minutes is acceptable.

Push Oracles (e.g., Pyth Network, Chainlink Functions)

Verdict: Essential for low-latency, high-frequency DeFi. Strengths: Sub-second updates are critical for perps DEXs (e.g., Drift, Hyperliquid) and options protocols. Pyth's pull-oracle design (despite the name) with signed price feeds allows protocols to pull the latest price on-demand, minimizing front-running risk. Use for leverage trading, money markets with tight health factor margins, or any application where stale data means immediate arbitrage loss.

ORACLE ARCHITECTURE

Technical Deep Dive: Composability and State

Understanding the core architectural differences between pull and push oracles is critical for designing composable DeFi applications. This section breaks down how each model handles data availability, state management, and integration patterns.

Pull oracles generally offer superior composability for complex DeFi applications. They provide on-demand, verifiable data that any contract can fetch, enabling permissionless innovation and complex, multi-step transactions. Protocols like Chainlink's decentralized oracle networks (DONs) allow smart contracts to request data via ChainlinkClient, creating a modular, reusable data layer. Push oracles, like Pyth Network's low-latency streams, can be less composable as data is pushed to predefined subscribers, potentially creating silos unless integrated with a pull-based caching layer (e.g., Pyth's pull oracle for historical data).

verdict
THE ANALYSIS

Final Verdict and Decision Framework

Choosing between pull and push oracles is a foundational architectural decision that dictates your protocol's performance profile and operational model.

Pull Oracles excel at cost efficiency and decentralization for low-frequency data. Because the on-chain contract initiates the request, you only pay gas for data when you need it. This model underpins protocols like Uniswap V3, which uses a time-weighted average price (TWAP) that can be validated by anyone, minimizing reliance on a single data feed. The trade-off is higher latency and potential for stale data if no one calls the update function.

Push Oracles take a different approach by having off-chain nodes continuously push updates on-chain. This results in superior latency and reliability for high-frequency needs, as seen with Chainlink Data Feeds securing over $100B in TVL with 99.95% uptime. The trade-off is higher, continuous on-chain gas costs paid by the oracle network (or passed to users) and a design that is more centralized around the oracle node operators.

The key architectural trade-off: If your priority is ultra-low latency and set-and-forget reliability for critical DeFi functions like liquidations, choose a Push Oracle like Chainlink or Pyth Network. If you prioritize maximizing decentralization and minimizing operational costs for less time-sensitive data or batch processing, a Pull Oracle model using protocols like Tellor or a custom solution is superior.

Decision Framework: Evaluate your application's needs against these axes: Data Update Frequency (sub-second vs. minutes/hours), Cost Bearer (protocol treasury vs. end-user), and Trust Model (delegated to node operators vs. cryptoeconomic validation). For hybrid approaches, consider middleware like API3's dAPIs or RedStone Oracles, which offer push-data availability with pull-style verification.

ENQUIRY

Build the
future.

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