The Final Outputs
Risk Tiers
The tier is set from each 20-minute score; it is not smoothed across ticks. Noise is handled by the false-positive guards and data-gap rules below.
Signal Weights (the Building Blocks)
Each signal is normalized to 0–1 before weighting. When a signal has no data for a given token, it is skipped and all remaining weights are renormalized to sum to 1.0 — so a missing signal never drags the score down on its own. A missing price feed is different: see Alerting and Data Gaps below. The 16 core signals below sum to 1.0. Reserve Attestation Staleness (~4%) is a conditional 17th signal, scored only for tokens with a published attestation source; when it applies it is added and the full set renormalizes back to 1.0.Price & Peg Deviation
Persistence (Duration Off-Peg)
Liquidity & Market Depth
Cross-Chain & Supply
Reserve Attestation
Volatility & Oracle
DEX/CEX disagreement adjustment: When both DEX and CEX prices are available and disagree — DEX stressed but CEX calm — the DEX
price_deviation_5m weight is reduced by 30%, since the stress is likely a DEX-specific liquidity issue rather than a real depeg. The cex_only_stress guard (see below) handles the reverse case: CEX stressed, DEX calm.Scoring Guards & Modifiers
Six post-computation guards adjust the final score to reduce false positives and prevent single-signal dominance.When any guard fires, a meta-entry (
corroboration_gated, confluence_demotion, supply_spike_gated, bridge_flow_spike, cex_only_stress) is appended to the drivers array so the dashboard and alert callers can surface why a tier was adjusted. When the tier is set to premium (trading 2%+ above peg with no risk signal), a premium_override meta-entry is appended the same way. It has weight 0 and contribution 0: it is a marker, not a scoring input, and adds nothing to the score.Token Type Adjustments
Different token types have fundamentally different expected behaviors. A yield-bearing token like sUSDe is designed to accrue value above $1 — scoring it against a strict $1 peg would produce constant false positives. The model adjusts the price deviation normalization curve per type.Alerting and Data Gaps
Tier-change alerts. Webhook subscribers get an alert when a token’s tier changes from the last tier we delivered for that token and chain. A token seen for the first time already aboveok alerts too, so a token that appears in trouble is never silent. An escalation built on an untrusted price reading is suppressed; a recovery (a tier moving back toward ok) is still sent.
Price feed gaps. When the price feed drops out, the deviation signal reads zero. If the token was already in watch, warning or critical, the last real score is carried forward instead of publishing a false all-clear. The carry stops after 6 hours, or immediately if the age of the last reading is unknown.
Earlier versions of this page described a velocity boost (up to +15 points for a fast-rising score) and two-tick confirmation before a tier change. The production monitor applies neither. The tier comes from each 20-minute score; the guards on this page reduce the influence of thin or uncorroborated data on it.
Low Signal Coverage Guard
When a score reaches ≥50 (Warning range) but fewer than 5 signals have data AND the price is currently at peg, the tier is automatically demoted from warning to watch. This prevents a thin-data token from entering a warning state on the strength of one or two signals alone. All 5+ active signals must agree before a warning is confirmed.State Flags (Binary Crisis Indicators)
These six flags are computed separately from the numeric score and surfaced alongside it in the API. They name specific crisis types that are active right now — a score of 72 tells you how bad; the flags tell you what kind.How Depeg Risk Feeds into Vault Scoring
The live depeg monitor output is merged into every vault’s composite risk score via the depeg overlay module. It runs at pipeline time, applies the worst-case signal across all chains where the underlying token trades, and contributes to the vault composite at 5% weight.depeg_sub_score vs monitor score
The monitor score measures real-time market stress (all 16 signals: slippage, persistence, supply, oracle). The depeg_sub_score fed into the vault composite is narrower — it focuses on capital loss risk from peg deviation and persistence alone, plus a floor from the monitor score to catch liquidity collapse events even before price moves.Vault Recommendation Actions
When a depeg is active, the overlay generates a recommendation for vault holders:- EXIT — critical tier + ≥30% peg deviation
- REDUCE — critical + ≥5% deviation
- MONITOR — critical/warning + any deviation
- WATCH — warning tier OR score ≥50
API Response Fields
The/latest endpoint returns a snapshot of every tracked token. Vault objects from /vaults include monitor_tier and per-composition depeg_score.
Signal Weight Hierarchy at a Glance

