The five states
| State | Meaning | Alert? |
|---|---|---|
PEGGED | Spread inside the calm band for this asset | No |
DRIFT | Spread crossed the per-asset drift threshold; subscribers notified | Yes |
DEPEG | Spread crossed depeg threshold; urgent framing | Yes |
CRITICAL | Spread crossed critical threshold; system tags the asset as actively breaking | Yes |
UNKNOWN | Source stale, low-confidence, or decoder mismatch; sticky | No (no alert; consumer should not act) |
BLACK_SWAN — for spreads beyond any historically-observed
level. Never auto-exits.
What each state implies for a consumer
- PEGGED — the asset is doing what it promises. Lending protocols can price collateral at par. Insurance has nothing to fire on. Agents can swap freely.
- DRIFT — early warning. The spread crossed the threshold for “this is no longer normal noise.” Subscribers get a notification. Most DRIFTs resolve back to PEGGED without ever reaching DEPEG. Lending protocols might tighten LTV by a few points; insurance preps payout logic; agents pause discretionary swaps.
- DEPEG — the spread crossed the threshold for “this is materially broken right now.” Liquidation engines should already have pulled back. Insurance is firing. Agents should hard-pause any action that depends on this asset’s peg.
- CRITICAL — the spread is large enough that recovery is not assumed. Treat the asset as a different (riskier) asset. Wind down exposure.
- UNKNOWN — we don’t know. Do not act on stale information. The asset is not necessarily broken; we just can’t tell.
The transitions
What gets emitted
Every transition produces:/v1/alerts returns, what /v1/me/webhooks POSTs, and what
the Telegram bot formats into a human-readable message.
What does NOT get emitted
- Sub-state noise. A spread oscillating between 25 and 32 bps with threshold at 30 bps stays in DRIFT — no alert flood.
- Recovery within the entry dwell window. If the spread crosses 30 bps for 5 seconds and falls back, no transition fires.
- Counts of “ticks since last alert” or similar accumulator state. Each transition is independent; we don’t publish “USDC has spent 47 minutes in DRIFT today.”
/v1/me/alerts (per-user delivery history) or
/v1/alerts (global feed).
Next
Confidence score
When the signal is sketchy — depth, staleness, decoder drift.
Hysteresis explained
Why entry and exit thresholds differ.