Changelog
Weekly release notes. Follow @PharosWatch on Telegram for real-time alerts, or browse the full commit history on GitHub.
Yield intelligence rebuilt from the ground up, API auth goes live, and a 100+ fix security audit lands.
- Yield intelligence overhaul10+ protocol-native adapters (Aave V3, Compound V3, Morpho, Pendle, Beefy, Yearn Kong), benchmark-aware scoring, coverage audits, and 365-day backfill charts
- API key authenticationFull auth gate on protected endpoints with key rotation, audit logging, dual-pepper hashing, and rate limiting
- Broader stablecoin coverageCHFAU, trUSD, Base Dollar added; live reserves expanded for USDSC, satUSD, USDai, Anzen USDz, and Liquity v1 LUSD
- Codebase hardeningComprehensive three-pillar audit remediation across security, reliability, and maintainability with 100+ targeted fixes
- Richer risk surfacesNon-USD market share charts, blacklist status distribution, treasury stable exposure portfolio, and gold-peg support
- Pipeline reliabilityHardened pricing consensus, reserve sync, redemption backstops, depeg recovery, and cron orchestration
- Status page upgradesTelegram delivery summary, degraded-first cache tables, circuit breaker visibility, and request-source attribution
- Changelog pageWeekly release notes page with editorial summaries and full commit history
389 commits
- a36355e fix(changelog): add /changelog/ to sitemap and fix lint warning
- 24eaea1 fix(changelog): remove unused type imports from types test
- 1f5825c style(about): fit all 5 reference cards on one row on wide screens
- 5e14b8c feat(changelog): add changelog-collect skill for autonomous entry generation
- d890479 feat(changelog): add changelog page and navigation link
- 8e26ee0 feat(changelog): add ChangelogEntryCard component
- 9e4d62b style(about): bolder reference page cards with accent-colored icons and hover
- 8b7b378 feat(changelog): add seed entry and barrel export
- a14421a feat(changelog): add ChangelogEntry data types
- e423064 fix(ci): pass API key to smoke-ui static export proxy
- dc0cc73 fix: make recordApiKeyAudit module-private
- 9cb783c feat(auth): enforce API key authentication on protected endpoints
- 7f73afa feat(auth): default PUBLIC_API_AUTH_MODE to enforce
- 16c25f2 fix(tests): add audit log mock to api-key handler tests
- 9e28f7e feat(api-keys): support dual-pepper authentication with opportunistic re-hash
- 1bdee02 feat(api-keys): add pepper_version column and previous-pepper env contract
- 6d16234 docs: update live-reserves count to 123
- 6e822a3 fix(auth): cast generateKey result to CryptoKey for strict type-check
- c5fcfc6 add GET /api/api-keys/audit-log admin endpoint
- b568e11 add API key audit log migration and recording function
… and 369 more
Four new DEX APIs feed pricing consensus, Safety Score hits v6.0, and live reserves double to 114 coins.
- Multi-DEX API integrationFluid, Balancer, Raydium, and Orca direct API fetchers with per-protocol price disaggregation into pricing consensus
- Pricing source expansionKraken, Bitstamp, Jupiter, and Chainlink added to consensus; tertiary FX fallback for multi-source outages
- Redemption backstop coverageExpanded from 66 to 136 coins with BUIDL, NAV-based, AMM, and on-chain backstop configs plus fee accuracy fixes
- Safety Score v6.0Custody tiers, mature-alt-L1 classification, 2-factor Resilience scoring, and custodyModel overrides for all remaining coins
- Pre-launch moduleNew /upcoming page with milestone tracking, Telegram launch alerts, pre-launch detail views, and curation skill
- Live reserve expansionCoverage expanded from 54 to 114 coins with curated-validated adapters, display blocks, and risk validation
- Design polishRegimeBar PSI indicator, confidence typography, chart tooltip standardization, table density toggle, and command palette history
- Stablecoin additionsDUSD, USSD, USBD added; all 174 AI editorial summaries rewritten; new collateral-as-dependency section on detail pages
311 commits
- 5e423ff Trim sync FX hotspot line count
- 0fabfc0 Fix Chainlink FX breaker recovery
- b37f1b9 Restore Bluechip hero ratings
- 5b30544 Fix light mode contrast regressions
- 1383864 Fix blacklist tooltip totals and sync FX docs
- 8b5fed8 Fix blacklist tooltip total
- e3253c6 Polish Pharos surfaces and align docs
- 8817cd9 Remove filter shortcut hotkey
- f7fe96a Fix mint burn D1 batch variable overflow
- 38f0a8b Fix table horizontal scrollbar visibility
- e93f69b Fix merge-gate coverage for liquidity telemetry
- cc7b337 Add blacklist amount-gap remediation controls
- c425a0b Add DEX liquidity drift and evidence telemetry
- d9f6d63 Harden PSI replay and presentation consistency
- 95418f8 Harden blacklist tracker remediation
- 61535a4 Harden DEX liquidity coverage and confidence semantics
- 76b12cc fix: restore analytics in pages builds
- 2cff905 Fix yield scatter plot clipping
- 1cac093 fix: reload stale route error pages
- 1de05b5 Harden mint burn flow remediation
… and 291 more
Chain analytics and multi-source pricing launch alongside a major live-reserve and audit push.
- Chain analytics launchNew /chains/ leaderboard and per-chain profile pages with health scores, supply snapshots, and cross-linked stablecoin detail
- Multi-source pricingN-source consensus module integrating Pyth, RedStone, Binance, Coinbase, Curve on-chain prices, and real-time FX rates
- Live reserve expansionFive batches of reserve adapters (USDT, OUSD, Circle, GHO, Sky, Mento, crvUSD), live collateral scoring in report cards, and drift alerting
- Deeper digest intelligenceWeekly recap format, yield anomaly signals, DEX liquidity shifts, PSI trajectories, and Telegram pending queue for reliable delivery
- Broader stablecoin coveragedUSD, CETES, Parallel USDp, thBILL added to tracking; CNHT, EURA, USDA moved to cemetery
- Codebase hardeningTwo major audit remediation campaigns (38 tasks), Zod validation at system boundaries, timing-safe auth, and shared contract consolidation
- Liquidity Score v4Log-scale volume, reworked durability formula, DexScreener and CG ticker fallback crawlers for broader pool coverage
- Start Here onboardingNew onboarding page, compare flow signals, stablecoin coverage matrix, and Telegram global alert subscriptions
626 commits
- a7f0d33 fix(pricing): add pool challenge to downgrade soft-only consensus when highest-TVL pool diverges
- 63572f2 Update chain health docs and copy
- 2fdf2da chore: move pricing consensus honesty plan to historical
- b79d38f fix(test): update coverage test for headlineFilter behavior
- 1a9d71b Merge branch 'feat/pricing-consensus-honesty'
- 36c38b2 docs(pricing): update documentation for consensus honesty changes
- 89f7609 feat(pricing): make pricing confidence honest — drop illusory DL consensus, add independent sources
- eb4c014 feat(coverage): use ≥3 sources as main KPI for Price & Depeg row
- fed29fe feat(cemetery): add contract addresses and DYAD v1 entry
- 96511f7 docs(agents): add pricing consensus honesty design spec
- f08e74c feat(methodology): add Chain Health Score changelog page
- 39db95e docs(methodology): add Chain Health Score section
- 7c54a24 fix(chains): add DL name aliases for OP Mainnet, zkSync Era, XRPL, Plume, Bsquared, Kaia
- f6978ec fix(chains): add chain environment factor, fix detail pages, harmonize table
- 5bd86fc fix(nav): rename "Chains" menu entry to "Stable per Chain"
- 07584c9 docs(agents): add chain analytics design spec and implementation plan
- 13420d3 fix(chains): resolve DL chain names to CHAIN_META IDs and add SEO support
- 8639098 fix(chains): add chain pages to sitemap and server-rendered link index for SEO
- 2783c76 fix(chains): remove erroneous chains cache freshness threshold and fix lint/test
- aaf897d docs: add chain analytics documentation
… and 606 more
Dynamic social cards, motion design overhaul, DEWS radar redesign, and mint/burn flows rebuilt on Alchemy.
- Dynamic OG imagesWorker-generated social cards with Satori + resvg-wasm for stablecoin, safety, depeg, and PSI pages with one-click sharing
- Homepage motion designEntrance choreography, animated counters, grade badge pop, chart draw-in, contagion ripple, and intelligence briefing module
- DEWS radar redesignInverted radar with animated sweep line, interactive coin dots, hover tooltips, and Telegram alerts for band transitions
- Mint/burn flows overhaulAlchemy JSON-RPC migration, expanded to top-50 Ethereum coins, BRRRR deck hero, flow signals strip, and 30/90d net columns
- Ticker-issuer ID migrationFour-phase migration to canonical IDs across all stablecoins with portfolio migration, URL redirects, and DL remapping
- Worker hardeningCircuit breakers, AbortSignal cron timeouts, D1 retry logic, 160+ new tests, and degraded-mode pipeline handling
- Expanded coverageUSTB, OUSG, USCC, mTBILL, USD+, apxUSD, wsrUSD, ebUSD, USND, USDaf added to tracking with reserves and AI summaries
- Methodology versioningVersion tracking and changelogs surfaced for PSI, PegScore/DEWS, Liquidity Score, blacklist, and mint/burn flows
564 commits
- 525fbb5 fix(og): use local resvg WASM binary for proper CompiledWasm import
- 6263269 fix(worker): add nodejs_compat flag for satori process reference
- 16090b0 fix(og): use static import for OG handler, stub resvg-wasm in vitest
- 7009f94 feat: add logos for ebUSD/USND/USDaf and peg score NR explainer
- acf7a51 Refactor liquidity chain registry by provider
- 734eb64 fix(edge-cache): skip caching non-2xx responses
- 4d8a294 fix(og): remove path comment triggering worker boundary check
- 255834f Add USND, USDaf, and ebUSD metadata
- 63ed652 feat(about): add cmcs logo and workflow mention
- 3df1fe8 fix: resolve React 19 lint errors and worker test failures
- 1226721 feat(og): integrate ShareButton into stablecoin detail and feature pages
- 7782146 feat(og): point OG metadata to dynamic Worker-generated images
- 7643e6d feat(og): add OG image generation endpoint with Satori + resvg-wasm
- 5abd395 feat(og): add ShareButton component for copy-link and copy-as-image
- cbaec05 feat(motion): wire entrance choreography across homepage components
- 2b0d305 feat(og): add aggregate OG card templates (safety, depeg, PSI)
- 6358d0e feat(og): add stablecoin OG card template with state-adaptive treatment
- f919415 feat(briefing): integrate IntelligenceBriefing into homepage
- d335fda feat(briefing): add IntelligenceBriefing component
- 82ff4d0 fix(kpi): move animated display vars after useCountUp declarations
… and 544 more