Skip to main content
Peg Canary Score is a forward-looking stress indicator, not a depeg confirmation. The live risk score detects an active depeg; Peg Canary Score catches the structural and market conditions that typically precede one — often 6–48h before price breaks.

Peg Canary System vs the Live Risk Score

Threat Bands

Screenshot 2026 04 13 At 11 09 13 AM

The 11 Pre-Depeg Signals

Each signal is normalized to 0–1 before weighting. Missing signals are skipped and all remaining weights are renormalized to sum to 1.0, so data gaps never inflate the score.

Reading PCS in the API Response

Each token entry you get from /rwa/peg-canary carries the score plus two signal fields — and you should not read them on the same scale: You get nine keys in sub_signals, in three groups:
  • Driver-backed, 0–1: supply_velocity, mint_burn_flow, cross_source_divergence, and blacklist_activity carry the same normalized value you find in drivers[].
  • Raw pipeline inputs, per-key units: pool_balance_drift is the pool share ratio, liquidity_erosion is the % change in liquidity vs the 7-day average (it can be negative), yield_anomaly is the current APY, and whale_concentration is the top-10 supply percentage.
  • Always null: price_confidence is a source-confidence label (high / medium / low / fallback) upstream, so the numeric payload carries it as null — read its normalized 0–1 value from drivers[] instead.
Expect any key to be null when its input was unavailable. mint_role_centralization and tvl_supply_divergence never appear in sub_signals — you can only read them through drivers[].
Never render sub_signals values on a 0–100 severity scale. A raw liquidity_erosion of 3.55 (a 3.55% liquidity change) scaled ×100 draws a full-width red bar on a token whose PCS reads 1/100 · CALM. For anything visual or comparative, use drivers[].normalized.

Case Study: USR March 2026

The mint_role_centralization signal was added directly in response to the Resolv incident. An attacker who gained access to the single EOA holding MINTER_ROLE minted ~$80M USR from ~$200K of collateral in one transaction — the off-chain service was the only constraint, and there was no on-chain cap. PCS would have flagged this vault with a DANGER pre-stress score based on the mint_role_centralization signal alone, before any price impact.
This is also why the Risk Rating structural risk component includes a mint_cap_status adjustment: an uncapped minter adds +10 pts to structural risk regardless of current PCS readings.