Depeg Tracker + DEWS Changelog
Full version history of Depeg Tracker and DEWS methodology decisions, from v1.0 to v5.9.
Latest Version
Direction-true confirmation, pending refreshes, and DEWS live-trust alignment
Pending depeg incidents now track live first/last/peak state, confirmation requires same-direction corroboration, and DEWS divergence reuses the live depeg DEX trust floor.
Impact Snapshot
- Pending rows are now refreshed while they wait for confirmation, preserving first-seen timestamps but updating last-seen and worst-seen state for the active direction
- Pending confirmation now treats opposite-side secondary evidence as contradiction instead of support, and native-quote recovery no longer persists contradictory `recovery_price` values
- DEWS divergence now ignores fresh-but-thin DEX rows unless they pass the same `$1M` live depeg trust gate, while the repair path refreshes current rows and prunes unrecomputable daily history from the Mar 9, 2026 trust-floor boundary onward
v5.9Apr 8, 2026Direction-true confirmation, pending refreshes, and DEWS live-trust alignment
Pending depeg incidents now track live first/last/peak state, confirmation requires same-direction corroboration, and DEWS divergence reuses the live depeg DEX trust floor.
- Pending rows are now refreshed while they wait for confirmation, preserving first-seen timestamps but updating last-seen and worst-seen state for the active direction
- Pending confirmation now treats opposite-side secondary evidence as contradiction instead of support, and native-quote recovery no longer persists contradictory `recovery_price` values
- DEWS divergence now ignores fresh-but-thin DEX rows unless they pass the same `$1M` live depeg trust gate, while the repair path refreshes current rows and prunes unrecomputable daily history from the Mar 9, 2026 trust-floor boundary onward
DetailsHide details
Direction-true confirmation, pending refreshes, and DEWS live-trust alignment
Pending depeg incidents now track live first/last/peak state, confirmation requires same-direction corroboration, and DEWS divergence reuses the live depeg DEX trust floor.
- Pending rows are now refreshed while they wait for confirmation, preserving first-seen timestamps but updating last-seen and worst-seen state for the active direction
- Pending confirmation now treats opposite-side secondary evidence as contradiction instead of support, and native-quote recovery no longer persists contradictory `recovery_price` values
- DEWS divergence now ignores fresh-but-thin DEX rows unless they pass the same `$1M` live depeg trust gate, while the repair path refreshes current rows and prunes unrecomputable daily history from the Mar 9, 2026 trust-floor boundary onward
Impact Notes
- Pending rows are now refreshed while they wait for confirmation, preserving first-seen timestamps but updating last-seen and worst-seen state for the active direction
- Pending confirmation now treats opposite-side secondary evidence as contradiction instead of support, and native-quote recovery no longer persists contradictory `recovery_price` values
- DEWS divergence now ignores fresh-but-thin DEX rows unless they pass the same `$1M` live depeg trust gate, while the repair path refreshes current rows and prunes unrecomputable daily history from the Mar 9, 2026 trust-floor boundary onward
v5.8Apr 7, 2026Daily-confirmed native-peg historical replay
Supported non-USD fiat historical replay now treats native-fiat CoinGecko history as a day-scale confirmation lane instead of trusting thin hourly native prints on their own.
- Historical native-fiat replay now uses daily points plus a two-point confirmation window across 36 hours before opening normal non-USD fiat backfill events
- Extreme single-point native crashes of 5,000 bps or more are still preserved even when the native historical confirmation rule would otherwise suppress them
- Broad non-USD backfill repairs can now use authenticated CoinGecko market-chart transport consistently through the admin/backfill path, reducing false rebuild drift during large historical cleanups
DetailsHide details
Daily-confirmed native-peg historical replay
Supported non-USD fiat historical replay now treats native-fiat CoinGecko history as a day-scale confirmation lane instead of trusting thin hourly native prints on their own.
- Historical native-fiat replay now uses daily points plus a two-point confirmation window across 36 hours before opening normal non-USD fiat backfill events
- Extreme single-point native crashes of 5,000 bps or more are still preserved even when the native historical confirmation rule would otherwise suppress them
- Broad non-USD backfill repairs can now use authenticated CoinGecko market-chart transport consistently through the admin/backfill path, reducing false rebuild drift during large historical cleanups
Impact Notes
- Historical native-fiat replay now uses daily points plus a two-point confirmation window across 36 hours before opening normal non-USD fiat backfill events
- Extreme single-point native crashes of 5,000 bps or more are still preserved even when the native historical confirmation rule would otherwise suppress them
- Broad non-USD backfill repairs can now use authenticated CoinGecko market-chart transport consistently through the admin/backfill path, reducing false rebuild drift during large historical cleanups
v5.7Apr 7, 2026Launch-date peg-score anchors for older tracked assets
PegScore tracking windows now prefer curated launch dates over late-arriving supply-history coverage when the asset metadata provides a trustworthy launch anchor.
- PegScore now uses a curated launch date as the age anchor when one is available, falling back to earliest supply-history coverage only when no launch date is curated
- Older tracked assets with late `supply_history` coverage no longer appear artificially young in the peg-score window
- BRZ now anchors peg-score tracking to its July 19, 2019 launch date instead of a March 2025 supply-history coverage artifact
DetailsHide details
Launch-date peg-score anchors for older tracked assets
PegScore tracking windows now prefer curated launch dates over late-arriving supply-history coverage when the asset metadata provides a trustworthy launch anchor.
- PegScore now uses a curated launch date as the age anchor when one is available, falling back to earliest supply-history coverage only when no launch date is curated
- Older tracked assets with late `supply_history` coverage no longer appear artificially young in the peg-score window
- BRZ now anchors peg-score tracking to its July 19, 2019 launch date instead of a March 2025 supply-history coverage artifact
Impact Notes
- PegScore now uses a curated launch date as the age anchor when one is available, falling back to earliest supply-history coverage only when no launch date is curated
- Older tracked assets with late `supply_history` coverage no longer appear artificially young in the peg-score window
- BRZ now anchors peg-score tracking to its July 19, 2019 launch date instead of a March 2025 supply-history coverage artifact
v5.6Apr 7, 2026Generalized native-peg routing and replay for non-USD fiat assets
Live and pending depeg routing now generalize the native-peg corroboration lane across the supported non-USD fiat set, and historical replay prefers native fiat market history where CoinGecko exposes it.
- Fresh direct native-peg quotes can now veto, sustain, or resolve live depeg state for supported EUR/CHF/GBP/JPY/SGD/AUD/CAD/BRL/IDR/TRY/ZAR/PHP/MXN/RUB/CNH-style fiat pegs instead of remaining effectively BRL-only
- Pending confirmation prefers that same direct native quote first whenever CoinGecko exposes the matching fiat pair, reducing false confirmations from USD/FX reference drift
- Historical backfill now replays supported non-USD fiat assets against direct native fiat price history and a native `1.0` peg when that series exists, which removes large classes of synthetic backfill events caused by USD/FX mismatch
DetailsHide details
Generalized native-peg routing and replay for non-USD fiat assets
Live and pending depeg routing now generalize the native-peg corroboration lane across the supported non-USD fiat set, and historical replay prefers native fiat market history where CoinGecko exposes it.
- Fresh direct native-peg quotes can now veto, sustain, or resolve live depeg state for supported EUR/CHF/GBP/JPY/SGD/AUD/CAD/BRL/IDR/TRY/ZAR/PHP/MXN/RUB/CNH-style fiat pegs instead of remaining effectively BRL-only
- Pending confirmation prefers that same direct native quote first whenever CoinGecko exposes the matching fiat pair, reducing false confirmations from USD/FX reference drift
- Historical backfill now replays supported non-USD fiat assets against direct native fiat price history and a native `1.0` peg when that series exists, which removes large classes of synthetic backfill events caused by USD/FX mismatch
Impact Notes
- Fresh direct native-peg quotes can now veto, sustain, or resolve live depeg state for supported EUR/CHF/GBP/JPY/SGD/AUD/CAD/BRL/IDR/TRY/ZAR/PHP/MXN/RUB/CNH-style fiat pegs instead of remaining effectively BRL-only
- Pending confirmation prefers that same direct native quote first whenever CoinGecko exposes the matching fiat pair, reducing false confirmations from USD/FX reference drift
- Historical backfill now replays supported non-USD fiat assets against direct native fiat price history and a native `1.0` peg when that series exists, which removes large classes of synthetic backfill events caused by USD/FX mismatch
v5.5Apr 7, 2026Direct native-peg corroboration for BRL depeg routing
Live and pending depeg routing now checks a fresh direct native-peg quote for supported non-USD fiat assets before trusting a USD-price-versus-FX-reference divergence on its own.
- BRZ-style depegs can now be vetoed or resolved by a fresh direct BRL quote when the USD/FX-derived signal is back inside threshold or points the other way
- Pending confirmation prefers the fresh direct native-peg quote over a weaker derived USD cross-check when CoinGecko exposes that native pair
- Prevents thin BRL reference mismatches from opening, sustaining, or confirming false depeg rows while still preserving genuine native-peg stress
DetailsHide details
Direct native-peg corroboration for BRL depeg routing
Live and pending depeg routing now checks a fresh direct native-peg quote for supported non-USD fiat assets before trusting a USD-price-versus-FX-reference divergence on its own.
- BRZ-style depegs can now be vetoed or resolved by a fresh direct BRL quote when the USD/FX-derived signal is back inside threshold or points the other way
- Pending confirmation prefers the fresh direct native-peg quote over a weaker derived USD cross-check when CoinGecko exposes that native pair
- Prevents thin BRL reference mismatches from opening, sustaining, or confirming false depeg rows while still preserving genuine native-peg stress
Impact Notes
- BRZ-style depegs can now be vetoed or resolved by a fresh direct BRL quote when the USD/FX-derived signal is back inside threshold or points the other way
- Pending confirmation prefers the fresh direct native-peg quote over a weaker derived USD cross-check when CoinGecko exposes that native pair
- Prevents thin BRL reference mismatches from opening, sustaining, or confirming false depeg rows while still preserving genuine native-peg stress
v5.4Apr 7, 2026Thin-fiat peg-reference fail-closed and corroborated primary recovery
Live depeg state now fails closed when thin non-USD fiat peg references lose their FX fallback, while fresh multi-source primary agreement can retire stale live rows once the coin is back inside threshold.
- Thin fiat peg groups with fewer than 3 live contributors now require cached FX fallback before they can open, update, or resolve live depeg state
- Fresh non-cached multi-source primary agreement can now close an already-open live event after recovery even if that source mix is still too soft to open new events directly
- Prevents BRL-style peer-median false positives from both opening new live rows and lingering as active depegs after the peg reference normalizes
DetailsHide details
Thin-fiat peg-reference fail-closed and corroborated primary recovery
Live depeg state now fails closed when thin non-USD fiat peg references lose their FX fallback, while fresh multi-source primary agreement can retire stale live rows once the coin is back inside threshold.
- Thin fiat peg groups with fewer than 3 live contributors now require cached FX fallback before they can open, update, or resolve live depeg state
- Fresh non-cached multi-source primary agreement can now close an already-open live event after recovery even if that source mix is still too soft to open new events directly
- Prevents BRL-style peer-median false positives from both opening new live rows and lingering as active depegs after the peg reference normalizes
Impact Notes
- Thin fiat peg groups with fewer than 3 live contributors now require cached FX fallback before they can open, update, or resolve live depeg state
- Fresh non-cached multi-source primary agreement can now close an already-open live event after recovery even if that source mix is still too soft to open new events directly
- Prevents BRL-style peer-median false positives from both opening new live rows and lingering as active depegs after the peg reference normalizes
v5.3Apr 6, 2026DEWS flow baseline continuity on quiet 24-hour windows
DEWS no longer drops the mint/burn flow signal just because the latest 24-hour window had zero activity while a mature 30-day baseline still exists.
- Coins with >= 7 days of mint/burn history now keep the flow signal available even when the latest 24-hour bucket is quiet
- A zero-flow day now contributes zero flow stress instead of silently redistributing the flow weight away from the score
- DEWS cron assembly now reflects the documented mint/burn-baseline semantics for mature tracked coins
DetailsHide details
DEWS flow baseline continuity on quiet 24-hour windows
DEWS no longer drops the mint/burn flow signal just because the latest 24-hour window had zero activity while a mature 30-day baseline still exists.
- Coins with >= 7 days of mint/burn history now keep the flow signal available even when the latest 24-hour bucket is quiet
- A zero-flow day now contributes zero flow stress instead of silently redistributing the flow weight away from the score
- DEWS cron assembly now reflects the documented mint/burn-baseline semantics for mature tracked coins
Impact Notes
- Coins with >= 7 days of mint/burn history now keep the flow signal available even when the latest 24-hour bucket is quiet
- A zero-flow day now contributes zero flow stress instead of silently redistributing the flow weight away from the score
- DEWS cron assembly now reflects the documented mint/burn-baseline semantics for mature tracked coins
v5.2Apr 3, 2026Corroborated DEX recovery gating for live depeg state
Aggregate DEX bridge rows no longer count as sufficient evidence on their own for ambiguous-primary recoveries or recovery-style event suppression.
- DEX-assisted live recovery now requires at least two corroborating protocol-level DEX groups inside threshold, not just one trusted aggregate row
- Large challenger pools can veto ambiguous-primary DEX recoveries when they still show the old depeg direction
- New-event suppression and other aggregate-DEX-driven state mutations now share that stricter corroboration policy, reducing synthetic split events on chronically depegged coins
DetailsHide details
Corroborated DEX recovery gating for live depeg state
Aggregate DEX bridge rows no longer count as sufficient evidence on their own for ambiguous-primary recoveries or recovery-style event suppression.
- DEX-assisted live recovery now requires at least two corroborating protocol-level DEX groups inside threshold, not just one trusted aggregate row
- Large challenger pools can veto ambiguous-primary DEX recoveries when they still show the old depeg direction
- New-event suppression and other aggregate-DEX-driven state mutations now share that stricter corroboration policy, reducing synthetic split events on chronically depegged coins
Impact Notes
- DEX-assisted live recovery now requires at least two corroborating protocol-level DEX groups inside threshold, not just one trusted aggregate row
- Large challenger pools can veto ambiguous-primary DEX recoveries when they still show the old depeg direction
- New-event suppression and other aggregate-DEX-driven state mutations now share that stricter corroboration policy, reducing synthetic split events on chronically depegged coins
v5.1Mar 31, 2026Ongoing depeg continuity over DEX-only contradiction
Already-open depeg events no longer auto-close just because a trusted aggregate DEX row temporarily moves back inside the threshold while the primary path still shows the same-direction depeg.
- Same-direction DEX disagreement is now advisory for ongoing events instead of forcing a synthetic recovery boundary
- Open depeg rows remain continuous until the standard recovery path confirms a sub-threshold resolution
- Prevents repeated event fragmentation on chronically depegged assets when aggregate DEX pricing briefly snaps back toward peg
DetailsHide details
Ongoing depeg continuity over DEX-only contradiction
Already-open depeg events no longer auto-close just because a trusted aggregate DEX row temporarily moves back inside the threshold while the primary path still shows the same-direction depeg.
- Same-direction DEX disagreement is now advisory for ongoing events instead of forcing a synthetic recovery boundary
- Open depeg rows remain continuous until the standard recovery path confirms a sub-threshold resolution
- Prevents repeated event fragmentation on chronically depegged assets when aggregate DEX pricing briefly snaps back toward peg
Impact Notes
- Same-direction DEX disagreement is now advisory for ongoing events instead of forcing a synthetic recovery boundary
- Open depeg rows remain continuous until the standard recovery path confirms a sub-threshold resolution
- Prevents repeated event fragmentation on chronically depegged assets when aggregate DEX pricing briefly snaps back toward peg
v5.0Mar 28, 2026DEWS blacklist coverage parity and thin-peg FX fallback parity
DEWS now applies issuer-freeze signal coverage to the full live blacklistable set and derives thin non-USD peg references with the same cached FX fallback path used elsewhere in the peg-aware pipeline.
- Blacklist signal coverage is now derived from the shared supported blacklist symbol set, so PYUSD and USD1 receive the same DEWS blacklist input treatment as USDC, USDT, PAXG, and XAUT
- Thin non-USD DEWS divergence inputs now use cached `fxFallbackRates` from the stablecoins payload instead of relying only on sparse peer medians
- DEWS input semantics now match the documented blacklist coverage and the live depeg / peg-summary FX-reference path
DetailsHide details
DEWS blacklist coverage parity and thin-peg FX fallback parity
DEWS now applies issuer-freeze signal coverage to the full live blacklistable set and derives thin non-USD peg references with the same cached FX fallback path used elsewhere in the peg-aware pipeline.
- Blacklist signal coverage is now derived from the shared supported blacklist symbol set, so PYUSD and USD1 receive the same DEWS blacklist input treatment as USDC, USDT, PAXG, and XAUT
- Thin non-USD DEWS divergence inputs now use cached `fxFallbackRates` from the stablecoins payload instead of relying only on sparse peer medians
- DEWS input semantics now match the documented blacklist coverage and the live depeg / peg-summary FX-reference path
Impact Notes
- Blacklist signal coverage is now derived from the shared supported blacklist symbol set, so PYUSD and USD1 receive the same DEWS blacklist input treatment as USDC, USDT, PAXG, and XAUT
- Thin non-USD DEWS divergence inputs now use cached `fxFallbackRates` from the stablecoins payload instead of relying only on sparse peer medians
- DEWS input semantics now match the documented blacklist coverage and the live depeg / peg-summary FX-reference path
v4.9Mar 23, 2026Bootstrap sentinel and core-liquidity freshness gating
DEWS bootstrap is now a one-time state transition, and stale or missing core liquidity inputs no longer masquerade as acceptable startup conditions.
- Bootstrap grace now ends after the first successful DEWS publication via a dedicated `dews:bootstrap-complete` sentinel instead of piggybacking on stablecoins-cache freshness
- Only explicitly optional missing tables remain bootstrap-allowed before first success; core dependencies no longer inherit that grace
- Fresh `dex_liquidity` is now required for publication, with rows older than 2 hours treated as a hard degraded source failure
DetailsHide details
Bootstrap sentinel and core-liquidity freshness gating
DEWS bootstrap is now a one-time state transition, and stale or missing core liquidity inputs no longer masquerade as acceptable startup conditions.
- Bootstrap grace now ends after the first successful DEWS publication via a dedicated `dews:bootstrap-complete` sentinel instead of piggybacking on stablecoins-cache freshness
- Only explicitly optional missing tables remain bootstrap-allowed before first success; core dependencies no longer inherit that grace
- Fresh `dex_liquidity` is now required for publication, with rows older than 2 hours treated as a hard degraded source failure
Impact Notes
- Bootstrap grace now ends after the first successful DEWS publication via a dedicated `dews:bootstrap-complete` sentinel instead of piggybacking on stablecoins-cache freshness
- Only explicitly optional missing tables remain bootstrap-allowed before first success; core dependencies no longer inherit that grace
- Fresh `dex_liquidity` is now required for publication, with rows older than 2 hours treated as a hard degraded source failure
v4.8Mar 22, 2026Contradicted live depegs now retire into pending confirmation
When a low-confidence primary price now contradicts an open live depeg across the peg, the stale live row is retired immediately and the replacement move waits in pending confirmation instead of leaving the wrong direction active.
- Opposite-direction live depeg rows no longer remain active just because the correcting primary price is still confirm_required
- Direction flips from cached, fallback, low-confidence, or stale primary inputs now close the stale live row and insert a replacement pending candidate
- Public active-depeg state stops claiming the wrong side of the peg while confirmation catches up on the corrected move
DetailsHide details
Contradicted live depegs now retire into pending confirmation
When a low-confidence primary price now contradicts an open live depeg across the peg, the stale live row is retired immediately and the replacement move waits in pending confirmation instead of leaving the wrong direction active.
- Opposite-direction live depeg rows no longer remain active just because the correcting primary price is still confirm_required
- Direction flips from cached, fallback, low-confidence, or stale primary inputs now close the stale live row and insert a replacement pending candidate
- Public active-depeg state stops claiming the wrong side of the peg while confirmation catches up on the corrected move
Impact Notes
- Opposite-direction live depeg rows no longer remain active just because the correcting primary price is still confirm_required
- Direction flips from cached, fallback, low-confidence, or stale primary inputs now close the stale live row and insert a replacement pending candidate
- Public active-depeg state stops claiming the wrong side of the peg while confirmation catches up on the corrected move
v4.7Mar 21, 2026Early peg score: minimum data threshold lowered from 30 to 7 days
Peg score is now emitted after 7 days of tracking instead of 30, with an 'Early score' label for the 7–30 day window.
- Minimum tracking threshold reduced from 30 to 7 days — coins receive a composite peg score after their first week
- Scores based on 7–30 days of data are labelled 'Early score' in the hero card (amber text with tooltip)
- Report card peg-stability dimension is now rated from day 7; NR only appears for coins with < 7 days of history
DetailsHide details
Early peg score: minimum data threshold lowered from 30 to 7 days
Peg score is now emitted after 7 days of tracking instead of 30, with an 'Early score' label for the 7–30 day window.
- Minimum tracking threshold reduced from 30 to 7 days — coins receive a composite peg score after their first week
- Scores based on 7–30 days of data are labelled 'Early score' in the hero card (amber text with tooltip)
- Report card peg-stability dimension is now rated from day 7; NR only appears for coins with < 7 days of history
Impact Notes
- Minimum tracking threshold reduced from 30 to 7 days — coins receive a composite peg score after their first week
- Scores based on 7–30 days of data are labelled 'Early score' in the hero card (amber text with tooltip)
- Report card peg-stability dimension is now rated from day 7; NR only appears for coins with < 7 days of history
v4.6Mar 10, 2026Confidence-aware depeg routing, extreme-move confirmation, and provenance surfacing
Depeg detection stopped treating every non-null price as equally trustworthy and now routes ambiguous or catastrophic moves through explicit confirmation paths.
- Cached, fallback, low-confidence, and stale primary prices now require confirmation before they can open or close live depeg state
- Extreme moves no longer get dropped just for crossing the old <0.5x or >2x peg guardrail; they enter a dedicated confirmation lane instead
- peg-summary now exposes price provenance and trust state, and the depeg page consumes backend freshness metadata plus real event-history pagination
DetailsHide details
Confidence-aware depeg routing, extreme-move confirmation, and provenance surfacing
Depeg detection stopped treating every non-null price as equally trustworthy and now routes ambiguous or catastrophic moves through explicit confirmation paths.
- Cached, fallback, low-confidence, and stale primary prices now require confirmation before they can open or close live depeg state
- Extreme moves no longer get dropped just for crossing the old <0.5x or >2x peg guardrail; they enter a dedicated confirmation lane instead
- peg-summary now exposes price provenance and trust state, and the depeg page consumes backend freshness metadata plus real event-history pagination
Impact Notes
- Cached, fallback, low-confidence, and stale primary prices now require confirmation before they can open or close live depeg state
- Extreme moves no longer get dropped just for crossing the old <0.5x or >2x peg guardrail; they enter a dedicated confirmation lane instead
- peg-summary now exposes price provenance and trust state, and the depeg page consumes backend freshness metadata plus real event-history pagination
v4.5Mar 9, 2026Trusted DEX-price gating for depeg suppression, confirmation, and UI checks
DEX cross-validation now shares an explicit trust policy so thin pools cannot suppress or confirm depegs, and low-confidence rows no longer surface on the public DEX Price Check UI.
- Depeg suppression/confirmation now requires fresh DEX rows with >= $1M aggregate source TVL
- UI-facing dexPriceCheck exposure now requires fresh data with >= $250K aggregate source TVL
- Thin DEX rows can no longer veto new depeg events or promote pending confirmations on their own
DetailsHide details
Trusted DEX-price gating for depeg suppression, confirmation, and UI checks
DEX cross-validation now shares an explicit trust policy so thin pools cannot suppress or confirm depegs, and low-confidence rows no longer surface on the public DEX Price Check UI.
- Depeg suppression/confirmation now requires fresh DEX rows with >= $1M aggregate source TVL
- UI-facing dexPriceCheck exposure now requires fresh data with >= $250K aggregate source TVL
- Thin DEX rows can no longer veto new depeg events or promote pending confirmations on their own
Impact Notes
- Depeg suppression/confirmation now requires fresh DEX rows with >= $1M aggregate source TVL
- UI-facing dexPriceCheck exposure now requires fresh data with >= $250K aggregate source TVL
- Thin DEX rows can no longer veto new depeg events or promote pending confirmations on their own
v4.4Mar 2, 2026ReconstructedNo-history coins now return null peg score
Peg score stopped treating coins with neither first-seen supply history nor depeg events as implicitly healthy.
- coinTrackingStart now returns null when both firstSeen and events are absent
- computePegScoreWithWindow now yields null pegScore for insufficient-history coins
- Prevents false perfect-score outcomes on sparse or incomplete datasets
DetailsHide details
No-history coins now return null peg score
Peg score stopped treating coins with neither first-seen supply history nor depeg events as implicitly healthy.
- coinTrackingStart now returns null when both firstSeen and events are absent
- computePegScoreWithWindow now yields null pegScore for insufficient-history coins
- Prevents false perfect-score outcomes on sparse or incomplete datasets
Impact Notes
- coinTrackingStart now returns null when both firstSeen and events are absent
- computePegScoreWithWindow now yields null pegScore for insufficient-history coins
- Prevents false perfect-score outcomes on sparse or incomplete datasets
- 71cc096
v4.3Mar 1, 2026ReconstructedYoung-coin fairness and stronger active penalties
Peg score became less permissive for young coins with recurring brief depegs and for currently depegged assets.
- Tracking start formalized as max(firstSeen, fourYearsAgo) with earliest-event fallback
- Per-event severity now applies max(duration penalty, magnitude floor)
- Active-depeg penalty steepened to max(5, absBps/50), capped at 50
DetailsHide details
Young-coin fairness and stronger active penalties
Peg score became less permissive for young coins with recurring brief depegs and for currently depegged assets.
- Tracking start formalized as max(firstSeen, fourYearsAgo) with earliest-event fallback
- Per-event severity now applies max(duration penalty, magnitude floor)
- Active-depeg penalty steepened to max(5, absBps/50), capped at 50
Impact Notes
- Tracking start formalized as max(firstSeen, fourYearsAgo) with earliest-event fallback
- Per-event severity now applies max(duration penalty, magnitude floor)
- Active-depeg penalty steepened to max(5, absBps/50), capped at 50
- fd83a46
v4.2Mar 1, 2026ReconstructedDEWS wave-2: yield signal + PSI amplifier
DEWS expanded beyond market microstructure signals by incorporating yield-warning telemetry and systemic PSI context.
- Added 8th DEWS sub-signal: yield anomaly (weight 0.05)
- Introduced systemic amplifier: DEWS boosted up to +30% when PSI < 75
- Cron now reads yield_data.warning_signals and latest PSI sample before scoring
DetailsHide details
DEWS wave-2: yield signal + PSI amplifier
DEWS expanded beyond market microstructure signals by incorporating yield-warning telemetry and systemic PSI context.
- Added 8th DEWS sub-signal: yield anomaly (weight 0.05)
- Introduced systemic amplifier: DEWS boosted up to +30% when PSI < 75
- Cron now reads yield_data.warning_signals and latest PSI sample before scoring
Impact Notes
- Added 8th DEWS sub-signal: yield anomaly (weight 0.05)
- Introduced systemic amplifier: DEWS boosted up to +30% when PSI < 75
- Cron now reads yield_data.warning_signals and latest PSI sample before scoring
- dcdefde
v4.1Mar 1, 2026ReconstructedDEWS pool stress calibration fix
Corrected pool-stress scaling error that was inflating DEWS pool signal values.
- avg_pool_stress is now consumed as native 0-100 (removed erroneous x100)
- Pool component returned to intended weighting and magnitude
- Reduced false high-band classifications caused by scale inflation
DetailsHide details
DEWS pool stress calibration fix
Corrected pool-stress scaling error that was inflating DEWS pool signal values.
- avg_pool_stress is now consumed as native 0-100 (removed erroneous x100)
- Pool component returned to intended weighting and magnitude
- Reduced false high-band classifications caused by scale inflation
Impact Notes
- avg_pool_stress is now consumed as native 0-100 (removed erroneous x100)
- Pool component returned to intended weighting and magnitude
- Reduced false high-band classifications caused by scale inflation
- 2d8f867
v4.0Mar 1, 2026ReconstructedDEWS launch (7-signal model + 15-minute cron)
Launched the Depeg Early Warning System with per-coin stress scoring and persisted 15-minute snapshots.
- Introduced DEWS base model with 7 sub-signals and weighted-redistribution scoring
- Threat bands established: CALM, WATCH, ALERT, WARNING, DANGER
- compute-dews cron writes rolling stress_signals and daily stress_signal_history snapshots
DetailsHide details
DEWS launch (7-signal model + 15-minute cron)
Launched the Depeg Early Warning System with per-coin stress scoring and persisted 15-minute snapshots.
- Introduced DEWS base model with 7 sub-signals and weighted-redistribution scoring
- Threat bands established: CALM, WATCH, ALERT, WARNING, DANGER
- compute-dews cron writes rolling stress_signals and daily stress_signal_history snapshots
Impact Notes
- Introduced DEWS base model with 7 sub-signals and weighted-redistribution scoring
- Threat bands established: CALM, WATCH, ALERT, WARNING, DANGER
- compute-dews cron writes rolling stress_signals and daily stress_signal_history snapshots
- a87876c
- 9bfe791
v3.2Feb 27, 2026ReconstructedTracking-window direction fix
Corrected tracking-start math to avoid diluting young-coin depeg severity across pre-launch periods.
- Lookback boundary corrected from min(firstSeen, fourYearsAgo) to max(...)
- Peg-time and severity now computed against realistic coin lifetime bounds
- Young-coin scores became less artificially inflated
DetailsHide details
Tracking-window direction fix
Corrected tracking-start math to avoid diluting young-coin depeg severity across pre-launch periods.
- Lookback boundary corrected from min(firstSeen, fourYearsAgo) to max(...)
- Peg-time and severity now computed against realistic coin lifetime bounds
- Young-coin scores became less artificially inflated
Impact Notes
- Lookback boundary corrected from min(firstSeen, fourYearsAgo) to max(...)
- Peg-time and severity now computed against realistic coin lifetime bounds
- Young-coin scores became less artificially inflated
- 74aa1cd
v3.1Feb 26, 2026ReconstructedConfirmation and detector hardening
Hardened confirmation and detection against invalid references, non-finite values, and partial-write edge cases.
- Pending rows with invalid peg_reference are dropped before confirmation math
- Detection now rejects non-finite peg references before bps computation
- Pending confirmation mutations are batched atomically for consistent state transitions
DetailsHide details
Confirmation and detector hardening
Hardened confirmation and detection against invalid references, non-finite values, and partial-write edge cases.
- Pending rows with invalid peg_reference are dropped before confirmation math
- Detection now rejects non-finite peg references before bps computation
- Pending confirmation mutations are batched atomically for consistent state transitions
Impact Notes
- Pending rows with invalid peg_reference are dropped before confirmation math
- Detection now rejects non-finite peg references before bps computation
- Pending confirmation mutations are batched atomically for consistent state transitions
- c2832ae
- 61e8f9b
- c868ba2
- 76aa8c6
v3.0Feb 25, 2026ReconstructedTwo-stage confirmation for large-cap depegs
Large-cap depeg detection moved from single-source trigger to a pending-confirmation pipeline with secondary-source validation.
- >= $1B coins now route through depeg_pending before promotion to depeg_events
- Secondary agreement uses CoinGecko and/or DEX with a 50% threshold bar
- sync-stablecoins now runs detectDepegEvents and confirmPendingDepegs sequentially each cycle
DetailsHide details
Two-stage confirmation for large-cap depegs
Large-cap depeg detection moved from single-source trigger to a pending-confirmation pipeline with secondary-source validation.
- >= $1B coins now route through depeg_pending before promotion to depeg_events
- Secondary agreement uses CoinGecko and/or DEX with a 50% threshold bar
- sync-stablecoins now runs detectDepegEvents and confirmPendingDepegs sequentially each cycle
Impact Notes
- >= $1B coins now route through depeg_pending before promotion to depeg_events
- Secondary agreement uses CoinGecko and/or DEX with a 50% threshold bar
- sync-stablecoins now runs detectDepegEvents and confirmPendingDepegs sequentially each cycle
- ece06dd
- c1adfa7
- 5fac720
- 9854efe
- 8c5a9b9
v2.1Feb 20, 2026ReconstructedFour-year peg-score lookback window
Peg scoring moved to an explicit rolling 4-year horizon instead of unbounded historical span.
- computePegScoreWithWindow introduced a 4-year tracking cap
- Detail-page peg scores became explicitly lookback-bounded
- Boundary logic was later corrected in v3.2 for firstSeen direction
DetailsHide details
Four-year peg-score lookback window
Peg scoring moved to an explicit rolling 4-year horizon instead of unbounded historical span.
- computePegScoreWithWindow introduced a 4-year tracking cap
- Detail-page peg scores became explicitly lookback-bounded
- Boundary logic was later corrected in v3.2 for firstSeen direction
Impact Notes
- computePegScoreWithWindow introduced a 4-year tracking cap
- Detail-page peg scores became explicitly lookback-bounded
- Boundary logic was later corrected in v3.2 for firstSeen direction
- 29c1bdc
v2.0Feb 20, 2026ReconstructedPeg-score severity rebalance + spread penalty
Peg score shifted to stronger magnitude sensitivity and penalized erratic event-size variance.
- Severity penalty changed from sqrt-based to linear (peakBps/100 scaling)
- Added spreadPenalty from event-magnitude standard deviation (cap 15)
- Composite became: 0.5*pegPct + 0.5*severity - activePenalty - spreadPenalty
DetailsHide details
Peg-score severity rebalance + spread penalty
Peg score shifted to stronger magnitude sensitivity and penalized erratic event-size variance.
- Severity penalty changed from sqrt-based to linear (peakBps/100 scaling)
- Added spreadPenalty from event-magnitude standard deviation (cap 15)
- Composite became: 0.5*pegPct + 0.5*severity - activePenalty - spreadPenalty
Impact Notes
- Severity penalty changed from sqrt-based to linear (peakBps/100 scaling)
- Added spreadPenalty from event-magnitude standard deviation (cap 15)
- Composite became: 0.5*pegPct + 0.5*severity - activePenalty - spreadPenalty
- d2954c3
v1.2Feb 20, 2026ReconstructedNon-USD thresholding + ongoing false-positive control
Depeg detection adopted peg-type-aware thresholds and began actively retiring stale false-positive open events.
- Non-USD depeg threshold raised to 150 bps (USD remained 100 bps)
- Cleanup migration removed legacy non-USD events below 150 bps
- Ongoing events auto-close after sustained DEX disagreement (30m+, >=$1M TVL)
DetailsHide details
Non-USD thresholding + ongoing false-positive control
Depeg detection adopted peg-type-aware thresholds and began actively retiring stale false-positive open events.
- Non-USD depeg threshold raised to 150 bps (USD remained 100 bps)
- Cleanup migration removed legacy non-USD events below 150 bps
- Ongoing events auto-close after sustained DEX disagreement (30m+, >=$1M TVL)
Impact Notes
- Non-USD depeg threshold raised to 150 bps (USD remained 100 bps)
- Cleanup migration removed legacy non-USD events below 150 bps
- Ongoing events auto-close after sustained DEX disagreement (30m+, >=$1M TVL)
- 9c0d1a6
- 7bc5361
- 8b01716
v1.1Feb 18, 2026ReconstructedEarly lifecycle hardening + active penalty floor
Early stability pass reduced under-penalization and fixed event-time accounting/state-lifecycle edge cases.
- Added active-depeg penalty to peg score, then introduced a minimum floor
- Merged overlapping depeg intervals to prevent pegPct double-counting
- Detection now closes orphan open events and tracks open state by event ID
DetailsHide details
Early lifecycle hardening + active penalty floor
Early stability pass reduced under-penalization and fixed event-time accounting/state-lifecycle edge cases.
- Added active-depeg penalty to peg score, then introduced a minimum floor
- Merged overlapping depeg intervals to prevent pegPct double-counting
- Detection now closes orphan open events and tracks open state by event ID
Impact Notes
- Added active-depeg penalty to peg score, then introduced a minimum floor
- Merged overlapping depeg intervals to prevent pegPct double-counting
- Detection now closes orphan open events and tracks open state by event ID
- cb67892
- c6c1391
- 4c818f5
- 8b0fe61
v1.0Feb 18, 2026ReconstructedInitial Depeg Tracker scoring + live event detection
First operational release of depeg scoring and event detection primitives.
- Launched computePegScore baseline (peg time + severity blend)
- Introduced detectDepegEvents cron pipeline with live open/close/update logic
- Added duplicate-open-event merge and new-event DEX disagreement suppression
DetailsHide details
Initial Depeg Tracker scoring + live event detection
First operational release of depeg scoring and event detection primitives.
- Launched computePegScore baseline (peg time + severity blend)
- Introduced detectDepegEvents cron pipeline with live open/close/update logic
- Added duplicate-open-event merge and new-event DEX disagreement suppression
Impact Notes
- Launched computePegScore baseline (peg time + severity blend)
- Introduced detectDepegEvents cron pipeline with live open/close/update logic
- Added duplicate-open-event merge and new-event DEX disagreement suppression
- f1ea0d8
- 2556ae4