How Often Do Oracles Update Prices?
There is no fixed answer. The update frequency depends on which type of oracle you are using — Push mode updates at fixed time intervals, Pull mode updates on demand, and TWAP (Time-Weighted Average Price) mode updates are triggered by blocks or transactions. You need to first confirm which type the protocol you are using has integrated.
A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!
Identify Which Oracle Mode Your Protocol Uses
This is the first step in determining the update frequency. Different modes have completely different logic.
Case A: Push Mode — Oracle nodes actively push price data on-chain at fixed time intervals. This interval is set by the project team and typically ranges from a few seconds to several minutes. Drift Protocol's original Push oracle updated data every 400 milliseconds, but delays occurred during network congestion.
Case B: Pull Mode — The oracle only provides signed price data; the consumer (protocol) pulls it on-chain when needed. There is no fixed update frequency — "update on request only." Pyth's Pull oracle operates in this manner, enabling on-demand price updates to remain timely even during congestion.
Case C: TWAP Mode (Time-Weighted Average Price) — Price updates are tied to transactions or blocks. Take Uniswap V3's TWAP oracle for example: on each block (Layer 1, ~12 seconds) or each sequencer timestamp update (Layer 2, e.g., Arbitrum ~1 minute), price data is only stored when a trade occurs.
Examine the Specific Trigger Conditions for Updates
Even within the same mode, the timing of updates can vary.
Case A: Time Interval Triggered — Common in Push mode. You need to check the project documentation for "Heartbeat" or "Up dat e Interval" parameters. For example, Chainlink Data Streams' real-time streaming updates send a heartbeat message at a fixed 5‑second interval.
Case B: Price Deviation Threshold Triggered — An update is triggered when the deviation between off-chain and on-chain prices reaches a certain percentage, rather than waiting for a timer. API3's default strategy actively updates when the deviation reaches 1%, but it also allows OEV searchers to initiate a price update auction when they capture a 0.1% deviation opportunity, enabling higher‑frequency updates.
Case C: Actual Trade Triggered — Some oracles only update when a real trade occurs on the underlying asset. Chainlink's Tokenized Asset data feed works this way: updates are fast during active markets, but no redundant updates are generated during quiet periods.
Key Reminder: The "update every XX milliseconds" advertised in documentation usually refers to the frequency of off‑chain data generation, not the actual update frequency stored in the on‑chain contract. On‑chain updates are affected by gas fees and network congestion; the actual interval may be longer.
Verify the Real Update Time On‑Chain
Don't just rely on project claims — checking on‑chain yourself is the most reliable approach.
How to do it: On a blockchain explorer (such as Etherscan), find the oracle contract used by the protocol and locate the method that queries price data (e.g.,
latestRoundDataorgetPrice).Check these fields: Look at the
updatedAtorblockTimestampfield in the returned result. This timestamp is the last time the price data was written on‑chain.When to consider it done: Query that timestamp multiple times in succession, calculate the interval between two updates, and obtain the protocol's actual update frequency in a real network environment.
A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!
Common Reasons for Failure and Risk Warnings
Common failure reasons (based on real user feedback): Users mistakenly think that a contract's "read method" returns a real‑time price, only to be front‑run or liquidated during high volatility. The reason is that the read method returns the price from the most recent on‑chain update; if within an update interval, that price already lags behind the market.
Risk warning: If a protocol uses a TWAP oracle with a short window (e.g., 10 minutes), it is vulnerable to flash loan manipulation attacks; if the window is too long (e.g., 24 hours), it cannot reflect the latest market price, potentially leading to unreasonable liquidation prices. Take Aave as an example: over the past three years, its total liquidations exceeded $2 billion and liquidation bonuses exceeded $100 million, a significant portion of which stemmed from oracle price update latency.
How to confirm an operation was completed correctly:
For developers: Before deploying a protocol that uses an oracle, call and observe the updatedAt field on a testnet, record the actual update intervals over a full transaction cycle, and compare them with the values claimed in the documentation. For regular users: Before trading or adding liquidity, check the current quote timestamp on the front‑end page (or by reading the contract). If that timestamp is more than 2–3 times the normal update interval behind the current time, it indicates that the oracle may be lagging, and it is advisable to postpone the operation.
