defirisk.co
rubric v1.7.0

Immutable oracle address

Usual (USD0 / bUSD0 / USUAL)'s assessment for RD-F-180 — scored yellow on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.

Evidence summary #

ClassicalOracle is a TransparentUpgradeableProxy — oracle source addresses are stored in upgradeable storage via initializeTokenOracle mapping and ARE admin-replaceable. The ★ red criterion for F180 is the immutable-address pattern (address cannot be swapped without full upgrade). Usual's ClassicalOracle passes this test — address IS replaceable, so the core F180 failure mode (lending protocol cannot reprice post-depeg) is avoided. YELLOW because: (1) oracle addresses ARE replaceable (good), but (2) the missing live staleness guard (F059 red) means even correct oracle addresses can pass through stale data undetected; (3) no timelock on oracle address changes (admin can instantly re-point to a different feed). Not red because replaceability criterion is met.

Sources #

  • Etherscan
    ClassicalOracle Proxy — EtherscanClassicalOracle proxy at 0xb97e163cE6A8296F36112b042891CFe1E23C35BF — TransparentUpgradeableProxy confirmed; oracle addresses in mutable storage, admin-replaceableretrieved 2026-05-17
  • Docs
    ClassicalOracle | Usual Tech Docstech.usual.money ClassicalOracle: 'initializeTokenOracle(address token, address dataSource, uint64 timeout, bool isStablecoin)' — callable by DEFAULT_ADMIN_ROLE, meaning oracle addresses are updatableretrieved 2026-05-17

Methodology #

Determine whether any collateral oracle address is marked `immutable` in protocol config with no admin-replaceable adapter wrapper, preventing the protocol from repricing when the upstream asset depegs.

See the full factor methodology and distribution across all protocols →

rubric_version v1.7.0 protocol usual factor RD-F-180 score yellow collected_at 2026-05-16 20:39:44