Fallback behavior on oracle failure
GMX v2 (GMX Synthetics)'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 #
No automatic on-chain fallback on oracle failure. If GmOracleProvider signature verification fails (insufficient valid signers, stale timestamp, invalid signature), Oracle.sol setPrices() reverts — the order execution fails. Keepers must manually switch delivery mechanisms. ChainlinkPriceFeedProvider exists as a configurable alternate provider but is not auto-activated on primary failure. GMX docs known-issues acknowledges manual keeper intervention required.
Detail #
GmOracleProvider.sol source: if signers.length < MIN_ORACLE_SIGNERS or any validation check fails, reverts with specific error. No try/catch or fallback route to ChainlinkPriceFeedProvider in Oracle.sol. Template: yellow = primary only, no formal fallback, but manual fallback possible via keeper reconfig.
Sources #
- DocsGMX Contracts Known IssuesGMX known-issues — keepers must manually pause/recover during oracle outageretrieved 2026-05-05
- GmOracleProvider.solGmOracleProvider.sol — reverts on signature failure, no fallbackretrieved 2026-05-05
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 →