defirisk.co
rubric v1.7.0

Oracle price deviation >X% from secondary

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

Evidence summary #

V2+V3 combined structural N/A. V2 core uses constant-product invariant (x*y=k) — no external oracle consumed for swap pricing. V3 core uses constant-product invariant within tick ranges — no external oracle consumed. Both V2 and V3 EXPOSE TWAP oracles outbound but do not CONSUME any oracle. 19 Chainlink feeds in data cache are false positives (feeds reading V3 TWAP output or interface artifacts, not feeds consumed by V2/V3 core). Signal structurally inapplicable.

Detail #

V2 oracle exposure: price0CumulativeLast, price1CumulativeLast (outbound TWAP accumulators). V3 oracle exposure: observe() function and cardinality slots (outbound TWAP service). Neither V2 nor V3 reads any external oracle during swap execution. The 19 Chainlink feeds in the data cache (USDT/USD, ETH/USD, BTC/USD, etc.) are feeds that READ V3 pool prices or are used by downstream integrators — they are NOT consumed by V2/V3 core Pool contracts. Source: V3 whitepaper §3 explicitly states no external price oracle is read during swaps. V3Factory source code at 0x1F98431c8aD98523631AE4a59f267346ea31F984 confirmed via Etherscan — no oracle feed read calls in core contracts.

Sources #

  • Docs
    Uniswap V3 Whitepaper §3Uniswap V3 whitepaper §3 — constant-product invariant within tick ranges; no external oracle consumed for swap pricingretrieved 2026-05-12
  • Etherscan
    UniswapV3Factory Source — No Oracle ReadsUniswapV3Factory 0x1F98431c8aD98523631AE4a59f267346ea31F984 — source code contains no oracle feed readsretrieved 2026-05-12

Methodology #

Detect whether the primary oracle's reported price deviates >X% from the best available secondary source (another feed or venue).

See the full factor methodology and distribution across all protocols →

rubric_version v1.7.0 protocol uniswap factor RD-F-099 score not_applicable collected_at 2026-05-12 10:36:11