Asymmetric Research Asymmetric Research × Solana Foundation Solana Foundation

Oracle / external dependencies

Every protocol depends on systems it does not run, such as oracles, bridges, keeper networks, and programs invoked via CPI. These controls require that each dependency be mapped, its failure bounded, and its liveness monitored.

Dependency mapping enumerates every external system the protocol relies on and states what each is trusted to do. The controls in the rest of this pillar can only be applied to dependencies the team has written down.

E1.1

All external dependencies are enumerated, including oracles, bridges, keeper networks, programs invoked via CPI, and off-chain data sources. Explicit trust assumptions are documented for each.

E1.2

For every dependency, the failure modes are specified, covering what happens if it lies, goes stale, or disappears.

E1.3

Trust boundaries are drawn, distinguishing what the protocol verifies from what it assumes to be correct.

Oracle manipulation is a routine attack on DeFi protocols. Resistance comes from independent sources, a documented aggregation method, and deviation bounds enforced on-chain rather than from trust in any single provider.

E2.1

Price feeds use multiple independent sources where feasible.

E2.2

The aggregation method is documented, whether median, TWAP, or weighted average.

E2.3(critical control)

Confidence intervals or deviation thresholds are enforced on-chain.

E2.4

Known threat vectors for the protocol’s oracle architecture are identified and mitigated.

E2.5

The oracle selection rationale is documented, covering why this provider, for this asset, at this update frequency.

A price feed that stops updating keeps reporting its last value, and the protocol keeps acting on it. Every external input needs an enforced maximum age and a specified behavior for when fresh data stops arriving.

E3.1(critical control)

The maximum acceptable age for every external input is defined and enforced on-chain.

E3.2

Fallback behavior when inputs are stale or unavailable is specified.

E3.3

Liveness monitoring is in place for every critical external input.

Containment limits what any single dependency failure can cost. Per-market oracle assignment, bridge deposit limits, and per-collateral exposure caps keep one bad feed or one drained bridge from cascading through the whole protocol.

E4.1(critical control)

No single failure can unnecessarily drain the protocol.

E4.2

Exposure per external dependency is capped or isolated, for example through per-market oracle assignment, bridge deposit limits, or maximum exposure per collateral type.