Fixed-update oracles like Chainlink Data Feeds excel at providing high-frequency, low-latency data for assets with deep liquidity because they push updates at regular intervals (e.g., every block or 10 seconds). This results in sub-second latency for price data, which is critical for high-throughput DeFi protocols like Aave and Compound, which rely on these feeds for billions in TVL to execute liquidations and manage risk in real-time.
Fixed Updates vs On-Demand: Oracle Update Models Compared
Introduction: The Core Architectural Decision
Choosing between fixed-interval and on-demand oracles is a foundational choice that dictates your protocol's data reliability, cost structure, and user experience.
On-demand oracles like Pyth Network and API3 take a different approach by updating data only when a user transaction explicitly requests it. This pull-based strategy eliminates the gas cost of constant on-chain updates, resulting in a trade-off: significantly lower operational costs for less volatile assets, but introducing a request latency (typically 1-4 seconds) as the oracle network fetches and attests the latest data.
The key trade-off is between latency/certainty and cost efficiency. If your priority is ultra-low latency for real-time decisions (e.g., perps DEXs, money markets), choose a fixed-update oracle. If you prioritize minimizing operational costs for data that doesn't change second-by-second (e.g., insurance parameters, static reference rates), an on-demand model is superior.
TL;DR: Key Differentiators at a Glance
A quick scan of the core architectural trade-offs between periodic and request-response oracle models.
Fixed-Interval (e.g., Chainlink Data Feeds)
Predictable Cost & Latency: Updates occur on a set schedule (e.g., every block or 1 minute). This provides deterministic performance and gas cost budgeting, crucial for high-frequency DeFi protocols like perpetuals (GMX, Synthetix) and lending markets (Aave, Compound).
Fixed-Interval (e.g., Chainlink Data Feeds)
Passive Data Consumption: DApps simply read the latest value from an on-chain contract. This eliminates request overhead and is ideal for always-on price feeds where latency under 1-2 minutes is acceptable and data must be perpetually available.
On-Demand (e.g., Chainlink Functions, API3 dAPIs)
Freshness & Customization: Data is fetched only when a user transaction requests it, guaranteeing the latest value. This is essential for settling insurance claims, NFT gaming logic, or accessing any custom API where data updates are sporadic.
On-Demand (e.g., Chainlink Functions, API3 dAPIs)
Variable Cost & Complexity: Users pay per request, which can be high during network congestion. Requires handling asynchronous callbacks. Best for low-volume, high-stakes transactions or off-chain computation where the value of fresh data justifies the cost and integration complexity.
Fixed Updates vs On-Demand: Oracles
Direct comparison of key metrics and features for oracle update models.
| Metric | Fixed-Interval (PUSH) | On-Demand (PULL) |
|---|---|---|
Update Latency | ~5-60 sec (per interval) | < 1 sec (upon request) |
Gas Cost for Data | Protocol-subsidized | Requester-pays (~$0.10-$2.00) |
Data Freshness | Fixed schedule (e.g., every block) | Real-time, user-defined |
Infrastructure Cost | High (continuous updates) | Low (updates only on demand) |
Best For | High-frequency DEXs, Lending | NFT Mints, Settlements, Low-Traffic dApps |
Example Protocols | Chainlink Data Feeds, Pyth Network | API3 dAPIs, Chainlink Functions |
Fixed Updates vs On-Demand: Oracles
Direct comparison of operational cost models for oracle data delivery.
| Cost Metric | Fixed-Update Oracles | On-Demand Oracles |
|---|---|---|
Primary Cost Driver | Per-Update Fee (Gas) | Per-Request Fee (Gas + Premium) |
Cost Predictability | Fixed, recurring schedule | Variable, usage-based |
Ideal for | High-frequency data (e.g., price feeds) | Low-frequency, custom data |
Gas Overhead (Avg.) | ~100K gas/update (shared) | ~300K gas/request (dedicated) |
Provider Examples | Chainlink Data Feeds, Pyth Benchmarks | Chainlink Functions, API3 dAPIs |
Fixed-Update (Push) Model: Pros and Cons
A technical breakdown of the two primary data delivery models for oracles, highlighting key architectural trade-offs for protocol architects.
Fixed-Update (Push) Model: Key Strength
Predictable Latency & Cost: Data updates occur on a fixed schedule (e.g., every block, every 30 seconds). This provides deterministic gas costs for protocols like Aave and Compound, which rely on regular price feeds for liquidations. No surprise fee spikes for users.
Fixed-Update (Push) Model: Key Weakness
Data Staleness Risk: During periods of high volatility, the pre-defined update interval may be too slow. A token price could crash between updates, leading to under-collateralized positions in DeFi protocols before the oracle can react, creating systemic risk.
On-Demand (Pull) Model: Key Strength
Freshness on Request: Data is fetched only when a user transaction requires it (e.g., a swap on Uniswap V3 using a TWAP oracle). This guarantees the data is as fresh as the latest block, critical for high-frequency trading or settlement of derivatives like those on dYdX.
On-Demand (Pull) Model: Key Weakness
Unpredictable & High User Cost: The requester pays the gas for the data fetch, which can be expensive and variable. This creates a poor UX for simple queries and can make small transactions economically unviable, a common critique of early Chainlink request-and-response models.
On-Demand (Pull) Model: Pros and Cons
Key strengths and trade-offs at a glance. The fundamental architectural choice between proactive data pushes and reactive data pulls.
Fixed Updates: Predictable Cost & Latency
Guaranteed data freshness: Updates occur at predefined intervals (e.g., every block, every 30 seconds). This provides deterministic latency and cost, crucial for high-frequency DeFi protocols like perpetual swaps (GMX, Synthetix) that require consistent state synchronization. Budgets are fixed, not variable.
Fixed Updates: Simpler Integration
Set-and-forget configuration: Developers integrate once (e.g., Chainlink Data Streams, Pyth's pull oracle). No need to manage transaction lifecycle for each data request. This reduces smart contract complexity and is ideal for automated systems (liquidations, rebalancing) and new teams prioritizing development speed.
On-Demand: Superior Cost Efficiency
Pay-per-query model: Users pay only when data is needed, eliminating fees for unused updates. For low-frequency applications (NFT floor price checks, quarterly settlement, insurance claims), this can reduce oracle costs by >90% compared to continuous streaming. Protocols like API3 dAPIs and RedStone leverage this.
On-Demand: Access to Long-Tail Data
Unlocks niche feeds: Economically feasible to source data that doesn't justify a continuous stream (e.g., specific sports scores, weather data, custom TWAPs). This enables novel DeFi and RWA use cases (parametric insurance, prediction markets) that fixed-update oracles cannot support cost-effectively.
Fixed Updates: Higher Baseline Cost
Inefficient for sporadic use: Paying for data every block or minute is wasteful if your dApp only needs an update hourly or upon user action. This creates significant overhead for user-initiated applications like one-off price checks or infrequent settlement, eroding profit margins.
On-Demand: Added UX & Complexity
Requires meta-transactions: Users must often sign an additional transaction to "pull" the data, adding friction. Smart contracts must handle the request-response lifecycle, increasing integration complexity and gas overhead. Not ideal for seamless, gasless user experiences expected in consumer dApps.
Decision Framework: When to Use Which Oracle Model
Fixed-Interval Updates for DeFi
Verdict: The Standard for Core Money Legos. Strengths: Predictable, high-frequency data (e.g., every block or 3-5 seconds) is critical for AMMs like Uniswap, lending protocols like Aave, and stablecoins like DAI. This model ensures price oracles from providers like Chainlink or Pyth are always fresh, preventing stale price attacks. It's battle-tested for high TVL applications where liveness is non-negotiable.
On-Demand (Pull) Updates for DeFi
Verdict: Niche Use for Capital Efficiency. Strengths: Ideal for less time-sensitive, high-cost data feeds. Use for insurance protocols (e.g., Nexus Mutual for payout triggers), options settlements, or governance oracles where data is needed only upon claim execution or epoch completion. Reduces operational costs versus constant updates. Best paired with a data authenticity layer like Pragma or API3's dAPIs for specific endpoints.
Final Verdict and Recommendation
Choosing between fixed-update and on-demand oracles is a foundational architectural decision with significant cost, latency, and reliability implications.
Fixed-update oracles (e.g., Chainlink Data Feeds, Pyth Network) excel at providing ultra-reliable, low-latency data for high-frequency applications because they push pre-aggregated data to the blockchain at regular intervals. For example, Pyth's Solana price feeds update every 400ms with sub-second finality, making them ideal for perpetual DEXs like Drift Protocol and on-chain order books. This model guarantees data freshness for all users simultaneously but incurs continuous gas costs for the network, regardless of usage.
On-demand oracles (e.g., Chainlink Functions, API3 dAPIs, Tellor) take a different approach by fetching and delivering data only when a user's smart contract explicitly requests it. This results in a fundamental trade-off: significant cost savings for low-frequency queries (pay-per-call vs. continuous subsidy) but introduces higher per-request latency (often 2-4 blocks) and requires the requesting contract to handle the callback. This is optimal for insurance protocols like Etherisc processing infrequent flight data or NFT platforms verifying off-chain metadata.
The key trade-off is between predictable performance and variable cost. If your priority is ultra-low latency and maximum uptime for a core financial primitive—such as a lending protocol's liquidation engine or a spot DEX—choose a fixed-update oracle. Its consistent data stream is non-negotiable for these use cases. If you prioritize cost efficiency for sporadic, application-specific data or need to call a custom API, choose an on-demand oracle. Its pull-based model aligns costs directly with usage, preventing waste for infrequent operations.
Build the
future.
Our experts will offer a free quote and a 30min call to discuss your project.