Skip to main content
Stale or manipulable price feeds are the single largest category of DeFi loss. Before Alterscope can reason about a lending market’s risk, it has to understand how that market gets its prices — how many feeds, in what arrangement, and how fresh. This page describes how Alterscope classifies an oracle configuration and turns it into a risk signal.
Oracle classification today covers Morpho-style Chainlink oracle adapters (MorphoChainlinkOracleV2). Coverage for other oracle architectures is rolling out — see Coverage & gaps.

Oracle category

Alterscope assigns each market’s oracle a category based on the structure of its feeds and vaults. The category is decided purely by how many active price feeds the adapter uses and whether it includes exchange-rate vaults: Category matters because it bounds how manipulable a price is: a multi_feed configuration with redundant sources is harder to attack than a fixed_price or vault_only one, and no_oracle is treated as a hard failure.

Feed roles

Within a multi-leg oracle, each individual feed is tagged with the role it plays in deriving the final price: Roles let Alterscope reason about coverage — for example, flagging when a collateral or loan asset’s price leg is missing — rather than treating the oracle as an opaque box.

Staleness vocabulary

Every feed is checked against its expected update cadence (its heartbeat). Alterscope reports an oracle-specific staleness status: Composite discipline: in a multi-feed oracle, if any leg is unknown, the whole oracle is escalated to unknown. The platform never reports a composite as fresh when one of its inputs cannot be verified — a direct application of the freshness-first principle.
This is the oracle-feed staleness vocabulary. It is distinct from the response-envelope freshness status (realtime / fresh / stale / unknown) that every API response carries — see Freshness & staleness. The envelope tells you how fresh the response is; this tells you how fresh the underlying price feed is.

From classification to a risk score

Classification feeds a rule-based oracle risk scorecard. The score starts at 100 and applies deductions for structural and freshness weaknesses — for example, a fixed-price configuration, uncovered collateral or loan legs, a stale or approaching-stale feed, admin-controlled parameters, or an unknown aggregator. Configurations that cannot price the market at all (a scale-factor mismatch, or no_oracle) score zero. The result maps to a plain risk band:
The oracle risk scorecard is a rule-based expert scorecard — the deductions encode domain judgment about which configurations are riskier. It is not a statistically calibrated probability model; read the band as a structured risk indicator, not a likelihood.
Downstream, the oracle category and staleness status feed the oracle factor in the composite score and surface directly on the oracle-health and market endpoints in the API reference.

Where this shows up

Oracle classification, feed roles, staleness, and the risk band are returned by the oracle and market endpoints. As always, results carry freshness and quality metadata. What this model does not yet cover is on the Limitations page.