Safety Scores Changelog
Full version history of the grading methodology — every weight change, new dimension, and structural decision from v1.0 to v6.95.
v6.95Direct inherited freeze risk now counts custodied BTC wrappers and issuer-seizable collateralApr 7, 2026
Direct inherited freeze risk now counts two reserve-side collateral classes that were previously under-attributed: custodied BTC wrappers and issuer-seizable tokenized collateral.
- Shared
isBlacklistable()now treats centralized-custody BTC wrappers such asWBTCandcbBTCas direct inherited freeze exposure rather than only weak possible clues. - Issuer-seizable tokenized collateral such as
PAXG,XAUT, and reviewed tokenized share symbols such asBOSSnow counts toward the same direct inherited threshold. - Coins whose reserve mix crosses the majority threshold because of these assets now resolve to
inheritedinstead ofpossible.
v6.94NAV wrappers can inherit peg risk from a referenced base stablecoinApr 6, 2026
NAV wrappers that explicitly wrap a stablecoin now inherit peg risk from the referenced base asset instead of getting an automatic neutral peg multiplier.
- Configured NAV wrappers can now reuse a referenced base stablecoin's
pegScorein Safety Score report-card scoring. - Pure fund-share NAV tokens with no configured peg reference still keep
pegScore = NRand the neutral multiplier treatment. - This specifically closes the loophole where a wrapped stablecoin NAV structure could avoid the stronger v6.93 peg penalty even when the underlying base stablecoin had clear peg risk.
v6.93Steeper peg multiplier + active depeg grade capApr 5, 2026
Peg stability now has more weight in the final grade, and severe live depegs can hard-cap the score regardless of otherwise strong base dimensions.
PEG_MULTIPLIER_EXPONENTincreased from0.20to0.40.- Active depegs at or above
1000 bpsnow cap the overall score at D, and active depegs at or above2500 bpscap it at F. activeDepegBpsis now exposed in report-card raw inputs so the frontend and stressed-grade recomputation paths apply the same cap logic.
v6.92Direct Liquity v1 reserve observation for LUSDApr 4, 2026
LUSD now uses direct Liquity v1 system-collateral reads instead of the generic proof-style liveness probe, so clean snapshots qualify as independent live reserve evidence.
- The dedicated
liquity-v1adapter readsgetEntireSystemColl()andgetEntireSystemDebt()from the official EthereumTroveManager. - LUSD reserve snapshots remain a single-bucket 100% ETH view, but the adapter is now registered as
independentinstead ofweak-live-probe. - This promotes LUSD's clean authoritative reserve snapshots into collateral-quality live passthrough without relaxing the generic gate for other
single-assetprobes.
v6.91Reserve-side blacklist exposure heuristicsMar 30, 2026
Blacklistability attribution now treats reserve-side freeze clues as first-class signals instead of only trusting explicit slice flags and resolved upstream coin IDs.
- Shared
isBlacklistable()now resolves topossiblewhen curated or live reserve labels imply blacklistable stablecoins, wrappers, or CEX/custody rails below the majority threshold. - Majority direct reserve exposure still resolves to
inherited; the new heuristics are there to prevent reserve-side exposure from incorrectly falling through tono. - Live reserve enrichment and curated reserve evaluation now share the same direct clue detection for named stablecoin baskets and explicit custody/CEX descriptors.
- This does not relax the collateral passthrough gate:
static-validated,weak-live-probe, andfreshnessMode=unverifiedreserve feeds remain detail-visible only.
v6.9Explicit inherited blacklistabilityMar 30, 2026
Blacklistability attribution now separates mutable-contract risk from collateral-inherited freeze risk.
- Shared blacklistability resolution no longer treats
centralized-dependentgovernance as enough evidence forpossibleon its own. - Reserve-heavy downstream freeze exposure now surfaces as
inherited, which is distinct from mutable-contract risk. - Inherited status now requires majority reserve exposure and can use curated reserve-slice
blacklistablemarkers in addition to upstream stablecoin links.
v6.8On-chain reserve freshness alignmentMar 25, 2026
Safety Score structure is unchanged, but direct latest-state reserve adapters now stamp explicit on-chain freshness so eligible feeds are no longer excluded by missing timestamp metadata.
evm-branch-balancessnapshots now persistfreshnessMode=not-applicable.- Clean independent branch-balance snapshots can once again override curated collateral quality when their latest
reserve_sync_state.last_statusisok. - This aligns implementation with the existing v6.6 freshness gate rather than introducing a new collateral-scoring rule family.
v6.7CeFi-dependent blacklistability fallbackMar 25, 2026
Blacklistability attribution now treats centralized-dependent stablecoins as possible by default unless a more specific signal applies.
- Shared blacklistability resolution now falls back to
possiblefor centralized-dependent governance instead offalse. - Reserve-heavy dependency cases still surface as
possible-inheritedwhen inherited exposure is the more specific explanation. - Explicit overrides remain authoritative, including curated
falseexceptions.
v6.6Timestamp-backed live reserve scoring gateMar 24, 2026
Safety Score structure is unchanged, but collateral-quality live reserve passthrough now requires stronger freshness evidence before a live feed can override curated collateral scoring.
- Independent live reserve feeds still need a fresh authoritative snapshot whose latest
reserve_sync_state.last_statusisok. - In addition, collateral passthrough now requires scoring-eligible freshness evidence: either a verified timestamp path or a
freshnessModeofverifiedornot-applicable. - Feeds marked
unverifiedremain available on reserve detail/status surfaces, but they no longer override curated collateral quality in report-card scoring.
v6.5Clean independent live reserve passthroughMar 22, 2026
Safety Score structure is unchanged, but the collateral-quality live reserve passthrough is now stricter about evidence quality and warning-bearing feeds.
- Live collateral passthrough now requires a fresh authoritative snapshot whose latest
reserve_sync_state.last_statusisok. - The live reserve adapter registry now separates reserve shape (
sourceModel) from evidence strength (evidenceClass). single-assetandtetherstyle feeds are now treated asweak-live-probeevidence, so they remain visible on reserve detail/status surfaces but no longer override curated collateral scoring.- Source-age and material unknown-exposure warnings now degrade reserve sync health and automatically keep those snapshots out of collateral passthrough.
v6.4Live Liquity redemption fee telemetryMar 22, 2026
Safety Score structure is unchanged, but Liquity-style formula routes can now use current on-chain redemption fees when live reserve telemetry is available.
- LUSD and BOLD now reuse live reserve sync metadata for current redemption fee bps instead of always sitting in the generic reviewed-formula bucket.
- These routes remain labeled as
formulafee models andeventual-onlycapacity routes, so Pharos does not present them as having an immediate redeemable buffer. - If live fee telemetry is unavailable, the liquidity dimension falls back to the prior reviewed-formula treatment.
v6.3Documented-bound Liquity redemption confidenceMar 22, 2026
Safety Score structure is unchanged, but a narrow class of immutable on-chain redemption routes now counts as stronger exit evidence than heuristic capacity models.
- LUSD and BOLD now use
documented-boundeventual redemption capacity instead of generic heuristicsupply-fullmodeling. - These routes still present as
eventual-only, so Pharos does not treat full current supply as an immediate redeemable buffer. - Liquity-style
min 50 bps + baseRatefees remain reviewed formula inputs rather than fixed-fee assumptions.
v6.2Independent live reserve contract tighteningMar 22, 2026
Safety Score structure is unchanged, but the collateral-quality live reserve passthrough is now stricter about which hourly reserve feeds qualify.
- Live collateral passthrough now requires a fresh authoritative snapshot: the reserve row must be non-empty and matched to the coin's latest successful sync state.
- Only
dynamic-mixandsingle-bucketfeeds count as independent live collateral inputs.validated-staticfeeds stay visible on reserve detail/status surfaces but no longer override curated collateral scoring. - Single-bucket live feeds now participate in collateral drift and fallback tracking; the old implicit
>= 2 slicesgate is no longer the scoring contract.
v6.1Redemption confidence gating and capacity semanticsMar 22, 2026
Safety Score structure is unchanged, but the Liquidity dimension is now stricter about what redemption evidence can improve it.
- Low-confidence redemption routes remain visible in detail surfaces, but they no longer uplift the Safety Score liquidity dimension.
- When the reused DEX liquidity snapshot is stale, it is no longer blended into
effectiveExitScore. - Redemption detail output now distinguishes immediate redeemable capacity from eventual issuer/protocol redeemability.
v6.0Custody model tiers, mature-alt-l1, 2-factor ResilienceMar 21, 2026
Four structural changes landed together in the safety methodology: a wider custody model, a new chain tier for Solana and BNB Chain, a simpler 2-factor Resilience score, and a steeper 5-band chain penalty.
- Custody model expanded from 3 to 6 tiers: onchain, institutional-top, institutional-regulated, institutional-unregulated, institutional-sanctioned, and cex.
- Added mature-alt-l1 for Solana and BNB Chain with score 45.
- Resilience became
(collateral + custody) / 2; blacklist capability is now descriptive only. - Chain-risk penalty moved to 5 bands, and wrapper governance became exempt from that penalty.
v5.9Classification corrections: centralized-custody DeFi coinsMar 20, 2026
Three DeFi-classified coins were corrected after live reserve review showed majority centralized custody exposure.
- meUSD, ALUSD, and BtcUSD were reclassified from decentralized to centralized-dependent.
- ALUSD's earlier v4.1 correction was explicitly reversed after reserve review showed majority direct USDC/USDT exposure.
- meUSD and BtcUSD were corrected after live reserves confirmed custodial BTC-variant backing.
v5.8Live reserve passthrough for collateral qualityMar 14, 2026
Collateral quality scoring now consumes live reserve snapshots when available, using hourly data from reserve_composition instead of curated metadata.
- Coins with
liveReservesConfiguse fresh (<48h) live snapshots for collateral quality instead of curated metadata. - Delta alert fires when live-derived score diverges from curated by >15 points.
- Dependency inference remains on curated data (live slices lack coinId links).
v5.7Canonical ETH wrapper reserve alignmentMar 13, 2026
Direct ETH and canonical WETH reserve slices now share the same very-low risk tier.
- Updated the shared direct-asset reserve map used by live reserve adapters so `WETH` no longer falls into the generic wrapped-asset bucket.
- Aligned curated reserve metadata and live config overrides for coins that expose plain `WETH` or `ETH` slices.
- Left mixed strategy buckets unchanged. Delta-neutral ETH exposures, bridged ETH buckets, and mixed BTC/ETH slices still use their existing manually-modeled risk tiers.
v5.6Exit-liquidity integrationMar 12, 2026
The Safety Score liquidity dimension now evaluates exit liquidity, not just raw DEX depth.
- Added a new redemption backstop datasetfor redeemable assets, covering onchain collateral redemptions, stable basket redemptions, queue-based liquid-buffer systems, and issuer redemption rails.
- The report-card Liquidity dimension now uses an effective exit score: DEX liquidity remains the floor, while redemption quality can improve the dimension without redefining the standalone DEX liquidity score.
- Added route-family caps so queue-based and offchain issuer systems cannot look unrealistically liquid even when redemption exists.
v5.5Peg score fairness for young coinsMar 1, 2026
Three fixes to the peg score formula that prevent young coins with chronic depegs from scoring artificially high:
- Tracking window capped at coin age — uses the coin's earliest supply snapshot instead of always defaulting to a 4-year window. A 30-day-old coin is now scored over 30 days, not 1,461.
- Severity magnitude floor — every depeg event carries a minimum penalty of (peakBps / 2000) × recencyWeight, regardless of duration. Hundreds of brief high-magnitude depegs now accumulate real cost.
- Active depeg penalty steepened — floor raised from 2 to 5, divisor changed from 200 to 50. A 500 bps ongoing depeg now costs 10 points (was 2.5).
v5.4No-liquidity penaltyFeb 28, 2026
When the Liquidity dimension is NR (no DEX data), the overall score now receives a 10% penalty instead of silently redistributing the weight to other dimensions.
As DEX pipeline coverage matures, absence of liquidity data is increasingly suspect and should not inflate grades.
v5.3Remove chain infra from ResilienceFeb 28, 2026
Chain infrastructure was scored in bothResilience (as a 25% sub-factor) and Decentralization (as a penalty) — double-counting chain risk.
- Chain infra now scored exclusively in Decentralization
- Resilience becomes a 3-factor model (each ⅓): Collateral Quality, Custody Model, Blacklist Capability
v5.2Immutable-code governance tierFeb 28, 2026
New highest GovernanceQuality tier: immutable-code → 100. For protocols with no admin keys, no upgrade path, no DAO attack surface (e.g. LUSD, BOLD). Exempt from chain infrastructure penalty.
Full GovernanceQuality tiers
| Tier | Score |
|---|---|
| immutable-code | 100 |
| dao-governance | 85 |
| multisig | 55 |
| regulated-entity | 40 |
| single-entity | 20 |
| wrapper | 10 |
v5.1Regulated-entity tier + blacklist softeningFeb 28, 2026
- Blacklist scoring softened: blacklistable 0→33, possible 50→66, not-blacklistable 100 (unchanged). Non-zero floor for blacklistable tokens.
- regulated-entity tier added (score 40). Auto-promoted from single-entity when: jurisdiction regulator + license set, and proof of reserves via independent audit. Exempt from chain infra penalty.
- Grade thresholds lowered 5 points (C-range overcrowding after blacklist/decentralization changes).
v5.0GovernanceQuality + universal dependency scoringFeb 28, 2026
Decentralization: 3-tier → 6-tier GovernanceQuality
The blunt 3-level governance type (decentralized / centralized-dependent / centralized) replaced by a 6-tier GovernanceQuality scale, inferred from governance type when not explicitly set.
Dependency Risk: universal, not CeFi-only
All coins with upstream dependencies are now scored — not just centralized-dependent ones. Self-backed scores vary by governance type: decentralized 90, centralized-dependent 75, centralized 95. Dependencies auto-derived from reserve composition data.
Chain infrastructure restructured
New two-axis model: ChainTier × DeploymentModel multiplier. Threshold-based penalty applied to the Decentralization dimension.
| Peg | Liquidity | Safety | Resilience | Decentralization | Dep Risk |
|---|---|---|---|---|---|
| multiplier | 30% | — | 20% | 15% | 25% |
v4.1Liquidity weight increase + reclassificationsFeb 27, 2026
Liquidity 25%→30% (“swappability is the most defining aspect of a stablecoin”), resilience 25%→20%.
5 coins reclassified from centralized-dependent to decentralized: crvUSD, FRXUSD, USR, GYD, ALUSD.
| Peg | Liquidity | Safety | Resilience | Decentralization | Dep Risk |
|---|---|---|---|---|---|
| multiplier | 30% | — | 20% | 15% | 25% |
v4.0Peg stability becomes a multiplierFeb 27, 2026
Biggest structural change. Peg Stability removed from the weighted base dimensions entirely and applied as a post-hoc power-curve multiplier:
| pegScore | Multiplier | Impact |
|---|---|---|
| 100 | 1.000 | none |
| 90 | ≈0.979 | −2% |
| 50 | ≈0.870 | −13% |
| 10 | ≈0.631 | −37% |
| 0 | 0 | dead |
Grade thresholds lowered 5 points to compensate for structural deflation. Minimum rated base dimensions reduced from 3 to 2.
| Peg | Liquidity | Safety | Resilience | Decentralization | Dep Risk |
|---|---|---|---|---|---|
| multiplier | 25% | — | 25% | 10% | 30% |
v3.3Reserve-derived collateral qualityFeb 27, 2026
For coins with curated reserve composition data, collateral quality is computed as a weighted average of per-slice risk scores instead of using the enum fallback:
| Reserve risk tier | Score |
|---|---|
| very-low | 100 |
| low | 75 |
| medium | 50 |
| high | 25 |
| very-high | 5 |
v3.2Dependency type ceilingsFeb 27, 2026
New dependency types: wrapper, mechanism, collateral (default). After blended score is computed, ceilings apply:
- wrapper → ceiling = upstream − 3
- mechanism → ceiling = upstream
- collateral → no ceiling
Prevents thin wrappers (e.g. a USDC wrapper) from scoring higher than their upstream.
v3.0Resilience 4-factor modelFeb 26, 2026
Complete redesign of Resilience from 2 factors (chain distribution + freeze rate) to 4 equal sub-factors (25% each):
| Sub-factor | Tiers & scores |
|---|---|
| Chain Risk | ethereum=100, stage1-l2=66, established-alt-l1=20, unproven=0 |
| Collateral Quality | native=100, eth-lst=66, alt-lst-bridged-or-mixed=20, rwa=50, exotic=0 |
| Custody Model | onchain=100, institutional=50, cex=0 |
| Blacklist Capability | not-blacklistable=100, possible=50, blacklistable=0 |
| Peg | Liquidity | Safety | Resilience | Decentralization | Dep Risk |
|---|---|---|---|---|---|
| 25% | 20% | — | 20% | 10% | 25% |
v2.0Remove Safety dimensionFeb 26, 2026
Only ~20 of 142 coins had Bluechip ratings. Sparse coverage caused inconsistent weight redistribution. Safety dimension removed entirely; Bluechip display kept for informational use.
| Peg | Liquidity | Safety | Resilience | Decentralization | Dep Risk |
|---|---|---|---|---|---|
| 25% | 25% | removed | 15% | 10% | 25% |
Other changes in the v2 era
- Self-backed CeFi-Dependent score lowered 95→75 (systemic coupling risk)
- Active-depeg cap and +3 bonus removed from peg stability (pegScore already encodes severity)
- HHI concentration penalty removed from liquidity
- Decentralization widened: decentralized 95→100, centralized-dependent 70→50, centralized 50→0
- “Possible” blacklist tier added (0/50/100 scale)
- Chain-risk penalty on decentralization: stage1-l2 −15, established-alt-l1 −50, unproven −65
v1.0Initial implementationFeb 25, 2026
Six weighted dimensions:
| Dimension | Weight | Approach |
|---|---|---|
| Peg Stability | 25% | pegScore passthrough, capped at 65 during active depeg, +3 bonus if last depeg > 12 months ago |
| Liquidity | 25% | liquidityScore from DEX data, HHI penalty (−5 if >0.5, −10 if >0.8) |
| Safety | 20% | Bluechip rating passthrough (A+=100 … F=25), NR if no rating |
| Resilience | 15% | 2-factor: chain distribution 60% + freeze rate 40% |
| Decentralization | 10% | 3-tier: decentralized=95, centralized-dependent=70, centralized=50 |
| Dependency Risk | 5% | CeFi-Dependent only, unweighted avg of upstream scores |
Grade thresholds: A+≥97, A≥93, A−≥90, B+≥85, B≥80, B−≥75, C+≥70, C≥65, C−≥60, D≥50. Minimum 3 rated dimensions required.
Day-one patches
- Dependencies switched from unweighted to weighted averages
- Dependency renormalization fix: partial backing properly penalized via self-backed blending
- Peg +3 bonus restricted to coins with actual depeg history
- NAV tokens included in grading
- Rebalanced: dependency 5%→15%, resilience 15%→10%, decentralization 10%→5%
Quick Reference
Weight evolution
| Version | Peg | Liquidity | Safety | Resilience | Decentralization | Dep Risk |
|---|---|---|---|---|---|---|
| v1.0 | 25% | 25% | 20% | 15% | 10% | 5% |
| v1.0 patch | 25% | 25% | 20% | 10% | 5% | 15% |
| v2.0 | 25% | 25% | removed | 15% | 10% | 25% |
| v3.0 | 25% | 20% | — | 20% | 10% | 25% |
| v3.3 | 25% | 20% | — | 20% | 15% | 25% |
| v4.0 | multiplier | 25% | — | 25% | 10% | 30% |
| v4.1 | multiplier | 30% | — | 20% | 15% | 25% |
| v5.0–6.95 | multiplier | 30% | — | 20% | 15% | 25% |
Grade threshold evolution
| Grade | v1.0 | v4.0 (−5) | v5.1 (−5) |
|---|---|---|---|
| A+ | 97 | 92 | 87 |
| A | 93 | 88 | 83 |
| A− | 90 | 85 | 80 |
| B+ | 85 | 80 | 75 |
| B | 80 | 75 | 70 |
| B− | 75 | 70 | 65 |
| C+ | 70 | 65 | 60 |
| C | 65 | 60 | 55 |
| C− | 60 | 55 | 50 |
| D | 50 | 45 | 40 |
| F | 0 | 0 | 0 |