Skip to main content
Pharos

Yield Intelligence Changelog: v5 archive

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

What this controls

Yield Intelligence Changelog: v5 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

v5.9Mar 26, 2026

Cadence-Aligned Data-Stale Warnings

The read-time `data-stale` warning now follows the shared hourly `sync-yield-data` cadence instead of a leftover fixed 90-minute threshold from the old half-hourly lane.

Impact snapshot

  • `data-stale` now triggers after three `sync-yield-data` intervals (currently about 3 hours) instead of after a hard-coded 90 minutes
  • Stablecoin detail Yield Intelligence cards no longer flag healthy hourly snapshots as stale after only one delayed publish window
  • The stale-warning threshold is now derived from shared cron metadata so future cadence moves stay aligned automatically
  • Methodology docs and the internal timeline now describe the cadence-aware stale-warning rule explicitly
v5.9Mar 26, 2026

Cadence-Aligned Data-Stale Warnings

The read-time `data-stale` warning now follows the shared hourly `sync-yield-data` cadence instead of a leftover fixed 90-minute threshold from the old half-hourly lane.

  • `data-stale` now triggers after three `sync-yield-data` intervals (currently about 3 hours) instead of after a hard-coded 90 minutes
  • Stablecoin detail Yield Intelligence cards no longer flag healthy hourly snapshots as stale after only one delayed publish window
  • The stale-warning threshold is now derived from shared cron metadata so future cadence moves stay aligned automatically
  • Methodology docs and the internal timeline now describe the cadence-aware stale-warning rule explicitly
Details

Impact notes

  • `data-stale` now triggers after three `sync-yield-data` intervals (currently about 3 hours) instead of after a hard-coded 90 minutes
  • Stablecoin detail Yield Intelligence cards no longer flag healthy hourly snapshots as stale after only one delayed publish window
  • The stale-warning threshold is now derived from shared cron metadata so future cadence moves stay aligned automatically
  • Methodology docs and the internal timeline now describe the cadence-aware stale-warning rule explicitly
