Changelog
Weekly release notes. Follow @PharosWatch on Telegram for real-time alerts, or browse the full commit history on GitHub.
Latest680 commits
Pricing pipeline v5.0 lands, 40+ new risk-coverage entries across backstops/blacklist/reserves, and /funding launches.
- Pricing pipeline v5.0feature
Every fetcher returns FetcherOutcome for breaker discipline, Curve/Chainlink staleness guards tighten, upstream-observed timestamps propagate from Bitstamp/Coinbase/Curve, and no-candidate circuit recovery generalizes.
Cross-asset contagion amplifier (clamped [1.0, 1.2]) joins the DEWS blend, a backtest harness validates detection rate + lead time on curated anchors, and /api/stress-signals surfaces amplifier breakdown.
- Mint-burn flows v6.0feature
LayerZero/CCIP/CCTP bridges tag as bridge_transfer, atomic roundtrips require 0.5% tolerance, USDC and EURC get CCTP detection, and the Bank Run Gauge reweights by canonical-chain mcap rather than global supply.
- Redemption backstops v3.99coverage
Adds the flat/RWA issuer batch (USDon, USDsui, BRLV, USDGLO, AUDM, Alloy aUSDT) on top of the prior route expansion, capacity clamping to supply, fee-score breakpoints, and documented fail-closed fallbacks for falcon/frxusd.
- Blacklist tracker v3.91 → v3.95coverage
14+ new coins (FIDD, FRXUSD, XUSD, JPYC, USDA/USAT/AEUR, EURCV, NUSD, TUSD, USDP, USDQ, AID, TGBP). Tron ledger mirror, EURC mirror-zero suppression fix, and a new per-coin detail block with stats, chart, and event feed.
10+ new reserve adapters (lisusd-lista, ebusd, mim-abracadabra, usdh, usdat-saturn, buck, buidl-chainlink-nav); Liquidity v5.4 pool dedupe + direct-CEX orderbook depth; cron retuned (reserves 1h→4h, blacklist 1h→6h).
- Digest on Opus 4.7 + Telegram /statusfeature
Daily digest streams from Opus 4.7 with week-over-week deltas, Momentum Candidates, forward-look cue, and opening/tone guards. Telegram adds /status <ticker>, snooze inline keyboard, and worsening-delta depeg triggers.
- Detail-page UX remediationdesign
Detail hero consolidated with HeroSignalsRail (Safety/Peg/Liquidity/DEWS), full scrollspy nav coverage, shared Breadcrumb + expanded command palette, and home snapshot gets methodology tooltips + always-visible PSI deltas.
Show commits
- f1fe6aed docs: reconcile loop 3 audit findings
- a979e0ae docs: reconcile loop 2 audit findings
- f6a9f74f docs: reconcile loop 1 audit findings
- 6824fa3a docs: resolve final verification drift
- 2d277420 docs: deepen documentation source alignment
- 5ded1e10 docs: reconcile project documentation with code
- 42a2a8f1 fix(status): align freshness budgets with cron cadence
- 7eafc7d9 fix(reserves): include pendingUsdc in OpenEden component-total validation
- 059aedeb docs: audit and correct project documentation (#84)
- 2f64fe58 docs(ops): document WAF rate-limiting rule for api.pharos.watch (#83)
- 03c41ad8 docs: run second verification pass
- d8fd0bc3 chore(worker): bump compatibility_date to 2026-04-18 (#82)
- b6ec63b4 docs: keep methodology copy within hotspot budget
- 601d5384 /agents/ cleanup
- 9367d179 docs: update route contracts and agent map
- 680a1fbf docs: refresh methodology and data model docs
- 2614b046 docs: align api and operations references
- 90381e15 review-followup(detail-blacklist): render empty-chart hint, fix skeleton height, expand test coverage
- ec4db767 docs: document detail-page blacklist block and new summary fields
- 62be8b38 feat(detail): add per-coin blacklist activity block with stats, chart, and feed
… and 660 more
353 commits
Infrastructure axis launches, PSI hero gets arc gauge and event timeline, and Liquidity Score v5.0 brings size-aware scoring.
- Infrastructure axisfeature
New filter dimension lets users browse stablecoins by underlying protocol — Liquity v1/v2 and M0 tagged across 25 coins, replacing the deprecated protocol-lineage fields.
- Stability intelligencefeature
PSI page ships an arc gauge hero with annotated crisis events from COVID Crash to BTC ATH, plus hardened non-USD depeg replay for BRZ, TRYB, and commodity pegs.
- Safety Scores redesigndesign
Grade-grouped card grid, systemic risk headline, entrance animations, and v6.93 scoring with steeper peg multiplier and active-depeg grade cap.
- Live reserves surgecoverage
10+ new adapters — Frax balance-sheet, Block Analitica for DAI/USDS, MIM cauldrons, eUSD, feUSD, Honey — push live reserve tracking to 126 coins.
- Liquidity Score v5.0feature
Size-aware scoring formulas, best-path exit model with diversification premium, and Uniswap V2/V4 split replace the v4 blend.
- Broader coveragecoverage
Seven new stablecoins (USDat, wM, USDnr, USDK, XO Cash, evaUSDC, evaUSDT) bring the dashboard to 194 tracked coins; RAI retired to the cemetery.
- Navigation & pagesdesign
Collapsible sidebar groups, two-column API reference with scrollspy, redesigned /telegram page, and changelog timeline with category tags.
- Pipeline hardeninginfra
Telegram rate-limit handling and HTML fixes, 100+ audit remediation fixes across four merge streams, blacklist v3.7 enrichment, and mint-burn D1 query batching.
Show commits
- 61290ed fix: admit eva stablecoins to runtime cache
- 8653fa3 docs: bump tracked count to 194 after adding eva tokens
- fb5f066 add evaUSDC and evaUSDT to tracked stablecoins
- e4a47e3 fix dews freshness and price staleness
- bcbb0ee chore: refresh hotspot ratchet baseline
- 53bd099 docs(status): document cron error transient-vs-sustained escalation
- 5d4c4cb test(status/cron-health): cover consecutive-error streak counter
- ffefafd fix(status): treat single critical cron error as degraded, not stale
- 77d2580 fix(sync-stablecoins): retry DL response body parse failures before falling back
- 35423cc test(sync-stablecoins): failing test for DL parse retry path
- 2526d2c fix: report scrvUSD current yield
- a8a0522 chore: refresh hotspot ratchet waivers
- bfef7a2 fix: add m0 extension price inheritance
- df63d99 test(status): cover freshness fallbacks
- 4a9e57f refactor(status): trim evaluation hotspot
- 05fcb80 fix(status): harden freshness diagnostics
- 48d6806 chore(deps): bump the minor-and-patch group with 11 updates (#72)
- 59edd0a chore(deps-dev): bump @cloudflare/workers-types (#71)
- 19c6cfe chore: bump next to 16.2.3
- 6eac818 fix: harden supplemental solana stablecoin fallback
… and 333 more
389 commits
Yield intelligence rebuilt from the ground up, API auth goes live, and a 100+ fix security audit lands.
- Yield intelligence overhaulfeature
10+ protocol-native adapters (Aave V3, Compound V3, Morpho, Pendle, Beefy, Yearn Kong), benchmark-aware scoring, coverage audits, and 365-day backfill charts
- API key authenticationsecurity
Full auth gate on protected endpoints with key rotation, audit logging, dual-pepper hashing, and rate limiting
- Broader stablecoin coveragecoverage
CHFAU, trUSD, Base Dollar added; live reserves expanded for USDSC, satUSD, USDai, Anzen USDz, and Liquity v1 LUSD
- Codebase hardeningsecurity
Comprehensive three-pillar audit remediation across security, reliability, and maintainability with 100+ targeted fixes
- Richer risk surfacesfeature
Non-USD market share charts, blacklist status distribution, treasury stable exposure portfolio, and gold-peg support
- Pipeline reliabilityinfra
Hardened pricing consensus, reserve sync, redemption backstops, depeg recovery, and cron orchestration
- Status page upgradesinfra
Telegram delivery summary, degraded-first cache tables, circuit breaker visibility, and request-source attribution
- Changelog pagedesign
Weekly release notes page with editorial summaries and full commit history
Show 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
311 commits
Four new DEX APIs feed pricing consensus, Safety Score hits v6.0, and live reserves double to 114 coins.
- Multi-DEX API integrationfeature
Fluid, Balancer, Raydium, and Orca direct API fetchers with per-protocol price disaggregation into pricing consensus
- Pricing source expansionfeature
Kraken, Bitstamp, Jupiter, and Chainlink added to consensus; tertiary FX fallback for multi-source outages
- Redemption backstop coveragecoverage
Expanded from 66 to 136 coins with BUIDL, NAV-based, AMM, and on-chain backstop configs plus fee accuracy fixes
- Safety Score v6.0feature
Custody tiers, mature-alt-L1 classification, 2-factor Resilience scoring, and custodyModel overrides for all remaining coins
- Pre-launch modulefeature
New /upcoming page with milestone tracking, Telegram launch alerts, pre-launch detail views, and curation skill
- Live reserve expansioncoverage
Coverage expanded from 54 to 114 coins with curated-validated adapters, display blocks, and risk validation
- Design polishdesign
RegimeBar PSI indicator, confidence typography, chart tooltip standardization, table density toggle, and command palette history
- Stablecoin additionscoverage
DUSD, USSD, USBD added; all 174 AI editorial summaries rewritten; new collateral-as-dependency section on detail pages
Show 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
626 commits
Chain analytics and multi-source pricing launch alongside a major live-reserve and audit push.
- Chain analytics launchfeature
New /chains/ leaderboard and per-chain profile pages with health scores, supply snapshots, and cross-linked stablecoin detail
- Multi-source pricingfeature
N-source consensus module integrating Pyth, RedStone, Binance, Coinbase, Curve on-chain prices, and real-time FX rates
- Live reserve expansioncoverage
Five batches of reserve adapters (USDT, OUSD, Circle, GHO, Sky, Mento, crvUSD), live collateral scoring in report cards, and drift alerting
- Deeper digest intelligencefeature
Weekly recap format, yield anomaly signals, DEX liquidity shifts, PSI trajectories, and Telegram pending queue for reliable delivery
- Broader stablecoin coveragecoverage
dUSD, CETES, Parallel USDp, thBILL added to tracking; CNHT, EURA, USDA moved to cemetery
- Codebase hardeningsecurity
Two major audit remediation campaigns (38 tasks), Zod validation at system boundaries, timing-safe auth, and shared contract consolidation
- Liquidity Score v4feature
Log-scale volume, reworked durability formula, DexScreener and CG ticker fallback crawlers for broader pool coverage
- Start Here onboardingdesign
New onboarding page, compare flow signals, stablecoin coverage matrix, and Telegram global alert subscriptions
Show 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
564 commits
Dynamic social cards, motion design overhaul, DEWS radar redesign, and mint/burn flows rebuilt on Alchemy.
- Dynamic OG imagesfeature
Worker-generated social cards with Satori + resvg-wasm for stablecoin, safety, depeg, and PSI pages with one-click sharing
- Homepage motion designdesign
Entrance choreography, animated counters, grade badge pop, chart draw-in, contagion ripple, and intelligence briefing module
- DEWS radar redesigndesign
Inverted radar with animated sweep line, interactive coin dots, hover tooltips, and Telegram alerts for band transitions
- Mint/burn flows overhaulfeature
Alchemy JSON-RPC migration, expanded to top-50 Ethereum coins, BRRRR deck hero, flow signals strip, and 30/90d net columns
- Ticker-issuer ID migrationinfra
Four-phase migration to canonical IDs across all stablecoins with portfolio migration, URL redirects, and DL remapping
- Worker hardeninginfra
Circuit breakers, AbortSignal cron timeouts, D1 retry logic, 160+ new tests, and degraded-mode pipeline handling
- Expanded coveragecoverage
USTB, OUSG, USCC, mTBILL, USD+, apxUSD, wsrUSD, ebUSD, USND, USDaf added to tracking with reserves and AI summaries
- Methodology versioningfeature
Version tracking and changelogs surfaced for PSI, PegScore/DEWS, Liquidity Score, blacklist, and mint/burn flows
Show 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