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 #
- GitHubmarket_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
- 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 →