Yield Intelligence Changelog: v4 archive
Historical release evidence. Return to current versions and the complete history index.
What this controls
Yield Intelligence Changelog: v4 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.
Primary references
Latest version
Publish-safe retention and deterministic adapter quarantine
Yield publication now preflights rankings payloads before mutating live rows, degraded runs retain prior rows instead of destructively pruning, and the two known-bad generic deterministic vault probes were quarantined from Tier 1 coverage.
Impact snapshot
- Rankings publication is now validated before live row mutation, reducing DB/cache divergence risk on schema or publish-guard failures
- Degraded runs retain prior current rows by skipping destructive cleanup instead of deleting rows while upstream inputs are impaired
- dUSD and reUSD were removed from the generic ERC-4626 deterministic adapter set until protocol-specific readers exist, reducing false confidence in Tier 1 coverage
v4.9Mar 24, 2026Publish-safe retention and deterministic adapter quarantine
Yield publication now preflights rankings payloads before mutating live rows, degraded runs retain prior rows instead of destructively pruning, and the two known-bad generic deterministic vault probes were quarantined from Tier 1 coverage.
- Rankings publication is now validated before live row mutation, reducing DB/cache divergence risk on schema or publish-guard failures
- Degraded runs retain prior current rows by skipping destructive cleanup instead of deleting rows while upstream inputs are impaired
- dUSD and reUSD were removed from the generic ERC-4626 deterministic adapter set until protocol-specific readers exist, reducing false confidence in Tier 1 coverage
DetailsHide details
Publish-safe retention and deterministic adapter quarantine
Yield publication now preflights rankings payloads before mutating live rows, degraded runs retain prior rows instead of destructively pruning, and the two known-bad generic deterministic vault probes were quarantined from Tier 1 coverage.
- Rankings publication is now validated before live row mutation, reducing DB/cache divergence risk on schema or publish-guard failures
- Degraded runs retain prior current rows by skipping destructive cleanup instead of deleting rows while upstream inputs are impaired
- dUSD and reUSD were removed from the generic ERC-4626 deterministic adapter set until protocol-specific readers exist, reducing false confidence in Tier 1 coverage
Impact notes
- Rankings publication is now validated before live row mutation, reducing DB/cache divergence risk on schema or publish-guard failures
- Degraded runs retain prior current rows by skipping destructive cleanup instead of deleting rows while upstream inputs are impaired
- dUSD and reUSD were removed from the generic ERC-4626 deterministic adapter set until protocol-specific readers exist, reducing false confidence in Tier 1 coverage
v4.8Mar 24, 2026Explicit edge-case overrides for remaining high-signal lending markets
A final selective pass added deterministic lending overrides for the remaining high-signal exact-symbol markets that were still blocked only by report-card coverage gaps or sub-C safety gating.
- Polaris pUSD now resolves through a deterministic Silo v2 lending market override, fixing the prior bypass-only configuration gap
- USDX, USDO, and USDM now use deterministic exact-symbol lending overrides rather than waiting on the generic dynamic discovery path
- These explicit overrides bypass the normal C- safety gate only for a short named list of high-TVL or protocol-native edge cases, preserving the broader global discovery standard
DetailsHide details
Explicit edge-case overrides for remaining high-signal lending markets
A final selective pass added deterministic lending overrides for the remaining high-signal exact-symbol markets that were still blocked only by report-card coverage gaps or sub-C safety gating.
- Polaris pUSD now resolves through a deterministic Silo v2 lending market override, fixing the prior bypass-only configuration gap
- USDX, USDO, and USDM now use deterministic exact-symbol lending overrides rather than waiting on the generic dynamic discovery path
- These explicit overrides bypass the normal C- safety gate only for a short named list of high-TVL or protocol-native edge cases, preserving the broader global discovery standard
Impact notes
- Polaris pUSD now resolves through a deterministic Silo v2 lending market override, fixing the prior bypass-only configuration gap
- USDX, USDO, and USDM now use deterministic exact-symbol lending overrides rather than waiting on the generic dynamic discovery path
- These explicit overrides bypass the normal C- safety gate only for a short named list of high-TVL or protocol-native edge cases, preserving the broader global discovery standard
v4.7Mar 24, 2026Early NAV fallback support and deeper long-tail lending coverage
Yield coverage widened again through lower but still curated lending floors, two additional protocol families, and price-derived fallbacks that can bootstrap younger NAV tokens before day 30.
- Auto-discovered lending opportunities now accept single-asset pools down to $100K TVL and 0.10% APY, capturing still-meaningful long-tail markets without opening full dust-pool coverage
- The curated lending allowlist now includes More Markets and SmarDex USDN, while Polaris pUSD can bypass the report-card gate through an explicit vetted edge-case override
- Price-derived APY now annualizes from the oldest available price anchor between 7 and 45 days instead of requiring a strict 30-day sample, improving early coverage for newer NAV tokens
DetailsHide details
Early NAV fallback support and deeper long-tail lending coverage
Yield coverage widened again through lower but still curated lending floors, two additional protocol families, and price-derived fallbacks that can bootstrap younger NAV tokens before day 30.
- Auto-discovered lending opportunities now accept single-asset pools down to $100K TVL and 0.10% APY, capturing still-meaningful long-tail markets without opening full dust-pool coverage
- The curated lending allowlist now includes More Markets and SmarDex USDN, while Polaris pUSD can bypass the report-card gate through an explicit vetted edge-case override
- Price-derived APY now annualizes from the oldest available price anchor between 7 and 45 days instead of requiring a strict 30-day sample, improving early coverage for newer NAV tokens
Impact notes
- Auto-discovered lending opportunities now accept single-asset pools down to $100K TVL and 0.10% APY, capturing still-meaningful long-tail markets without opening full dust-pool coverage
- The curated lending allowlist now includes More Markets and SmarDex USDN, while Polaris pUSD can bypass the report-card gate through an explicit vetted edge-case override
- Price-derived APY now annualizes from the oldest available price anchor between 7 and 45 days instead of requiring a strict 30-day sample, improving early coverage for newer NAV tokens
v4.6Mar 24, 2026Rate-derived treasury expansion and broader lending discovery
Yield coverage widened through new deterministic Treasury fallbacks plus a broader but still curated lending auto-discovery set for long-tail assets.
- USYC and thBILL now participate in rate-derived Treasury fallback coverage alongside the existing BUIDL/USTB/YLDS/mTBILL/OUSG set
- Auto-discovered lending coverage now recognizes additional curated protocol slugs already present in live DeFiLlama data, including Loopscale, Vesper, Lista Lending, Liqwid, Overnight, Lagoon, and NAVI Lending
- The lending auto-discovery TVL floor was reduced from $1.0M to $0.5M to capture still-meaningful long-tail lending markets without opening the door to dust pools
DetailsHide details
Rate-derived treasury expansion and broader lending discovery
Yield coverage widened through new deterministic Treasury fallbacks plus a broader but still curated lending auto-discovery set for long-tail assets.
- USYC and thBILL now participate in rate-derived Treasury fallback coverage alongside the existing BUIDL/USTB/YLDS/mTBILL/OUSG set
- Auto-discovered lending coverage now recognizes additional curated protocol slugs already present in live DeFiLlama data, including Loopscale, Vesper, Lista Lending, Liqwid, Overnight, Lagoon, and NAVI Lending
- The lending auto-discovery TVL floor was reduced from $1.0M to $0.5M to capture still-meaningful long-tail lending markets without opening the door to dust pools
Impact notes
- USYC and thBILL now participate in rate-derived Treasury fallback coverage alongside the existing BUIDL/USTB/YLDS/mTBILL/OUSG set
- Auto-discovered lending coverage now recognizes additional curated protocol slugs already present in live DeFiLlama data, including Loopscale, Vesper, Lista Lending, Liqwid, Overnight, Lagoon, and NAVI Lending
- The lending auto-discovery TVL floor was reduced from $1.0M to $0.5M to capture still-meaningful long-tail lending markets without opening the door to dust pools
v4.5Mar 23, 2026Fail-closed source validation and retained-market benchmark continuity
Yield sync now treats broken direct-source payloads and total deterministic on-chain outages as degraded inputs, while retained Treasury benchmarks preserve the last market-derived rate across fallback streaks.
- Direct DeFiLlama yield fetches now degrade on invalid payloads or zero relevant stablecoin pools instead of being treated as a benign empty set
- Runs now degrade when all configured deterministic on-chain sources fail in the same cycle, exposing that outage in rankings provenance
- Retained `risk_free_rate` fallbacks preserve the last market-derived benchmark fields across degraded streaks, and rankings-cache publication now blocks on severe shrink versus the prior cache
DetailsHide details
Fail-closed source validation and retained-market benchmark continuity
Yield sync now treats broken direct-source payloads and total deterministic on-chain outages as degraded inputs, while retained Treasury benchmarks preserve the last market-derived rate across fallback streaks.
- Direct DeFiLlama yield fetches now degrade on invalid payloads or zero relevant stablecoin pools instead of being treated as a benign empty set
- Runs now degrade when all configured deterministic on-chain sources fail in the same cycle, exposing that outage in rankings provenance
- Retained `risk_free_rate` fallbacks preserve the last market-derived benchmark fields across degraded streaks, and rankings-cache publication now blocks on severe shrink versus the prior cache
Impact notes
- Direct DeFiLlama yield fetches now degrade on invalid payloads or zero relevant stablecoin pools instead of being treated as a benign empty set
- Runs now degrade when all configured deterministic on-chain sources fail in the same cycle, exposing that outage in rankings provenance
- Retained `risk_free_rate` fallbacks preserve the last market-derived benchmark fields across degraded streaks, and rankings-cache publication now blocks on severe shrink versus the prior cache
v4.4Mar 20, 2026On-chain rate bootstrapping and pipeline hardening
Fixed a bootstrapping deadlock preventing all 13 Tier 1 vault configs from computing on-chain APY, plus DRY and performance improvements.
- On-chain rate configs now emit a seed row when no previous exchange rate exists, breaking the bootstrapping deadlock that prevented Tier 1 APY computation since launch
- buildOnChainSourceKey consolidated from 3 duplicate definitions into a single shared export
- Pool pre-filter set allocations promoted from per-call to module-level for improved DL pool ingestion performance
- Live safety hydration coverage ratio now uses active card count instead of total card count for accurate degradation detection
DetailsHide details
On-chain rate bootstrapping and pipeline hardening
Fixed a bootstrapping deadlock preventing all 13 Tier 1 vault configs from computing on-chain APY, plus DRY and performance improvements.
- On-chain rate configs now emit a seed row when no previous exchange rate exists, breaking the bootstrapping deadlock that prevented Tier 1 APY computation since launch
- buildOnChainSourceKey consolidated from 3 duplicate definitions into a single shared export
- Pool pre-filter set allocations promoted from per-call to module-level for improved DL pool ingestion performance
- Live safety hydration coverage ratio now uses active card count instead of total card count for accurate degradation detection
Impact notes
- On-chain rate configs now emit a seed row when no previous exchange rate exists, breaking the bootstrapping deadlock that prevented Tier 1 APY computation since launch
- buildOnChainSourceKey consolidated from 3 duplicate definitions into a single shared export
- Pool pre-filter set allocations promoted from per-call to module-level for improved DL pool ingestion performance
- Live safety hydration coverage ratio now uses active card count instead of total card count for accurate degradation detection
v4.3Mar 19, 2026Wrapper-preserving ingestion and hydration hardening
Yield ingestion now preserves wrapper-relevant pools through pre-filtering, separates deterministic history from curated pools, and hardens public hydration paths against partial safety or warning data.
- DeFiLlama pool ingestion now retains single-exposure wrapper pools that are explicitly relevant via native or variant config even when upstream `stablecoin` flags are false
- Deterministic on-chain rows now use `onchain:<stablecoinId>` source keys so previous-rate lookups and source-aware history cannot collide with curated pool UUIDs
- Live `/api/yield-rankings` safety hydration keeps rows with `DEFAULT_SAFETY_SCORE` / `NR` when report-card coverage is incomplete instead of dropping yield coverage
- Retained benchmark fallbacks stay marked as degraded, and malformed stored `warning_signals` payloads no longer fail `yield-history` requests
DetailsHide details
Wrapper-preserving ingestion and hydration hardening
Yield ingestion now preserves wrapper-relevant pools through pre-filtering, separates deterministic history from curated pools, and hardens public hydration paths against partial safety or warning data.
- DeFiLlama pool ingestion now retains single-exposure wrapper pools that are explicitly relevant via native or variant config even when upstream `stablecoin` flags are false
- Deterministic on-chain rows now use `onchain:<stablecoinId>` source keys so previous-rate lookups and source-aware history cannot collide with curated pool UUIDs
- Live `/api/yield-rankings` safety hydration keeps rows with `DEFAULT_SAFETY_SCORE` / `NR` when report-card coverage is incomplete instead of dropping yield coverage
- Retained benchmark fallbacks stay marked as degraded, and malformed stored `warning_signals` payloads no longer fail `yield-history` requests
Impact notes
- DeFiLlama pool ingestion now retains single-exposure wrapper pools that are explicitly relevant via native or variant config even when upstream `stablecoin` flags are false
- Deterministic on-chain rows now use `onchain:<stablecoinId>` source keys so previous-rate lookups and source-aware history cannot collide with curated pool UUIDs
- Live `/api/yield-rankings` safety hydration keeps rows with `DEFAULT_SAFETY_SCORE` / `NR` when report-card coverage is incomplete instead of dropping yield coverage
- Retained benchmark fallbacks stay marked as degraded, and malformed stored `warning_signals` payloads no longer fail `yield-history` requests
v4.2Mar 10, 2026Source-aware history and confidence-weighted arbitration
Yield rankings now preserve per-source history, retain benchmark provenance, and prefer higher-confidence sources when multiple candidates disagree.
- yield_history now persists per-source rows with best-source markers instead of a single mixed best series
- 7d and 30d APY metrics are computed from source-specific history, preventing source-switch contamination
- Rankings now include provenance for benchmark freshness, safety coverage, source-switch state, and selection reasoning
- Cross-source arbitration can reject divergent discovered or fallback sources when canonical sources disagree materially
DetailsHide details
Source-aware history and confidence-weighted arbitration
Yield rankings now preserve per-source history, retain benchmark provenance, and prefer higher-confidence sources when multiple candidates disagree.
- yield_history now persists per-source rows with best-source markers instead of a single mixed best series
- 7d and 30d APY metrics are computed from source-specific history, preventing source-switch contamination
- Rankings now include provenance for benchmark freshness, safety coverage, source-switch state, and selection reasoning
- Cross-source arbitration can reject divergent discovered or fallback sources when canonical sources disagree materially
Impact notes
- yield_history now persists per-source rows with best-source markers instead of a single mixed best series
- 7d and 30d APY metrics are computed from source-specific history, preventing source-switch contamination
- Rankings now include provenance for benchmark freshness, safety coverage, source-switch state, and selection reasoning
- Cross-source arbitration can reject divergent discovered or fallback sources when canonical sources disagree materially
v4.1Mar 7, 2026Conservative LUSD Stability Pool source
LUSD gained a deterministic B.Protocol / Liquity Stability Pool source that estimates only the LQTY incentive stream and labels that limitation explicitly.
- Added direct on-chain LUSD source using Liquity Stability Pool deposits and CommunityIssuance totals
- APR converts projected LQTY emissions to USD using CoinGecko spot price and excludes ETH liquidation gains by design
- LUSD can now surface both B.Protocol Stability Pool and auto-discovered lending alternatives in the same ranking payload
DetailsHide details
Conservative LUSD Stability Pool source
LUSD gained a deterministic B.Protocol / Liquity Stability Pool source that estimates only the LQTY incentive stream and labels that limitation explicitly.
- Added direct on-chain LUSD source using Liquity Stability Pool deposits and CommunityIssuance totals
- APR converts projected LQTY emissions to USD using CoinGecko spot price and excludes ETH liquidation gains by design
- LUSD can now surface both B.Protocol Stability Pool and auto-discovered lending alternatives in the same ranking payload
Impact notes
- Added direct on-chain LUSD source using Liquity Stability Pool deposits and CommunityIssuance totals
- APR converts projected LQTY emissions to USD using CoinGecko spot price and excludes ETH liquidation gains by design
- LUSD can now surface both B.Protocol Stability Pool and auto-discovered lending alternatives in the same ranking payload
v4.0Mar 3, 2026ReconstructedMulti-source rankings and alternative-source transparency
Yield rankings moved from single-source rows to per-source modeling, so each coin can expose both native and wrapper yield paths.
- yield_data primary key changed to (stablecoin_id, source_key) with per-source rows
- is_best now marks the highest-APY source per coin; non-best alternatives are retained
- Tier 2 matching aggregates all valid sources (native map, wrapper map, symbol fallback)
- /api/yield-rankings now includes altSources[] and UI exposes +N alternative source details
DetailsHide details
Multi-source rankings and alternative-source transparency
Yield rankings moved from single-source rows to per-source modeling, so each coin can expose both native and wrapper yield paths.
- yield_data primary key changed to (stablecoin_id, source_key) with per-source rows
- is_best now marks the highest-APY source per coin; non-best alternatives are retained
- Tier 2 matching aggregates all valid sources (native map, wrapper map, symbol fallback)
- /api/yield-rankings now includes altSources[] and UI exposes +N alternative source details
Impact notes
- yield_data primary key changed to (stablecoin_id, source_key) with per-source rows
- is_best now marks the highest-APY source per coin; non-best alternatives are retained
- Tier 2 matching aggregates all valid sources (native map, wrapper map, symbol fallback)
- /api/yield-rankings now includes altSources[] and UI exposes +N alternative source details
- b94e042