Oracle staleness check present
Multipli's assessment for RD-F-059 — scored red on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
xToken vaults: MultipliVault.sol public source has no timestamp validation in onUnderlyingBalanceUpdate() — the balance push is accepted without an on-chain staleness check. If ORACLE role holder stops updating, vault share price is stale indefinitely; the PPS circuit breaker only triggers on movement, not on freeze. rwaUSD: staleness documented (STALE status, 'NAV not updated within SLA') but SLA duration not published. Chainlink staleness check (updatedAt validation) not confirmable in non-public vault contracts.
Sources #
- GitHubMultipliVault.sol — absence of staleness check on balance pushMultipliVault.sol v2 — onUnderlyingBalanceUpdate function body reviewed; no updatedAt timestamp validation or staleness threshold present in public sourceretrieved 2026-05-17
- Multipli docs — rwaUSD staleness handling (SLA undisclosed)docs llms-full.txt — rwaUSD STALE status referenced; 'if NAV not updated within SLA' but SLA duration not specifiedretrieved 2026-05-17
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 →