Skip to main content
The Yield page reranks DeFi stablecoin pools by risk-adjusted APY — raw yield discounted by the issuer’s risk rating. A high-yield pool backed by a shaky stablecoin may rank lower than a modest-yield pool backed by USDC.

Formula

Risk-Adjusted APY = Effective APY × (Safety Score / 100) Effective APY is normally the raw APY, but when a pool is flagged as an APY spike (see below), the 30-day mean APY is used instead. Examples:
  • 4% APY from an A+ issuer (safety score 96) → 3.84% risk-adjusted
  • 15% APY from a C+ issuer (safety score 35) → 5.25% risk-adjusted
  • 25% APY from an F issuer (safety score 2) → 0.5% risk-adjusted

⚠ APY Spike Detection

When a pool’s current APY is 3× or more above its 30-day mean APY, it is flagged as a stress spike. These spikes almost always indicate a crisis event — exploit, oracle failure, or liquidation cascade — not a genuine yield opportunity.
Real example — Resolv/Morpho USDC (March 2026):\After the Resolv USR minting exploit, the RESOLVUSDC Morpho vault on Ethereum showed 38% APY while its 30-day mean was ~8% (spike ratio 4.77×). The elevated rate reflected liquidation stress and oracle risk — not a safe high-yield deposit opportunity. Gauntlet (vault risk curator) emergency-deallocated from all Resolv markets. Risk-Adj APY for this pool correctly used the 8% mean: 7.57% rather than the misleading 36.14%.
Spiked rows are marked with a icon on the Raw APY and an asterisk (*) on the Risk-Adj APY. Hover either for the spike ratio.

Pool Matching

Pools are drawn from Webacy’s stablecoin pool dataset (stablecoin=true, TVL ≥ $1M, APY ≥ 0.1%, APY < 200%). Each pool is then matched to a Risk Rating entry in two steps:
  1. Address match — each pool’s underlyingTokens addresses matched against our chain+address grade index.
  2. Symbol fallback — if no address match, the pool symbol is split on ”-” and each part matched against the grade symbol index (e.g., “USDC-USDT” tries “USDC” then “USDT”).
Pools with no match are included at the bottom of the table with no grade or risk-adjusted APY displayed.

Filters Applied

Column Definitions

Update Cadence

  • Pool data — fetched fresh each run.
  • Risk ratings — recalculated daily at 04:15 UTC; yield scores depend on them.
  • Yield scores output — recalculated daily at 04:30 UTC.