
Price Appears Stale
A "stale" price means the oracle hasn't updated recently, and the lastUpdateTime is older than your protocol's tolerance. This is not necessarily an error (stablecoins update only when needed), but it requires careful handling.
Common Causes
Normal Behavior for Stable Assets Stablecoins near peg change slowly → updates are infrequent to save gas. Expect intervals of minutes to hours.
Low Deviation No update triggered because price movement < threshold (e.g., <0.2%).
Source or Relayer Delays Temporary issues with data sources or decentralized relayers (rare on Base).
Network Congestion High gas periods delay submissions (uncommon on efficient L2s like Base).
Diagnosis Steps
Check Current Age
uint256 age = block.timestamp - info.lastUpdateTime;<30 minutes: Likely normal.
1–4 hours: Typical for tight-pegged stablecoins.
6 hours: Investigate.
Compare Across Assets If all feeds are stale → possible relayer issue. If only one → asset-specific (low liquidity sources).
View On Explorer
Basescan → Contract → Events tab → Filter
PriceUpdated.See timestamp of last event for your asset ID.
Recommended Actions
Increase Tolerance → Start with 2–4 hours for stablecoins; tighten only after monitoring real update patterns.
Implement Fallbacks → Use cached price, secondary oracle, or pause critical functions (see Building Fallback Strategies).
Monitor Actively → Set up alerts (see Running Price Monitoring).
Report Prolonged Issues → If an asset remains stale >12 hours, contact us via Discord or [email protected].
Staleness is expected during calm markets — design your protocol to handle it gracefully rather than assuming constant updates.
This concludes the Troubleshooting section.
Next: Explore the Reference section for comprehensive lists and info.
Last updated
Was this helpful?

