Oracle staleness check present
Ethena's assessment for RD-F-059 — scored yellow on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
No on-chain staleness check confirmed in EthenaMinting V2 source. The contract has no require(updatedAt > block.timestamp - X) pattern. Staleness management is entirely off-chain: Pyth and Redstone provide real-time feeds managed by their respective infrastructure. Chainlink PoR feeds (attestation-only) have heartbeats from 3600s to 86400s — no on-chain staleness enforcement in Ethena contracts consuming these feeds. The absence of on-chain staleness enforcement is a moderate concern, mitigated by the off-chain GATEKEEPER_ROLE monitoring.
Sources #
- Partner feedrisk-dashboard/.research/protocols/ethena/00-data-cache.json oracle_feeds[] heartbeat_seconds valuesretrieved 2026-04-28
- https://github.com/code-423n4/2023-10-ethena/blob/main/contracts/EthenaMinting.solretrieved 2026-04-28
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 →