Skip to main content
Pharos

Chain Health Changelog: v1 archive

Historical release evidence. Return to current versions and the complete history index.

What this controls

Chain Health Changelog: v1 archive version history

Use this changelog to trace how Pharos changed the related scoring, data-source, threshold, or interpretation rules over time. Entries record the contract active at each release; archived rules are retained so historical charts and citations can be read against the rules active at the time.

Latest version

v1.7Sep 28, 2026

Composite published at 95% peg coverage

Chain Health publishes the composite when peg evidence covers at least 95% of positive chain supply, instead of requiring every holding to carry an observed peg price; below 95% the composite stays NR.

Impact snapshot

  • The composite requires non-null quality and peg factors plus peg coverage that is complete, or partial with coverage ≥ 0.95; unavailable coverage or partial coverage below 0.95 keeps health score and band null
  • Bound: peg weight is 0.20, so an unobserved share of at most 5% can move the observed-only peg factor by at most 5 points and the composite by at most 1 point
  • No imputation and no neutral 50: the peg factor stays observed-only and the unobserved share remains published in pegStabilityCoverage beside the composite
  • Ethereum, Tron, Base, Polygon, Monad, Sonic, Celo, Scroll, and Plume, withheld under v1.6 by small unpriced holdings (Ethereum: $5.9M of $148.7B), regain a composite; Hemi at 15.9% peg coverage stays NR
v1.7Sep 28, 2026

Composite published at 95% peg coverage

Chain Health publishes the composite when peg evidence covers at least 95% of positive chain supply, instead of requiring every holding to carry an observed peg price; below 95% the composite stays NR.

  • The composite requires non-null quality and peg factors plus peg coverage that is complete, or partial with coverage ≥ 0.95; unavailable coverage or partial coverage below 0.95 keeps health score and band null
  • Bound: peg weight is 0.20, so an unobserved share of at most 5% can move the observed-only peg factor by at most 5 points and the composite by at most 1 point
  • No imputation and no neutral 50: the peg factor stays observed-only and the unobserved share remains published in pegStabilityCoverage beside the composite
  • Ethereum, Tron, Base, Polygon, Monad, Sonic, Celo, Scroll, and Plume, withheld under v1.6 by small unpriced holdings (Ethereum: $5.9M of $148.7B), regain a composite; Hemi at 15.9% peg coverage stays NR
Details

Impact notes

  • The composite requires non-null quality and peg factors plus peg coverage that is complete, or partial with coverage ≥ 0.95; unavailable coverage or partial coverage below 0.95 keeps health score and band null
  • Bound: peg weight is 0.20, so an unobserved share of at most 5% can move the observed-only peg factor by at most 5 points and the composite by at most 1 point
  • No imputation and no neutral 50: the peg factor stays observed-only and the unobserved share remains published in pegStabilityCoverage beside the composite
  • Ethereum, Tron, Base, Polygon, Monad, Sonic, Celo, Scroll, and Plume, withheld under v1.6 by small unpriced holdings (Ethereum: $5.9M of $148.7B), regain a composite; Hemi at 15.9% peg coverage stays NR
  • Peg factor math, the 50% rated-supply quality gate, factor weights, and bands are unchanged
