Push vs. Pull-Based Oracles: Choosing the Right Model for Your Onchain Application
Push-based oracles push data onchain at a predefined cadence, while pull-based oracles enable data to be pulled onchain as needed.
Oracles act as bridges between blockchains and the real world, enabling smart contracts to leverage information external to the blockchain. However, how the external data is delivered can significantly impact performance, cost, functionality, and more.
This post explores two major oracle architectures—push-based and pull-based—to help developers understand their respective benefits and choose the right approach for their application. We’ll look at how oracles work, how these models differ, and how the Chainlink data standard supports both approaches to meet the data requirements of any onchain use case.
What Are Blockchain Oracles?
Blockchain oracles provide smart contracts with access to the offchain resources required to unlock advanced use cases. Without oracles, smart contracts are blind to the outside world. They can’t access real-world information like asset prices, proof of reserves, NAV data, and more.
When it comes to external data, this most commonly takes the form of data feeds—oracle networks that regularly fetch data and create aggregated oracle reports. These represent a consensus of multiple independent oracle nodes that aggregate data from multiple sources, typically via a median value.
However, the way these reports are delivered onchain can vary significantly depending on whether a push-based or pull-based model is used.
Overview of Push vs. Pull-Based Oracle Models
When designing an onchain application, it’s important to understand the different data delivery models:
- Push-based oracles proactively publish oracle reports onchain at a predefined cadence, including a time-based heartbeat and a deviation threshold. This creates a reliable onchain record that blockchain applications can immediately consume, commonly used by onchain lending markets.
- Pull-based oracles generate a constant stream of oracle reports on a sub-second basis, which users and applications can pull onchain when needed. This model supports latency-sensitive use cases such as onchain perps markets, which need fresh data when opening and closing trades.
The key difference between the two data delivery models is how data lands onchain. In the push model, the data oracle network publishes data onchain, while in the pull model, the application or Automation infrastructure does. Both models have offered advantages depending on an application’s specific data requirements.
Push-Based Oracles
In the traditional data feed model, an oracle network updates an onchain reference smart contract with new oracles reports at a predefined cadence, based on triggers. These triggers are typically based on a percentage deviation threshold since the last update (e.g., if the offchain price has moved by 0.5% since the last onchain update) and/or a time-based heartbeat value (e.g., there has been 10 minutes since the last onchain update).
The reference contract acts as an onchain representation of a specific data point kept up to date with fresh data. Other smart contracts can then read this data on demand and act based on the current or historical values. Push-based data feeds provide a seamless developer experience, ideal for lending protocols that depend on reliable onchain data being available for liquidations.
Over the past half-decade, Chainlink Data Feeds have become the standard for price data across DeFi, used by some of the largest DeFi protocols, including Aave, SparkLend, Compound, Euler, Morpho, and many more.

Pull-Based Oracles
For latency-sensitive use cases, pull-based oracles offer an alternative approach. In this model, oracle reports are continuously generated offchain and made available for blockchain applications and Automation infrastructure to pull onchain when needed.
While the process of fetching, aggregating, and generating consensus on data points remains the same, pull-based oracles enable onchain apps to pull fresh reports on-demand, minimizing the time between the creation of an oracle report and its onchain consumption.
Chainlink Data Streams is a pull-based oracle solution, where data is aggregated at sub-second intervals, where applications can pull this data onchain at any time. This enables the creation of high-frequency DeFi apps secured by Chainlink’s decentralized low-latency data infrastructure such as decentralized perps exchanges.

In addition to on-demand access to real-time data, Data Streams offers advanced features such as liquidity-weighted bid-ask spread data and end-to-end data customization. With these features, onchain apps can gain unparalleled market insights and customization that lets them deliver a premium user experience.
Chainlink Data Streams is leveraged by leading DeFi perps exchanges and lending markets, including GMX, Jupiter, and Kamino.
How Chainlink Supports Both Push and Pull-Based Oracle Models
The Chainlink data standard is designed to support both push-based and pull-based oracle architectures, giving developers the flexibility to choose the right delivery method for their use case:
- Data Feeds offer reliable, widely adopted push-based data delivery for use cases such as lending.
- Data Streams provide ultra-low-latency, pull-based data access for latency-sensitive use cases such as perps.
The push-based and pull-based architectures are each optimized for different operational needs. For example, Aave, the largest lending protocol by TVL, leverages Data Feeds to access reliable price data—ideal for valuing assets on its platform and creating a robust liquidation mechanism. Kamino, the largest lending protocol by TVL on Solana, utilizes Data Streams to access ultra-low-latency market data on demand, enabling dynamic risk management.
By supporting both models, Chainlink helps developers meet a wide range of performance and cost requirements—whether they need reliable periodic onchain updates, ultra-fast real-time data, or a combination of both. The result is a connected, data-rich environment that empowers developers to create novel onchain finance use cases powered by secure and reliable data.