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

Push Oracles vs Pull Oracles: Downtime Behavior

A technical comparison of how Push and Pull oracle models behave during downtime, analyzing failure modes, recovery mechanisms, and the trade-offs for protocol architects and CTOs.
Chainscore © 2026
introduction
THE ANALYSIS

Introduction: Why Downtime Behavior Defines Oracle Risk

The fundamental architectural choice between push and pull oracles dictates how your protocol behaves when data providers fail.

Push oracles like Chainlink Data Feeds excel at providing high-availability, low-latency data by proactively pushing updates to on-chain contracts. This model ensures data is available for immediate consumption, which is critical for high-frequency DeFi protocols. For example, a lending protocol like Aave relies on this continuous uptime to make instant liquidation decisions, with Chainlink maintaining >99.9% uptime for key price feeds. The trade-off is higher operational cost and potential for unnecessary on-chain writes if the data hasn't changed.

Pull oracles such as Tellor or a custom implementation take a different approach by having applications request data on-demand. This results in superior cost efficiency for low-frequency use cases, as you only pay for data when you need it. However, it introduces a critical trade-off: the requesting contract assumes the latency and gas cost burden, and the protocol must have robust fallback logic if the oracle is unresponsive. A protocol like Uniswap v3, which uses its own time-weighted average price (TWAP) as a pull-based reference, must account for potential gaps in its own liquidity.

The key trade-off: If your priority is maximizing uptime and minimizing latency for critical, real-time functions like liquidations or perpetual swaps, choose a push oracle. If you prioritize cost control and can tolerate request latency or implement your own retry logic for less time-sensitive data, a pull oracle may be optimal. Your protocol's downtime tolerance directly dictates which oracle risk profile you can accept.

tldr-summary
PUSH ORACLES VS PULL ORACLES

TL;DR: Key Downtime Differentiators

How each oracle model handles data unavailability, network partitions, and smart contract failure states.

01

Push Oracle: Proactive Uptime

Guaranteed data delivery: Contracts receive updates automatically, even if the dApp's frontend is down. This is critical for liquidation engines (like Aave, Compound) and perpetual futures (like GMX) where missed price updates can cause systemic risk.

02

Push Oracle: Downtime Risk

Single point of failure: If the oracle node or its transaction broadcaster fails, all dependent contracts stop updating. This creates a protocol-wide halt, as seen in incidents with Chainlink's ETH/USD feed on Polygon in 2021, requiring manual intervention.

03

Pull Oracle: Resilient Design

Decentralized failure: Each dApp or user pulls data on-demand. If one data source (like Pythnet) is down, clients can query alternatives (like Switchboard, API3 dAPIs). This fault isolation prevents cascading failures across the ecosystem.

04

Pull Oracle: Liveness Dependency

Requires active callers: Smart contracts remain stale if no one calls the update function. This is problematic for low-traffic assets or during high gas periods, where bots may not submit updates, leading to outdated prices for lending pools.

HEAD-TO-HEAD COMPARISON

Push Oracles vs Pull Oracles: Downtime Behavior

Direct comparison of oracle data delivery models during network or provider outages.

Downtime MetricPush Oracle (e.g., Chainlink)Pull Oracle (e.g., Pyth, API3)

Data Delivery During Outage

User Transaction Cost During Outage

Gas fees lost on failed tx

No cost (no request made)

Protocol's Required Mitigation

Fallback oracles, circuit breakers

Graceful degradation, local caching

Typical Update Interval

Pre-defined (e.g., 1 block)

On-demand (user-initiated)

Primary Risk Vector

Stale/Unavailable Data

User Experience Friction

Best For

High-frequency automation (DeFi loans)

User-initiated actions (NFT mint, swaps)

pros-cons-a
Downtime Behavior Comparison

Push Oracle Downtime: Pros and Cons

How Push and Pull oracles handle data delivery failures. The core trade-off is between proactive reliability and reactive cost control.

01

Push Oracle: Proactive Uptime

Guaranteed delivery during downtime: Push oracles (e.g., Chainlink Data Streams, Pyth Network) continuously push data on-chain. If the oracle is down, the last valid data point persists, preventing a 'data vacuum' that could freeze protocols. This matters for high-frequency DeFi (e.g., perpetuals on dYdX) where stale data is preferable to no data.

02

Push Oracle: Higher Infrastructure Cost

Continuous on-chain cost: Maintaining constant data streams requires significant gas expenditure, regardless of market activity. For example, a Pyth price feed for ETH/USD updates ~400ms, incurring perpetual L1/L2 fees. This matters for budget-conscious protocols where data freshness can be sacrificed for cost efficiency.

03

Pull Oracle: Cost-Effective Resilience

Pay-per-query model: Pull oracles (e.g., Chainlink's Basic Request Model, Tellor) only incur gas costs when a user or contract explicitly requests data. During oracle downtime, the protocol stops incurring fees. This matters for event-driven or low-frequency applications like insurance (Nexus Mutual) or NFT lending that don't need millisecond updates.

04

Pull Oracle: Systemic Protocol Freeze Risk

Data requests fail silently: If the oracle node is offline, a pull request returns empty, potentially freezing core protocol functions (e.g., liquidations, minting). This creates a single point of failure that requires complex fallback logic. This matters for mission-critical DeFi where uninterrupted operation is non-negotiable.

pros-cons-b
ARCHITECTURAL COMPARISON

Push vs Pull Oracles: Downtime Behavior

How each oracle design handles service interruptions, from data source failure to network congestion. Downtime behavior is a critical factor for protocol resilience and user experience.

01

Push Oracle Downtime: Proactive Resilience

Guaranteed Data Delivery: The oracle network actively pushes updates on-chain. If a primary data source fails, the network's internal consensus (e.g., Chainlink's decentralized node operators) can switch to a backup source before submitting the final value, preventing stale data from being published.