Commit provenance not recorded
    v1.6Sep 28, 2026

    Observed-only peg factors and complete-coverage health

    Chain Health removes neutral-50 peg imputation and withholds the composite unless peg evidence covers every positive-supply holding.

    • Zero observed peg supply publishes a null peg factor and null health score/band
    • Partial coverage publishes the observed-supply-weighted peg factor plus full-universe coverage, but no composite; no partial-coverage threshold is assumed
    • Fully observed chains retain the existing formula and weights; neutralImputedSupplyUsd is zero for new payloads
    • Nominal par references are not observed peg evidence; their supply remains in the coverage denominator
    Details

    Impact notes

    • Zero observed peg supply publishes a null peg factor and null health score/band
    • Partial coverage publishes the observed-supply-weighted peg factor plus full-universe coverage, but no composite; no partial-coverage threshold is assumed
    • Fully observed chains retain the existing formula and weights; neutralImputedSupplyUsd is zero for new payloads
    • Nominal par references are not observed peg evidence; their supply remains in the coverage denominator
    Commit provenance not recorded
      v1.5Aug 10, 2026

      Not-rated supply excluded from chain quality

      Chain Health quality now averages Safety Scores over rated supply only instead of imputing a 40 for not-rated supply, and the peg-stability factor derives deviation from the shared depeg-signal primitive rather than a local formula copy.

      • Not-rated supply is excluded from both the numerator and the denominator of the `quality` factor; the 50% rated-supply coverage gate is now the only not-rated mechanism, and below it the whole composite stays `null`
      • Removed the implicit `40` (the D-grade threshold) previously assigned to unrated coins, an imputed risk judgement Pharos had not made
      • 5 of 105 published chains move: manta 71 → 88, stacks 82 → 90, megaeth 50 → 54, metis 87 → 89, cardano 71 → 72 quality; health scores move by at most 5 points and no chain changes health band
      • Peg stability now calls the shared `deriveDepegSignal(...)` used by the depeg pipeline; the derivation is numerically identical (unrounded bps) and no chain's `pegStability` changed
      Details

      Impact notes

      • Not-rated supply is excluded from both the numerator and the denominator of the `quality` factor; the 50% rated-supply coverage gate is now the only not-rated mechanism, and below it the whole composite stays `null`
      • Removed the implicit `40` (the D-grade threshold) previously assigned to unrated coins, an imputed risk judgement Pharos had not made
      • 5 of 105 published chains move: manta 71 → 88, stacks 82 → 90, megaeth 50 → 54, metis 87 → 89, cardano 71 → 72 quality; health scores move by at most 5 points and no chain changes health band
      • Peg stability now calls the shared `deriveDepegSignal(...)` used by the depeg pipeline; the derivation is numerically identical (unrounded bps) and no chain's `pegStability` changed
      • Non-positive or non-finite prices now score neutral `50` like a missing price instead of scoring `0` or poisoning the chain average with `NaN`
      Commit provenance not recorded
        v1.4Jun 12, 2026

        L2BEAT chain-risk environment scoring

        Matched L2BEAT scaling projects now score the Chain Environment factor from a static L2BEAT stage and risk snapshot before falling back to the legacy Pharos tier model for unmatched chains.

        • Added explicit Pharos chain ID to L2BEAT project aliases and a static L2BEAT snapshot sourced from the scaling summary API
        • Matched chains derive Chain Environment from L2BEAT stage plus Sequencer Failure, State Validation, Data Availability, Exit Window, and Proposer Failure risk sentiments
        • Unmatched chains continue to use the existing tier mapping: tier 1 = 100, tier 2 = 60, tier 3 = 20
        • Safety Score chainTier and deploymentModel gain L2BEAT audit helpers only; live Safety Score outputs are unchanged
        Details

        Impact notes

        • Added explicit Pharos chain ID to L2BEAT project aliases and a static L2BEAT snapshot sourced from the scaling summary API
        • Matched chains derive Chain Environment from L2BEAT stage plus Sequencer Failure, State Validation, Data Availability, Exit Window, and Proposer Failure risk sentiments
        • Unmatched chains continue to use the existing tier mapping: tier 1 = 100, tier 2 = 60, tier 3 = 20
        • Safety Score chainTier and deploymentModel gain L2BEAT audit helpers only; live Safety Score outputs are unchanged
        Commit provenance not recorded
          v1.3Jun 6, 2026

          Active-only inputs and stale report-card dependency

          Live Chain Health now uses the same active/non-archived input universe as the daily chain-supply snapshot and degrades its report-card dependency when cached Safety Scores were computed with stale report-card inputs.

          • `GET /api/chains` excludes frozen, defunct, and non-active stablecoins before deriving peg rates or aggregating chain supply
          • The report-card dependency now reports `degraded` when `report_card_cache.degradedInputs.inputsStale` is true, instead of marking stale-input scores as fresh
          • Health scores can remain computed from the cached score map, but response freshness and headers now surface the degraded upstream report-card condition
          Details

          Impact notes

          • `GET /api/chains` excludes frozen, defunct, and non-active stablecoins before deriving peg rates or aggregating chain supply
          • The report-card dependency now reports `degraded` when `report_card_cache.degradedInputs.inputsStale` is true, instead of marking stale-input scores as fresh
          • Health scores can remain computed from the cached score map, but response freshness and headers now surface the degraded upstream report-card condition
          Commit provenance not recorded
            v1.2Apr 7, 2026

            Two-bucket backing diversity after active taxonomy cleanup

            Removed the standalone algorithmic bucket from the active backing taxonomy after reclassifying the remaining reserve-backed cases. Chain Health backing diversity now measures only the live RWA-backed vs crypto-backed split.

            • Reclassified FPI, cUSD, and CEUR out of the legacy algorithmic bucket based on their reserve backing
            • Active backing filters and taxonomy pages now expose only RWA-backed and crypto-backed cohorts
            • Backing diversity now normalizes across the two active backing types, so an even RWA/crypto split scores 100
            Details

            Impact notes

            • Reclassified FPI, cUSD, and CEUR out of the legacy algorithmic bucket based on their reserve backing
            • Active backing filters and taxonomy pages now expose only RWA-backed and crypto-backed cohorts
            • Backing diversity now normalizes across the two active backing types, so an even RWA/crypto split scores 100
            Commit provenance not recorded
              v1.1Mar 16, 2026

              Chain environment factor and weight rebalance

              Added a fifth health factor, Chain Environment, which rates chain infrastructure quality via a resilience tier system. Rebalanced weights to reduce backing diversity influence and give chain quality 20% of the composite.

              • New Chain Environment factor (20% weight): tier 1 = 100 (Ethereum), tier 2 = 60 (default), tier 3 = 20 (PulseChain, Harmony, etc.)
              • Backing diversity weight reduced from 15% to 10%
              • Quality weight reduced from 35% to 30%
              • Concentration weight reduced from 25% to 20%
              Details

              Impact notes

              • New Chain Environment factor (20% weight): tier 1 = 100 (Ethereum), tier 2 = 60 (default), tier 3 = 20 (PulseChain, Harmony, etc.)
              • Backing diversity weight reduced from 15% to 10%
              • Quality weight reduced from 35% to 30%
              • Concentration weight reduced from 25% to 20%
              • Peg stability weight reduced from 25% to 20%
              • Chains with poor infrastructure penalized: e.g. PulseChain dropped from #1 healthiest to mid-table
              1 commit
              • f6978ec
              v1.0Mar 16, 2026Reconstructed

              Initial Chain Health Score release

              Launched per-chain health scoring with four factors: quality (35%), concentration (25%), peg stability (25%), and backing diversity (15%). Exposed via /api/chains and the /chains/ leaderboard.

              • Introduced chain health score as a 0-100 composite across four factors
              • Quality: supply-weighted average of Pharos Safety Scores (null if < 50% coverage)
              • Concentration: HHI-based metric rewarding stablecoin diversity
              • Peg stability: supply-weighted peg proximity across all chain stablecoins
              Details

              Impact notes

              • Introduced chain health score as a 0-100 composite across four factors
              • Quality: supply-weighted average of Pharos Safety Scores (null if < 50% coverage)
              • Concentration: HHI-based metric rewarding stablecoin diversity
              • Peg stability: supply-weighted peg proximity across all chain stablecoins
              • Backing diversity: Shannon entropy across the backing taxonomy active at the time
              • Health bands: robust (80-100), healthy (60-79), mixed (40-59), fragile (20-39), concentrated (0-19)
              • Added /api/chains endpoint, /chains/ leaderboard page, and /chains/[chain]/ detail pages
              Reconstructed from git commit history.1 commit
              • 003eafd