defirisk.co
rubric v1.7.0

Oracle staleness check present

dYdX v4 (dYdX Chain)'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 #

Staleness check confirmed. GetMarketIdToValidIndexPrice() in market_price.go explicitly checks: (1) 'last update time is within a predefined threshold away from the given read time,' AND (2) 'number of prices that meet [the time requirement] are greater than the minimum number of exchanges specified.' Both must hold. Validator Slinky config recommends price TTL of 10 seconds. Both freshness and multi-source conditions are source-verified.

Sources #

  • GitHub
    market_price.go — dYdX v4-chainmarket_price.go: GetMarketIdToValidIndexPrice — 'An index price is valid iff: 1) the last update time is within a predefined threshold away from the given read time. 2) the number of prices that meet 1) are greater than the minimum number of exchanges specified in the given input.'retrieved 2026-05-17
  • Docs
    Running a Validator — dYdX DocsValidator docs: Slinky client timeout 250ms, price TTL 10 seconds as recommended defaultsretrieved 2026-05-17

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 dydx-v4 factor RD-F-059 score green collected_at 2026-05-17 09:58:47