Commit provenance not recorded
    v5.8Mar 26, 2026

    First-Party EUR Benchmarks and Resilient CHF Parsing

    Yield benchmark fetching now sources EUR €STR from the ECB's official data API with the FRED mirror as fallback, and the CHF proxy parser now tolerates the SNB's current HTML structure instead of depending on one plain-text sentence layout.

    • EUR benchmark refreshes now try the ECB Data API first and only fall back to the FRED €STR mirror when the official feed is unavailable
    • CHF benchmark parsing now normalizes the SNB page to text before extracting the policy-rate sentence, avoiding breakage from harmless markup changes
    • Degraded benchmark metadata now reports explicit EUR and CHF failure modes instead of collapsing first-run failures into a generic `unavailable` bucket
    • Yield methodology, API examples, and source inventory now reflect the official ECB feed plus the hardened SNB proxy parser
    Details

    Impact notes

    • EUR benchmark refreshes now try the ECB Data API first and only fall back to the FRED €STR mirror when the official feed is unavailable
    • CHF benchmark parsing now normalizes the SNB page to text before extracting the policy-rate sentence, avoiding breakage from harmless markup changes
    • Degraded benchmark metadata now reports explicit EUR and CHF failure modes instead of collapsing first-run failures into a generic `unavailable` bucket
    • Yield methodology, API examples, and source inventory now reflect the official ECB feed plus the hardened SNB proxy parser
    Commit provenance not recorded
      v5.7Mar 26, 2026

      Safety-Reweighted PYS Curve and Shared Scoring Hydration

      Pharos Yield Score now uses a steeper safety penalty curve so risky names need much larger yield spreads to outrank safe ones, and the scaling factor was retuned to keep the score range readable.

      • PYS now computes yield efficiency as `apy30d / (riskPenalty ^ 1.75)` instead of dividing by a linear safety penalty
      • The global `PYS_SCALING_FACTOR` increased from `5` to `8` so score distribution remains readable after the steeper safety curve
      • Live `/api/yield-rankings` hydration now reuses the shared PYS scorer, removing formula drift risk between cron-time scoring and read-time safety hydration
      • Leaderboard, detail-surface breakdowns, docs, and the methodology page now reference the adjusted risk penalty explicitly
      Details

      Impact notes

      • PYS now computes yield efficiency as `apy30d / (riskPenalty ^ 1.75)` instead of dividing by a linear safety penalty
      • The global `PYS_SCALING_FACTOR` increased from `5` to `8` so score distribution remains readable after the steeper safety curve
      • Live `/api/yield-rankings` hydration now reuses the shared PYS scorer, removing formula drift risk between cron-time scoring and read-time safety hydration
      • Leaderboard, detail-surface breakdowns, docs, and the methodology page now reference the adjusted risk penalty explicitly
      Commit provenance not recorded
        v5.6Mar 26, 2026

        Currency-Aware Benchmarks For Excess Yield

        Yield Intelligence now resolves row-level benchmark context by peg currency, using USD T-bills by default, EUR €STR when available, and a CHF SNB policy-rate proxy for Swiss-franc pegs.

        • The benchmark cache now publishes a small benchmark registry instead of only a single global USD risk-free rate
        • Each ranking row now exposes its selected benchmark label, rate, fallback state, and selection mode so excess-yield semantics remain explicit downstream
        • Detail pages, hero chips, and yield-history charts now label excess yield against the row's actual benchmark instead of hard-coding `vs T-Bill`
        • The `/yield` page now hides the single benchmark line on mixed-benchmark views and restores it only when the visible scope shares one benchmark
        Details

        Impact notes

        • The benchmark cache now publishes a small benchmark registry instead of only a single global USD risk-free rate
        • Each ranking row now exposes its selected benchmark label, rate, fallback state, and selection mode so excess-yield semantics remain explicit downstream
        • Detail pages, hero chips, and yield-history charts now label excess yield against the row's actual benchmark instead of hard-coding `vs T-Bill`
        • The `/yield` page now hides the single benchmark line on mixed-benchmark views and restores it only when the visible scope shares one benchmark
        • CHF support uses the public SNB policy rate as a proxy rather than the SNB-published SARON display, whose usage is restricted
        Commit provenance not recorded
          v5.5Mar 26, 2026

          Non-USD Yield Scoping and Exact-Pool Commodity Overrides

          Yield Intelligence now exposes a shareable non-USD ranking scope on `/yield`, and commodity coverage can use curated exact-pool DeFiLlama venues without relaxing the generic gold/silver discovery guardrails.

          • The `/yield` page now supports peg-scoped ranking views, including a `non-usd` preset that groups the live EUR, CHF, SGD, MXN, and commodity rows into one visible universe
          • Tier-2 DeFiLlama ingestion now preserves exact curated non-stablecoin pool UUIDs in addition to native pool IDs and wrapper symbols
          • A new exact-pool override lane can publish assets like `xaut-tether` from a named venue when the UUID, project, chain, and symbol all match and the APY/TVL quality gates pass
          • Generic gold/silver auto-discovery remains disabled, preventing mixed baskets such as Multipli's RWAUSDI pool from being misclassified as single-asset commodity yield sources
          Details

          Impact notes

          • The `/yield` page now supports peg-scoped ranking views, including a `non-usd` preset that groups the live EUR, CHF, SGD, MXN, and commodity rows into one visible universe
          • Tier-2 DeFiLlama ingestion now preserves exact curated non-stablecoin pool UUIDs in addition to native pool IDs and wrapper symbols
          • A new exact-pool override lane can publish assets like `xaut-tether` from a named venue when the UUID, project, chain, and symbol all match and the APY/TVL quality gates pass
          • Generic gold/silver auto-discovery remains disabled, preventing mixed baskets such as Multipli's RWAUSDI pool from being misclassified as single-asset commodity yield sources
          Commit provenance not recorded
            v5.4Mar 26, 2026

            Address-First Identity, Explicit Coverage, and Publish-Consistent History

            Yield resolution now matches by chain and address before symbol fallbacks, every yield-bearing asset has explicit manifest coverage or an intentional gap, and published history is bounded to the latest rankings snapshot.

            • DeFiLlama discovery, variant matching, and protocol-native adapters now prefer chain+address identity and drop ambiguous symbol-only candidates instead of attaching them to the first matching coin
            • Protocol-native source keys now use full chain-aware identifiers (Morpho, Pendle, Yearn, Kong, Beefy, Compound, Aave) and source-link matching understands prefixed and chain-qualified labels
            • Yield manifest coverage now includes explicit price-derived fallbacks and intentional gaps, so assets like cetes-etherfuse no longer disappear from coverage reporting
            • Warning heuristics and published `medianApy` now share the same TVL-weighted 30d benchmark
            Details

            Impact notes

            • DeFiLlama discovery, variant matching, and protocol-native adapters now prefer chain+address identity and drop ambiguous symbol-only candidates instead of attaching them to the first matching coin
            • Protocol-native source keys now use full chain-aware identifiers (Morpho, Pendle, Yearn, Kong, Beefy, Compound, Aave) and source-link matching understands prefixed and chain-qualified labels
            • Yield manifest coverage now includes explicit price-derived fallbacks and intentional gaps, so assets like cetes-etherfuse no longer disappear from coverage reporting
            • Warning heuristics and published `medianApy` now share the same TVL-weighted 30d benchmark
            • yield-history no longer advances past the latest published yield-rankings snapshot when DB writes and cache publication diverge
            Commit provenance not recorded
              v5.3Mar 26, 2026

              Yield Infrastructure Automation

              Chain-scoped Layer 3 symbol matching prevents cross-chain false positives in auto-lending discovery, variant symbol auto-scanner detects new wrapper tokens (advisory mode), and monthly yield coverage audit cron provides protocol expansion recommendations.

              • Chain-scoped matching adds optional chainFilter to findBestLendingPool, derived from coin contract deployments
              • Variant scanner detects sXXX/stXXX/wXXX prefix and SAVE/VAULT/EARN/STAKE suffix patterns in DL pools
              • Monthly coverage audit cron (1st of month, 06:00 UTC) flags unmatched high-TVL pools and missing protocols
              • Protocol recommendations classify missing protocols as high-confidence (>$10M, 3+ pools) or review-needed
              Details

              Impact notes

              • Chain-scoped matching adds optional chainFilter to findBestLendingPool, derived from coin contract deployments
              • Variant scanner detects sXXX/stXXX/wXXX prefix and SAVE/VAULT/EARN/STAKE suffix patterns in DL pools
              • Monthly coverage audit cron (1st of month, 06:00 UTC) flags unmatched high-TVL pools and missing protocols
              • Protocol recommendations classify missing protocols as high-confidence (>$10M, 3+ pools) or review-needed
              Commit provenance not recorded
                v5.2Mar 25, 2026

                Yield Coverage Expansion: Protocol-Native API Wave

                Major yield coverage expansion: 10 protocol-native adapters (Hashnote USYC, Ondo oracle, Morpho GraphQL, Pendle REST, Yearn Kong GraphQL, Beefy REST, Aave V3 on-chain, Compound V3 on-chain, BIMA Earn), USTB + thBILL promoted to on-chain ERC-4626, cusd-cap flagged yield-bearing, 19 new lending protocols added, TVL floor lowered for smaller ecosystems, DeFiLlama yield history backfill for instant 365-day charts.

                • 10 protocol-native adapters provide direct yield data, reducing DeFiLlama intermediation
                • Aave V3 + Compound V3 direct on-chain supply rates across Ethereum, Arbitrum, and Base
                • Kong adapter covers 2,083 ERC-4626 vaults (Yearn + Morpho + Spark + Fluid + others)
                • USTB + thBILL upgraded from T-bill proxy to actual on-chain ERC-4626 exchange rate reads
                Details

                Impact notes

                • 10 protocol-native adapters provide direct yield data, reducing DeFiLlama intermediation
                • Aave V3 + Compound V3 direct on-chain supply rates across Ethereum, Arbitrum, and Base
                • Kong adapter covers 2,083 ERC-4626 vaults (Yearn + Morpho + Spark + Fluid + others)
                • USTB + thBILL upgraded from T-bill proxy to actual on-chain ERC-4626 exchange rate reads
                • DeFiLlama yield history backfill gives instant 365-day charts for newly tracked coins
                • Expanded lending protocol allowlist with 19 new protocols (Wildcat $235M, Tectonic $100M, etc.)
                • cusd-cap flagged as yield-bearing with stCUSD savings wrapper ($68M TVL)
                • Lower TVL floor ($25K) captures Solana/Sui/Aptos/Cardano/Stacks lending markets
                Commit provenance not recorded
                  v5.1Mar 24, 2026

                  Protocol-native BIMA savings fallback for USBD

                  USBD now resolves through BIMA's public earn API when DeFiLlama has no usable sUSBD wrapper pool, closing the remaining native-yield coverage gap without introducing a hand-set rate.

                  • usbd-bima now emits a protocol-native `BIMA savings (sUSBD)` source row sourced from BIMA's published `/api/earn/pools` feed
                  • Yield arbitration treats protocol-owned earn APIs as curated sources rather than misclassifying them as on-chain or DeFiLlama data
                  • The about page and source-link registry now expose BIMA's earn surface as an official yield-source reference
                  Details

                  Impact notes

                  • usbd-bima now emits a protocol-native `BIMA savings (sUSBD)` source row sourced from BIMA's published `/api/earn/pools` feed
                  • Yield arbitration treats protocol-owned earn APIs as curated sources rather than misclassifying them as on-chain or DeFiLlama data
                  • The about page and source-link registry now expose BIMA's earn surface as an official yield-source reference
                  Commit provenance not recorded
                    v5.0Mar 24, 2026

                    Richer freshness provenance and curated lending source links

                    Yield rankings provenance now carries source-observation and comparison-anchor timing for derived sources, and the lending allowlist now has curated source-link coverage for all supported protocols.

                    • Price-derived and on-chain rankings now expose the age of their actual observation inputs instead of always presenting as fresh at sync time
                    • Derived-source provenance now includes comparison-anchor timing so older anchors are visible to downstream consumers
                    • All allowlisted lending protocols now resolve to curated source links instead of falling back to coin-level websites or nulls
                    Details

                    Impact notes

                    • Price-derived and on-chain rankings now expose the age of their actual observation inputs instead of always presenting as fresh at sync time
                    • Derived-source provenance now includes comparison-anchor timing so older anchors are visible to downstream consumers
                    • All allowlisted lending protocols now resolve to curated source links instead of falling back to coin-level websites or nulls
                    Commit provenance not recorded