defirisk.co
rubric v1.7.0

Oracle staleness check present

Uniswap (v2 + v3)'s assessment for RD-F-059 — scored not_applicable on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.

Evidence summary #

No external oracle feed consumed; no staleness check applicable. V2 blockTimestampLast is updated on every swap/sync in the same block. V3 sqrtPriceX96 is written on every swap() call in the same transaction — always current by construction. No external feed updatedAt timestamp to check.

Detail #

UniswapV2Pair.sol: blockTimestampLast updated in _update() on every swap/mint/burn/sync. UniswapV3Pool.sol: slot0 updated in swap(). No latestRoundData() call, no updatedAt comparison, no maxStaleness configuration anywhere in V2 or V3 core.

Sources #

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 uniswap factor RD-F-059 score not_applicable collected_at 2026-05-12 10:36:11