This matters for high-value DeFi protocols like Aave or Compound, where a single stale price could trigger mass liquidations. The oracle's uptime is decoupled from the dApp's users.

02

Push Oracle Downtime: Centralized Failure Point

Single Point of Failure in the Feed: If the oracle network itself experiences an outage (e.g., node operator consensus failure, gas price spikes preventing transactions), all dependent smart contracts stop receiving updates. Recovery requires the oracle service to resolve its own issues.

This matters for protocols with absolute uptime requirements. An issue at Chainlink or Pyth Network can halt an entire ecosystem, as seen in the 2021 Mango Markets incident related to oracle lag.

03

Pull Oracle Downtime: User-Controlled Freshness

No Oracle Network Dependency: Data is fetched on-demand by the end-user's transaction. If one pull oracle (like Tellor or a custom DIA-style feed) is down, developers can design fallback logic to query an alternative source within the same transaction.

This matters for niche assets or long-tail markets where dedicated push feeds are economically unviable. It shifts the burden of availability to the dApp's front-end and contract logic.

04

Pull Oracle Downtime: Liveness Risk & UX Friction

Transaction Stalls on Source Failure: If the designated pull oracle data source is unavailable, the user's transaction will revert, leading to a poor experience and potential fund lockage. This requires robust client-side monitoring and user education.

This matters for mainstream consumer dApps where failed transactions equate to lost users. The liveness risk is transferred to the end-user, requiring more sophisticated error handling (e.g., Uniswap v3's fallback oracle system).

CHOOSE YOUR PRIORITY

When to Choose Which Model: A Scenario-Based Guide

Push Oracles for DeFi

Verdict: The Standard for High-Value, Time-Sensitive Data. Strengths: Push oracles like Chainlink Data Feeds provide continuous, low-latency price updates, which are critical for preventing liquidations in lending protocols (e.g., Aave, Compound) and securing perpetual swaps (e.g., GMX, dYdX). Their proactive delivery ensures the on-chain state is always current, minimizing the window for stale-price attacks. Downtime is catastrophic here; a pull model's latency could mean insolvency. Key Metric: Uptime SLAs >99.95% from major providers.

Pull Oracles for DeFi

Verdict: Niche Use for Cost-Optimized, Less Critical Functions. Strengths: A pull oracle like Pyth Network's pull-update design can be more gas-efficient for functions that don't require millisecond updates, such as calculating weekly yield distributions or updating governance parameters. The protocol controls the update timing and cost. However, during network congestion or high gas price volatility, critical updates may be delayed, introducing risk.

PUSH VS PULL ORACLES

Technical Deep Dive: Failure Modes and Recovery

Understanding how oracle architectures behave during network stress, data source failures, and chain congestion is critical for protocol resilience. This section compares the downtime characteristics of push and pull models.

A push oracle failure is more likely to cause a complete protocol stall. In a push model (e.g., Chainlink Data Feeds), the oracle pushes updates on-chain. If the oracle node goes down, updates stop, potentially freezing dApps that rely on fresh data. In a pull model (e.g., Tellor, API3 dAPIs), the protocol pulls data on-demand, so it can continue operating with stale data, albeit with potential inefficiency or risk.

verdict
THE ANALYSIS

Verdict: Choosing Your Oracle's Failure Profile

A data-driven breakdown of how push and pull oracles behave during downtime, helping you select the right failure mode for your protocol.

Push oracles (e.g., Chainlink Data Feeds) excel at providing high-frequency, low-latency data with a 99.9%+ historical uptime. They proactively push updates on-chain, which is critical for perpetual DEXs like GMX or lending protocols like Aave that require sub-minute price updates to manage liquidations. This model centralizes liveness risk on the oracle network itself; if the Chainlink node operators experience an outage, all dependent protocols may stall until service is restored, as seen in isolated incidents requiring manual intervention.

Pull oracles (e.g., Pyth Network, API3 dAPIs) take a different approach by storing signed data on a low-cost layer (like Pythnet) for users to pull on-demand. This results in a trade-off of latency for resilience. The oracle's core data pipeline can fail without immediately breaking dApps, as the last attested data point remains verifiably available. However, this shifts the burden of liveness and gas costs to the end-user or a relayer, which can be problematic for high-throughput automated systems that cannot tolerate the pull transaction's added latency and potential for front-running.

The key trade-off: If your priority is maximizing uptime for real-time automation (e.g., derivatives, money markets), choose a battle-tested push oracle and accept its centralized liveness risk. If you prioritize cost-efficiency, censorship resistance, and the ability to gracefully degrade (e.g., NFT pricing, less time-sensitive analytics), a pull oracle offers a more resilient failure profile where the protocol's core functions aren't hostage to the oracle's immediate liveness.

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
Push vs Pull Oracles: Downtime Behavior Comparison | ChainScore Comparisons