Skip to main content
Pharos

Changelog: March 2026

Latest releases and all monthly archives
  1. Week #13

    366 commits

    Yield intelligence moves to protocol-native adapters as sixteen stablecoin additions take tracking to 185.

    • 10+ protocol-native adapters (Aave V3, Compound V3, Morpho, Pendle, Beefy, Yearn Kong), benchmark-aware scoring, coverage audits, and 365-day backfill charts

    • Broader stablecoin coveragecoverage

      ftUSD, CHFAU, USDKG, USDh, ctUSD, trUSD, Liquity v2 forks USDQ and USDK, and non-USD coins including BRLA, IDRX, MXNB, and CJPY added; five dead coins moved to the cemetery

    • Detail page depthfeature

      All 174 AI editorial summaries rewritten, a new Used as Collateral section, chain and DEX distribution donuts, and Liquity fork lineage badges

    • Design polishdesign

      RegimeBar PSI indicator, confidence typography, chart tooltip standardization, an interactive Safety Score calculator, and the stablecoin table promoted to the homepage hero

    • PayPal USD and USD1 freeze tracking (methodology v3.3), blacklistability in the hero and homepage table, gold-peg freeze chart support, and a quarterly freeze ledger

    • Redemption backstop confidence upgraded across lower-cap and medium-confidence tranches; live reserves added for reUSD and USDD, reaching 119 live-enabled coins

    • Status page upgradesinfra

      Telegram delivery summary, degraded-first cache freshness tables, tripped-first circuit breaker tables, and aligned admin and public health semantics

    • Codebase hardeningsecurity

      Audit remediation passes add Zod validation at boundaries, SQL interpolation and stablecoin-data CI checks, error boundaries on eight pages, and remove the webhook secret query fallback

    Show commits
    • e870dac0 test: add RPC failure logging coverage for evm-rpc [Q10]
    • d46ba00e chore: add sql-safety and stablecoin-data checks to CI workflow
    • d55a94dd feat: add --audit-allowlist flag to check:unused-code for periodic review [S4]
    • dd69f1a5 feat: add pre-build stablecoin data validation with per-entry Zod errors [S6]
    • ab8b72f7 feat: add CI check for SQL interpolation safety enforcement [S3]
    • 3d542846 refactor: add observability to silent catch blocks in cron pipelines [Q1]
    • 963cfc44 refactor: add RPC failure summary logging for debugging observability [Q10]
    • 6426ac26 refactor: add DEX_LIQUIDITY_TABLES allowlist for SQL interpolation safety [Q5]
    • bfae251f refactor: extract mergeCronMetadataWithLease to reduce runLeasedCron complexity [Q2]
    • 1d19f5af refactor: consolidate getPriceCache into single query with schema fallback [Q4]
    • 23f0c35d refactor: extract CHART_NO_ANIM constant to deduplicate animation pattern [R6]
    • 1236308a refactor: consolidate duplicate getStatusSeverity into shared/lib/public-health [R5]
    • 5876c391 fix: restore yield-detail-section local formatSignedPercent wrapper
    • f552d6ec chore: align TypeScript targets to ES2022 to match Node 22+ runtime [S8]
    • 71f9f891 chore: rename runTwentyMinuteDexDiscoverySlot to match 30-minute schedule [Q11]
    • 6d5b08d7 chore: fix import alias, simplify UUID generation, add SQL safety comment [R9, Q6, Q7]
    • d53b3117 chore: remove findChainData wrapper, use findCanonicalChainData directly [R4]
    • 4b4ee08a chore: remove cache-health re-export shim, import from @shared directly [R8]
    • 82181b55 chore: remove worker re-export shims for depeg-config and dews-config [R3]
    • be060829 chore: remove dead DESIGN-MAPPING-TABLE and unused formatDeathDateShort [R1/S1, R2]

    … and 346 more

  2. Week #12

    324 commits

    Four new DEX APIs feed pricing consensus, Safety Score hits v6.0, and live reserves double to 114 coins.

    • New /chains/ leaderboard and per-chain profile pages with health scores, supply snapshots, and cross-linked stablecoin detail

    • Multi-DEX API integrationfeature

      Fluid, Balancer, Raydium, and Orca direct API fetchers with per-protocol price disaggregation into pricing consensus

    • Kraken, Bitstamp, Jupiter, and Chainlink added to consensus; DefiLlama no longer counts as an independent source; tertiary FX fallback for multi-source outages

    • Custody tiers, mature-alt-L1 classification, 2-factor Resilience scoring, and custodyModel overrides for all remaining coins

    • Live reserve expansioncoverage

      Coverage expanded from 54 to 114 coins with curated-validated adapters, display blocks, and risk validation

    • Expanded from 66 to 136 coins with BUIDL, NAV-based, AMM, and on-chain backstop configs plus fee accuracy fixes

    • Pre-launch modulefeature

      New /upcoming page with milestone tracking, Telegram launch alerts, pre-launch detail views, a homepage timeline, and seven seeded pre-launch stablecoins

    • Stablecoin additionscoverage

      thBILL, Alto DUSD, USSD, and USBD added to tracking; dUSD gains a prominent exploit notice banner

    • Table and page polishdesign

      Table density toggle, column resize, context menus, command palette history, richer OG share images, and design-system utilities across ten routes

    Show commits
    • f5807c17 Refresh content and harden stablecoin sync
    • 16aeca66 Wrangler clarification
    • ebb5c679 Fix Circle live reserve parsing
    • 12f29c0c Keep active depegs in PSI via replay price fallback
    • f5249138 Remove unused pricing policy exports
    • 42dbd6da Harden pricing trust and provenance handling
    • ed57fb37 fix: keep safety methodology hotspot stable
    • 0ee34486 fix: remove unused reserve sync export
    • 4c57a53e feat: harden redemption backstop live metadata and provenance
    • 705a48bf docs: cover upcoming route surface
    • 93dd7109 fix: move At a Glance before Launch Timeline on pre-launch detail page
    • 0e9121d4 fix: include upcoming page in sitemap
    • 97436afb feat: harden live reserve sync storage and validation
    • 8f2b1314 fix: add rollout-safety header to migration 0072
    • 34505028 fix: renumber Telegram launch alerts migration to 0072
    • bcf493ba feat: enhance pre-launch module with milestones, /upcoming page, Telegram launch alerts, and curation skill
    • 86b293ba feat: harden live reserve scoring and validation
    • efb54736 Refactor pricing publication helpers
    • 22d6836a Remove unused pricing policy exports
    • 40118478 Harden pricing integrity and expand redemption backstops

    … and 304 more

  3. Week #11

    546 commits

    Multi-source price consensus and five batches of live reserve adapters land alongside two audit remediation campaigns.

    • 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, sdUSD, CETES, Parallel USDp 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

    • 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

    • Yield Intelligence and Mint/Burn Flows promoted from Experimental to Mature, with detail-page yield sections, PYS tooltips, and flash-loan roundtrip filtering

    Show commits
    • ac3d935a fix(auth): support both JWT and service token verification for ops-api
    • 12b24ae6 fix(auth): validate service token directly for Worker custom domain
    • f6693d63 refactor: rename weekly digest → weekly recap
    • d7eea41e refactor: extract enrichment passes from enrichMissingPrices
    • abb002b0 refactor: extract snapshot diff and pending queue from dispatch-telegram-alerts
    • fe1e8b72 refactor: decompose backfill-depegs.ts into FX, price sources, and orchestrator
    • d701cb62 refactor: options objects for long param lists, BigInt for Tron amounts, atomic DDL
    • 36ac0942 ci: add safety scripts to CI pipeline and migration uniqueness check
    • cef70639 feat: add Zod validation for external API responses
    • f8d4cc73 refactor: consolidate DEX types to shared schemas, migrate safety-score-version to factory
    • e539ed33 refactor: extract PYS formula to shared/lib/yield-scoring.ts
    • 1bd14505 test: add unit tests for supply helpers and peg utilities
    • 7ad38061 test: add unit tests for core scoring engine
    • 4f37bdc5 fix(security): require JWT verification for admin auth, remove header-presence fallback
    • 043350c2 chore: config and naming fixes
    • 7fba3592 refactor: consolidate duplicate imports and format functions
    • d84ae09d feat(digest): add weekly recap section to archive + fix daily API exclusion
    • 851bb7c4 chore: remove dead code and unexport unused symbols
    • 237b0bad fix(digest): apply quality review fixes (NaN guard, header trim, prompt consistency)
    • e9849c62 test(digest): add tests for new digest enrichment collectors

    … and 526 more

  4. Week #10

    468 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, 100+ new worker tests, and degraded-mode pipeline handling

    • Expanded coveragecoverage

      USTB, OUSG, USCC, mTBILL, XMMF, USD+, wsrUSD, ebUSD, USND, USDaf added to tracking with reserves and AI summaries

    • Version tracking and changelogs surfaced for PSI, PegScore/DEWS, Liquidity Score, blacklist, and mint/burn flows

    Show commits
    • 164757ad fix(dex): tighten pool crawl budget
    • e6e2334d fix(worker): leave headroom for dex cron runtime
    • 07d29189 fix(ci): explicitly deploy worker triggers
    • 68382d56 Clarify admin status probe and degraded cron details
    • 805034ea Add Telegram bot stats to admin status page
    • 5a38a98b fix(mobile): fix column selector showing all columns as enabled on mobile
    • 29254d38 fix(mobile): reduce table dead space, hide CSV export and peg filter on small screens
    • d28503a3 fix(backfill): anchor secondary FX window to CG inception date for DL-less coins
    • 92f2b28a fix: allow fractional commodity token prices
    • f6067e68 fix(og): use space-between instead of space-evenly (unsupported by satori)
    • 943002d0 fix(og): use space-evenly for balanced content distribution
    • 2835285e fix(og): fill OG card canvas — scale up metrics, spread content vertically
    • 64edc9cc fix(og): use net_flow_usd column from mint_burn_hourly schema
    • cbfa9d2b Agents docs cleanup
    • a18a32de Add stablecoin metadata and CNH FX support
    • f4087071 fix(og): use satori/standalone to avoid yoga WASM dynamic instantiation
    • 4e977baa fix(og): handle @cf-wasm/resvg double-init in persistent isolates
    • d9a94a60 refactor: remove Intelligence Briefing component from homepage
    • 78356293 Fix status self-check probing and blacklist RPC fallbacks
    • cee91445 fix(og): switch to @cf-wasm/resvg for Workers-compatible WASM init

    … and 448 more

  5. Week #9

    790 commits

    Safety Scores and the Pharos Stability Index launch, followed on Mar 1 by DEWS, yield rankings, and mint/burn flows.

    • Report Cards debut and become Safety Scores, moving from v2.0 to v5.5 with a four-factor resilience model, governance quality tiers, reserve-derived dependencies, and peg as a multiplier

    • New /stability-index page with a 15-minute PSI cron, 24h rolling average, contributor table, and history extended with UST and IRON shadow coins and annotated crisis events

    • Multi-source confirmation for depegs on coins above $1B, DEWS stress scoring with 7 sub-signals every 15 minutes, and a new /depeg tracker page

    • Yield and flows debutfeature

      /yield leaderboard with three-tier APY resolution and lending auto-discovery, plus /flows with mint/burn event tracking for 10 coins and a Bank Run Gauge

    • Reserves and coveragecoverage

      Curated reserves for 94 stablecoins on a 5-tier risk scale, 78 new contract deployments, broader DEX pool discovery, and syrupUSDC, syrupUSDT, yoUSD, GAIB AID, and apxUSD tracked

    • Navigation and toolsdesign

      Collapsible sidebar, Ctrl/Cmd+K command palette, KPI bar homepage, standalone dependency map and portfolio pages, five-coin compare with share images, and CSV/PNG export

    • Digest and Telegramfeature

      Daily digest split into tweet and extended commentary, upgraded to Sonnet, redesigned as a broadsheet with a wire archive, and posted to a Telegram channel

    • Platform hardeningsecurity

      Circuit breakers, dual-primary prices, tighter CSP and HSTS headers, ESLint and Vitest in CI, Zod response validation, in-app data feedback, and a 34-fix post-release audit

    Show commits
    • 74147aaf feat: add additional gho contracts
    • 8671b914 fix: GHO repo depreciated url
    • fd83a466 fix(peg-score): fair scoring for young coins with chronic depegs (v5.5)
    • c72db4c7 feat(mobile): replace dropdown with full-screen grouped navigation sheet
    • 507ceb19 chore: add shadcn Sheet component for mobile menu
    • e72a0824 fix: resolve 3 production console errors
    • fd6b14c6 feat(report-card): show amber annotation when peg stability is capped
    • 3b9dd62b chore: remove unused StabilityResult import in PSI test
    • d43a7b03 test(infra): add coverage config, fix type-checking, and clean up test infra
    • b2552caf test: add 59 unit tests for PSI formula (stability-index)
    • 57fc55a8 test: add 56 unit tests for peg scoring algorithms
    • 38a162f1 fix(frontend): 7 minor reliability and safety fixes
    • 7556aa2c fix(logos): register apxUSD logo in logos.json
    • e52532c8 fix(types): tighten Zod schemas, remove `any` types, and fix type safety gaps
    • 394b1ec9 feat(logos): add apxUSD logo
    • c0fc2dd3 fix(migrations): make 0031a_mint_burn_v2 idempotent with IF NOT EXISTS
    • ff0f1380 feat(stablecoins): add apxUSD (DL ID 354)
    • 4134c0e8 fix: replace Math.min/max spread with reduce to avoid V8 stack overflow
    • c184f2a6 fix(worker): add logging to silent catches, retry Claude API, warn on SAFE_HAVEN fallback
    • 8345f114 fix(worker): init all module state in fetch handler + validate API query params

    … and 770 more