Fallback behavior on oracle failure
Curve Finance's assessment for RD-F-051 — scored yellow on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
StableSwap-NG: no fallback oracle behavior. _stored_rates() performs raw_call with no try/catch — if the external rate oracle reverts, the entire call stack reverts (pool frozen for swaps involving that asset). CryptoSwap v2 internal EMA: no external oracle dependency, cannot fail externally. No documented circuit breaker, secondary oracle, or last-known-price fallback for StableSwap-NG rate oracles. Fallback behavior is effectively: pool freeze on oracle failure.
Sources #
- GitHubCurve StableSwap-NG main contractCurveStableSwapNG.vy _stored_rates(): raw_call(is_static_call=True) with no error handling, no fallback pathretrieved 2026-04-28
Methodology #
Identify the declared fallback behavior (pause, secondary source, last-known-price, revert) when the primary oracle reverts or reports a stale value.
See the full factor methodology and distribution across all protocols →