defirisk.co
rubric v1.7.0

Oracle staleness check present

Stake DAO's assessment for RD-F-059 — scored green on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.

Evidence summary #

BaseOracle.sol enforces staleness check: require(latestPrice > 0 && updatedAt > block.timestamp - maxStale, InvalidPrice()). Per-feed maxStale heartbeat configured at construction. Data cache confirms: ETH/USD (0x5f4eC3Df...) heartbeat 3600s (deviation 0.5%), USDC/USD (0x8fFfFfd4...) heartbeat 82800s, BTC/USD (0xF4030086...) heartbeat 3600s. ETH/USD 3600s is within the taxonomy green threshold (≤3600s for volatile assets). USDC/USD 82800s is appropriate for a stablecoin (slow-moving asset). Core locker path: oracle-free, not applicable.

Sources #

  • Internal
    Data cache oracle heartbeat configuration.research/protocols/stake-dao/00-data-cache.json — oracle_feeds heartbeat values: ETH/USD 3600s, USDC/USD 82800s, BTC/USD 3600sretrieved 2026-05-16
  • GitHub
    BaseOracle.sol staleness check implementationpackages/periphery/src/lending/oracles/BaseOracle.sol — _fetchFeedPrice() staleness: require(latestPrice > 0 && updatedAt > block.timestamp - maxStale)retrieved 2026-05-16

Methodology #

Determine whether the protocol rejects oracle reads older than a declared maximum age (i.e., checks `updatedAt > block.timestamp - maxStaleness`).

See the full factor methodology and distribution across all protocols →

rubric_version v1.7.0 protocol stake-dao factor RD-F-059 score green collected_at 2026-05-16 12:29:20