Yearn — yvUSDC-1
Score Breakdown
| Category | Weight | Score |
|---|---|---|
| Audits & Historical | 20% | 1.50 |
| Centralization & Control | 30% | 1.50 |
| Funds Management | 30% | 1.00 |
| Liquidity Risk | 15% | 1.50 |
| Operational Risk | 5% | 1.00 |
| Final Score | 1.3 / 5.0 | |
Overview
yvUSDC-1 is a USDC-denominated Yearn V3 vault (ERC-4626) that deploys deposited USDC into yield strategies on Ethereum mainnet. The vault holds ~$29.84M USDC and is 100% deployed at the snapshot (totalIdle ≈ 0, totalDebt = totalAssets). The default queue holds three strategies with two funded: USDC to sUSDS Lender (~97.2%) and Spark USDC Lender (~2.9%). The USDC to USDS Depositor remains queued at 0 debt.
The three Morpho USDC compounders that were active at the prior April 3 assessment (Gauntlet, Steakhouse, OEV-boosted) remain revoked at the May 11 snapshot (activation = 0). The Morpho Yearn USDC Compounder that was added on 2026-04-30 and queued at 0 debt at the May 5 snapshot has also been revoked between snapshots (activation = 0 at block 25073237). Funded debt continues to sit in a single Sky-governed venue (sUSDS via the sUSDS Lender) plus a small Spark Lend slice — both Sky / Sky sub-DAO infrastructure. The vault remains ~100% Sky-governance-coupled at this snapshot.
Key architecture:
- Vault: Standard Yearn V3 vault (v3.0.2) accepting USDC deposits, issuing yvUSDC-1 shares. Deployed as an immutable Vyper minimal proxy (EIP-1167) via the Yearn V3 Vault Factory
- Strategy pipelines: sUSDS Lender path: USDC → DAI (via MakerDAO PSM Lite at 1:1, 0 fee) → USDS (via DAI-USDS Exchanger at 1:1) → sUSDS (Sky Savings vault). Spark USDC Lender: direct USDC supply to Spark Lend's USDC market (Spark is a Sky sub-DAO). USDC to USDS Depositor (queued, 0 debt today): would deposit USDC-converted USDS into yvUSDS-1
- Governance: Managed via the standard Yearn V3 Role Manager contract, governed by the Yearn 6-of-9 global multisig (ySafe) with 7-day TimelockController for strategy additions
- Default queue: 3 strategies (sUSDS Lender funded, Spark Lender funded, USDS Depositor queued at 0 debt). Legacy Morpho Gauntlet / Steakhouse / OEV strategies and three other lenders (Fluid, Aave V3, Aave V3 Lido) revoked at prior cleanups. The Morpho Yearn USDC Compounder added on 2026-04-30 has been revoked between May 5 and May 11
Key metrics (May 11, 2026, snapshot at block 25073237):
- TVL: 29,839,559.89 USDC (100% deployed)
- Total Supply: 26,990,466.72 yvUSDC-1
- Price Per Share: 1.105559 USDC/yvUSDC-1 (~10.6% cumulative appreciation since deployment)
- Total Debt: 29,839,559.89 USDC (100% of TVL)
- Total Idle: ~0 USDC (0.000001 dust)
- Debt distribution:
- USDC to sUSDS Lender: 28,988,516.09 USDC (97.15%)
- Spark USDC Lender: 851,043.79 USDC (2.85%)
- USDC to USDS Depositor: 0 (queued, unfunded)
- Deposit Limit: 50,000,000 USDC
- Profit Max Unlock Time: 10 days
- Fees: 0% management fee, 10% performance fee
Sky-governance concentration note: Both funded strategies (sUSDS Lender ~97% and Spark USDC Lender ~3%) sit under Sky / Sky sub-DAO governance. Effective Sky-governance exposure is ~100% of debt at this snapshot. This is a meaningful concentration risk and is captured in the dependency subscore below.
Links:
Risk Summary
Key Strengths
- Battle-tested Yearn V3 infrastructure: V3 framework audited by Statemind, ChainSecurity, and yAcademy. No V3 exploits in ~24 months of production. Immutable vault contracts eliminate proxy upgrade risk
- Blue-chip Sky exposure: ~97% of debt is supplied to sUSDS (Sky Savings Rate, multi-billion-dollar TVL, 7+ auditors, $10M Immunefi bounty), with the residual ~3% in Spark Lend (Sky sub-DAO). Sky itself is one of the highest-quality DeFi protocols
- Standard Yearn governance: Uses the Yearn V3 Role Manager with the 6-of-9 ySafe multisig (named, prominent DeFi signers). No EOA role concentration. Strategy additions go through 7-day timelock (self-governed — config changes must also go through 7-day delay)
- Simple, low-complexity pipelines: sUSDS: USDC → DAI → USDS → sUSDS via 1:1 conversions. Spark: direct USDC supply. No leverage, no cross-chain bridging, no looper mechanics
- Established track record: ~14 months in production with ~$29.84M TVL, ~10.6% cumulative return, zero incidents
- Active monitoring: yvUSDC-1 is in Yearn's hourly monitoring system with Telegram alerts for large flows
Key Risks
- Single-ecosystem concentration: ~100% Sky-governance-coupled at the May 11 snapshot (97% sUSDS Lender + 3% Spark Lender, both Sky / Sky sub-DAO). The Morpho Yearn USDC Compounder that was queued at the May 5 snapshot as a non-Sky re-diversification option has been revoked. A Sky governance / sUSDS / Spark Lend incident would affect ~all of yvUSDC-1's debt
- Sky Savings Rate variability: SSR has been reduced from 15% → 6.5% → 4.5% → 4.0% over the past year. Further reductions would decrease vault yield from the sUSDS strategy but do not affect principal
- PSM fee risk: Currently 0%, but Sky Governance can set fees. If fees exceed 0.05%, the strategy falls back to Uniswap V3 with 0.5% slippage tolerance, which could cause minor losses on large withdrawals
Critical Risks
- None identified. The vault uses blue-chip Sky infrastructure throughout, with strong governance and no leverage. The dominant risk (single-ecosystem Sky concentration) is non-critical — Sky is top-tier — but is a real concentration step-up versus the prior assessment.
Full Report
Contract Addresses
Core yvUSDC-1 Contracts
| Contract | Address | Type |
|---|---|---|
| yvUSDC-1 Vault | 0xBe53A109B494E5c9f97b9Cd39Fe969BE68BF6204 |
Yearn V3 Vault (v3.0.2), Vyper minimal proxy |
| Accountant | 0x5A74Cb32D36f2f517DB6f7b0A0591e09b22cDE69 |
Yearn Accountant (0% mgmt, 10% perf) |
| Fee Recipient (Dumper) | 0x590Dd9399bB53f1085097399C3265C7137c1C4Cf |
Claims fees and routes to auctions/splitters |
Governance Contracts
| Contract | Address | Configuration |
|---|---|---|
| Yearn V3 Role Manager | 0xb3bd6B2E61753C311EFbCF0111f75D29706D9a41 |
Standard Yearn Role Manager, manages 37 vaults |
| Daddy / ySafe (Governance) | 0xFEB4acf3df3cDEA7399794D0869ef76A6EfAff52 |
6-of-9 Gnosis Safe — ALL 14 vault roles |
| Brain (Operations) | 0x16388463d60FFE0661Cf7F1f31a7D658aC790ff7 |
3-of-8 Gnosis Safe — QUEUE, REPORTING, DEBT, DEPOSIT_LIMIT, EMERGENCY |
| Security | 0xe5e2Baf96198c56380dDD5E992D7d1ADa0e989c0 |
4-of-7 Gnosis Safe — manages via Role Manager |
| Strategy Manager (Timelock) | 0x88Ba032be87d5EF1fbE87336b7090767F367BF73 |
TimelockController — 7-day delay for strategy additions. Self-governed: timelock holds TIMELOCK_ADMIN_ROLE, so config changes must go through 7-day delay |
| Keeper | 0x604e586F17cE106B64185A7a0d2c1Da5bAce711E |
yHaaSRelayer — REPORTING only |
| Debt Allocator | 0x1e9eB053228B1156831759401dE0E115356b8671 |
Minimal proxy — REPORTING + DEBT_MANAGER |
Yearn V3 Infrastructure
| Contract | Address |
|---|---|
| Vault Factory (v3.0.2) | 0x444045c5c13c246e117ed36437303cac8e250ab0 |
| Tokenized Strategy | 0xD377919FA87120584B21279a491F82D5265A139c |
Active Strategies (3 in default queue, 2 with debt)
| # | Strategy | Name | Current Debt (USDC) | Allocation |
|---|---|---|---|---|
| 1 | 0x39c0aEc5738ED939876245224aFc7E09C8480a52 |
USDC to USDS Depositor | 0 | 0% |
| 2 | 0x25f893276544d86a82b1ce407182836F45cb6673 |
Spark USDC Lender | 851,043.79 | 2.85% |
| 3 | 0x7130570BCEfCedBe9d15B5b11A33006156460f8f |
USDC to sUSDS Lender | 28,988,516.09 | 97.15% |
Previously queued, now revoked (activation = 0 at block 25073237):
- Morpho Gauntlet USDC Prime Compounder (
0x694E47AFD14A64661a04eee674FB331bCDEF3737) - Morpho Steakhouse USDC Compounder (
0x074134A2784F4F66b6ceD6f68849382990Ff3215) - Morpho OEV-boosted USDC Compounder (
0x888239Ffa9a0613F9142C808aA9F7d1948a14f75) - Morpho Yearn USDC Compounder (
0xf1784A1bF0cBDE0F868838Dd093E65215343c4C0) - USDC Fluid Lender (
0x00C8a649C9837523ebb406Ceb17a6378Ab5C74cF) - Aave V3 Lido USDC Lender (
0x522478B54046aB7197880F2626b74a96d45B9B02) - Aave V3 USDC Lender (
0x694cdD19EBee7A974BA8fE3AF8B383bb256F2858)
Note: The Morpho Yearn USDC Compounder added on 2026-04-30 — which had been queued at 0 debt at the May 5 snapshot as a potential non-Sky re-diversification leg — has been revoked between May 5 and May 11. The queue is now down to 3 strategies (from 4), all Sky / Sky sub-DAO. Funded debt remains consolidated into a single Sky-governed venue (sUSDS Lender ~97%) plus a small Spark Lend slice (~3%). Active portfolio management continues; the vault has used Aave V3, Compound V3, Morpho, Spark, Fluid, and Sky strategies over its ~14-month lifetime.
Score impact of recent rebalancing: The vault remains ~100% Sky-governance-coupled (97% sUSDS Lender + 3% Spark Lender, both Sky / Sky sub-DAO). With the Morpho Yearn USDC Compounder now revoked, the optional non-Sky re-diversification leg that existed at May 5 has been removed. This is reflected in the Centralization → Dependencies subscore below.
Strategy Protocol Dependencies (current allocation)
| Protocol | Strategy | Allocation | Notes |
|---|---|---|---|
| Sky / sUSDS | USDC to sUSDS Lender | 97.15% | Sky Savings Rate via sUSDS — Sky-governed |
| Spark Lend (Sky sub-DAO) | Spark USDC Lender | 2.85% | Sky sub-DAO; Spark admin keys live under Sky governance |
| Sky (yvUSDS via Depositor) | USDC to USDS Depositor | 0% (queued) | Previously the dominant strategy; currently unfunded |
Audits and Due Diligence Disclosures
Yearn V3 Core Audits
The underlying vault infrastructure has been audited by 3 reputable firms:
| Auditor | Date | Scope | Report |
|---|---|---|---|
| Statemind | May 2, 2024 | V3 Vaults (v3.0.0) | |
| ChainSecurity | May 4, 2024 | V3 Vaults + Tokenized Strategy (v3.0.0) | 2 PDFs |
| yAcademy | Jun 2024 | V3 Vaults (v3.0.1) |
Sky/MakerDAO Audits (Underlying Protocol)
Sky (formerly MakerDAO) is one of the most extensively audited DeFi protocols:
| Auditor | Coverage | Notes |
|---|---|---|
| ChainSecurity | 9 audits covering USDS, sUSDS, Endgame Toolkit, LockStake, VoteDelegate | Core security partner |
| Cantina | 10 audit reports including sUSDS (Sep 2024) and USDS (Jul 2024) | Comprehensive coverage |
| Sherlock | Public audit contest (Aug 2024) | Community audit |
| Trail of Bits | Core DAI system (legacy MCD) | Historical audit |
| PeckShield | Core DAI system (legacy MCD) | Historical audit |
| Quantstamp | Liquidations 2.0 | Historical audit |
| ABDK | Vote Delegate security | Governance audit |
LitePSM (used for USDC → DAI conversion): Audited by both ChainSecurity and Cantina.
Strategy Review Process
All strategies go through Yearn's formal 12-metric risk scoring framework (RISK_FRAMEWORK.md), covering:
- Strategy scores: Review level (ySec security review), testing coverage (95%+ for score 1), complexity (sLOC), risk exposure, centralization risk, protocol integration count
- External protocol scores: Audit count, centralization, TVL, longevity, protocol type
Bug Bounty
- Yearn (Immunefi): Active bug bounty. Max payout: $200,000 (Critical). Scope includes V3 vaults. 40 smart contracts in scope. Median resolution: 18 hours
- Yearn (Sherlock): Also listed: https://audits.sherlock.xyz/bug-bounties/30
- Sky/MakerDAO (Immunefi): Active bug bounty. Max payout: $10,000,000 (Critical). Scope includes DAI, USDS, sUSDS, PSM, and all core contracts
- Safe Harbor: Yearn is not listed on the SEAL Safe Harbor registry
On-Chain Complexity
The yvUSDC-1 system is low complexity:
- 2 funded strategies on a single chain (Ethereum), both Sky-governed: sUSDS Lender (~97%) and Spark USDC Lender (~3%)
- Simple pipelines: sUSDS Lender: USDC → DAI → USDS → sUSDS (three 1:1 conversions + deposit). Spark USDC Lender: direct USDC supply to Spark Lend's USDC market
- No leverage, no looping, no cross-chain bridging
- Standard ERC-4626 deposit/withdrawal
- Blue-chip dependencies (Sky / Sky sub-DAO at ~100% of funded debt)
- Vault is immutable (non-upgradeable Vyper minimal proxy)
Historical Track Record
- Vault deployed: March 12, 2024 (block 19,419,991) — ~14 months in production
- TVL: 29,839,559.89 USDC (~$29.84M) — well within the $50M deposit limit
- PPS trend: 1.000000 → 1.105559 (~10.6% cumulative return, ~8.8% annualized)
- Security incidents: None known for this vault or Yearn V3 generally
- Strategy changes: active portfolio management. The vault has used Aave V3, Compound V3, Morpho, Spark, Fluid, and Sky strategies over its lifetime. Between the April 3 and May 5 snapshots: three Morpho compounders (Gauntlet, Steakhouse, OEV-boosted) revoked; Morpho Yearn USDC Compounder added 2026-04-30 (queued at 0 debt); funded debt consolidated into the sUSDS Lender + Spark. Between May 5 and May 11: the Morpho Yearn USDC Compounder was revoked (queue trimmed from 4 → 3)
- Current allocation: ~97% USDC to sUSDS Lender (Sky-governed) and ~3% Spark USDC Lender (Sky sub-DAO) — effectively single-ecosystem (Sky) at the snapshot
- Yearn V3 track record: V3 framework has been live since May 2024 (~24 months). No V3 vault exploits
Yearn protocol TVL: ~$197.5M total across all chains (DeFiLlama, April 2026).
Sky/sUSDS track record:
- sUSDS launched as part of Sky Endgame (2024)
- TVL: ~$5.38B+ in sUSDS (within ~$10B+ total USDS ecosystem)
- No security incidents since launch
- Sky Savings Rate (SSR): currently ~4.0% APY, set by Sky Governance
- Revenue sourced from over-collateralized loans and tokenized Treasury bill (RWA) investments
Funds Management
yvUSDC-1 deploys deposited USDC into yield strategies with 100% capital utilization. At the May 11 snapshot debt is concentrated in two Sky-governed strategies: USDC to sUSDS Lender (~97%) and Spark USDC Lender (~3%). One further strategy sits in the queue at 0 debt: USDC to USDS Depositor.
Strategy 1: USDC to USDS Depositor (0% — queued, unfunded)
Contract: 0x39c0aEc5738ED939876245224aFc7E09C8480a52
Conversion pipeline:
- USDC → DAI via MakerDAO PSM Lite (
0xf6e72Db5454dd049d0788e411b06CfAF16853042) — 1:1 at 0% fee (bothtinandtoutset to 0) - DAI → USDS via Sky DAI-USDS Exchanger (
0x3225737a9Bbb6473CB4a45b7244ACa2BeFdB276A) — 1:1, no fee - USDS → yvUSDS via a Yearn V3 ERC-4626 vault — earns yield from the underlying yvUSDS vault strategies
Withdrawal pipeline: Reverse path (yvUSDS → USDS → DAI → USDC). If PSM tout fee exceeds 0.05%, the strategy falls back to Uniswap V3 swap with 0.5% slippage tolerance.
Strategy parameters:
- Deposit limit: 100,000,000 USDC
- Max acceptable PSM fee: 0.05% (falls back to Uniswap V3 if exceeded)
- Management: Brain multisig (3-of-8)
- Keeper: yHaaSRelayer (
0x604e586F17cE106B64185A7a0d2c1Da5bAce711E)
Strategy 2: USDC to sUSDS Lender (~97.2% allocation)
Contract: 0x7130570BCEfCedBe9d15B5b11A33006156460f8f
Conversion pipeline:
- USDC → DAI via MakerDAO PSM Lite — 1:1 at 0% fee
- DAI → USDS via Sky DAI-USDS Exchanger — 1:1, no fee
- USDS → sUSDS via Sky Savings vault (
0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD) — earns the SSR (~4.0% APY)
Withdrawal pipeline: Reverse path (sUSDS → USDS → DAI → USDC). Same PSM fee fallback to Uniswap V3.
Strategy parameters: Same as USDS Depositor (100M deposit limit, 0.05% max PSM fee, Brain multisig management)
Strategy 3: Spark USDC Lender (~2.9% allocation)
Contract: 0x25f893276544d86a82b1ce407182836F45cb6673
Pipeline: Direct USDC supply to Spark Lend's USDC market. Spark Lend is a Sky sub-DAO governed by Sky / Spark governance — the underlying liquidity is Sky-administered.
Strategy parameters: Brain multisig management, keeper-driven reporting, ERC-4626 throughout.
Revoked strategies (historical context)
Three Morpho compounders that were active at the prior April 3 assessment have been revoked between snapshots: Morpho Gauntlet USDC Prime Compounder, Morpho Steakhouse USDC Compounder, and Morpho OEV-boosted USDC Compounder. The Morpho Yearn USDC Compounder (0xf1784A1bF0cBDE0F868838Dd093E65215343c4C0) — added on 2026-04-30 and queued at 0 debt at the May 5 snapshot as a potential non-Sky re-diversification leg — has also been revoked between May 5 and May 11 (activation = 0 at block 25073237). All four show activation = 0 at block 25073237. The cleanup also removed USDC Fluid Lender, Aave V3 Lido USDC Lender, and Aave V3 USDC Lender from the queue (also activation = 0). Per the broader cleanup pattern observed across the Yearn V3 risk-1 vaults in late April / early May, the team has been pruning the queue and consolidating debt. Independent attribution of the rationale has not been verified.
Accessibility
- Deposits: Permissionless — anyone can deposit USDC and receive yvUSDC-1 (ERC-4626 standard). Subject to $50M deposit limit
- Withdrawals: ERC-4626 standard. Users redeem yvUSDC-1 for USDC. For the sUSDS Lender: unwinds sUSDS → USDS → DAI → USDC pipeline. For Spark Lender: direct withdrawal from Spark Lend's USDC market. Both paths are highly liquid
- No cooldown or lock period — unlike yvUSD's LockedyvUSD wrapper
- Fees: 0% management fee, 10% performance fee (taken via accountant during
process_report)
Collateralization
- 100% onchain USDC backing — all deposits are USDC, deployed into Sky-governed lending venues (sUSDS Lender ~97% and Spark USDC Lender ~3%)
- Collateral quality: sUSDS is backed by over-collateralized loans and RWA (Treasury bills) via MakerDAO. Spark USDC Lender supplies into Spark Lend's USDC market (Sky sub-DAO infrastructure)
- No leverage — unlike yvUSD's looper strategies, these are simple deposits into savings rate and lending products
- All positions are fully redeemable — sUSDS and Spark vaults support standard ERC-4626 / aToken withdrawal. USDS converts 1:1 to DAI via the Exchanger
Provability
- yvUSDC-1 exchange rate: Calculated onchain via ERC-4626 standard (
convertToAssets()/convertToShares()). Fully programmatic, no admin input - Strategy positions: Each strategy's
totalAssets()reads the underlying vault share balance (yvUSDS or sUSDS) and converts to USDC equivalent onchain - sUSDS rate: The Sky Savings Rate is set by Sky Governance and applied onchain via the
pot/ssrmechanism. The sUSDS exchange rate increases continuously based on the SSR - Profit/loss reporting: Profits are reported by keepers via
process_report()and locked for gradual distribution over 10 days (profitMaxUnlockTime). Losses are immediately reflected in PPS
Liquidity Risk
- Primary exit: Redeem yvUSDC-1 for USDC via ERC-4626
withdraw()/redeem(). Triggers reverse pipeline through sUSDS → USDS → DAI → USDC (~97% of debt) or direct Spark Lend withdrawal (~3%) - Highly liquid underlying: sUSDS holds multi-billion-dollar USDS reserves; Spark Lend's USDC market also has deep lending liquidity. The vault's ~$29.84M is a small fraction of underlying pool capacity
- PSM liquidity: The MakerDAO PSM Lite provides deep DAI ↔ USDC liquidity at 0% fee. PSM capacity is managed by Sky Governance and typically holds billions of USDC
- No DEX liquidity needed in the base case — exit is via the protocol's own pipeline (PSM + Exchanger), not DEX AMMs. Uniswap V3 fallback applies only if PSM fees rise above 0.05%
- Same-value asset: USDC-denominated vault token — no price divergence risk from the underlying
- No withdrawal queue or cooldown — atomic redemption through the pipeline
- Deposit limit: $50M cap — generous relative to current TVL of $29.84M
Centralization & Control Risks
Governance
The yvUSDC-1 vault uses the standard Yearn V3 governance pattern via the Yearn V3 Role Manager contract.
Governance hierarchy:
| Position | Address | Threshold | Roles on Vault |
|---|---|---|---|
| Daddy (ySafe) | 0xFEB4acf3df3cDEA7399794D0869ef76A6EfAff52 |
6-of-9 | All 14 roles (full admin) |
| Brain | 0x16388463d60FFE0661Cf7F1f31a7D658aC790ff7 |
3-of-8 | QUEUE, REPORTING, DEBT, DEPOSIT_LIMIT, EMERGENCY |
| Security | 0xe5e2Baf96198c56380dDD5E992D7d1ADa0e989c0 |
4-of-7 | Manages via Role Manager |
| Strategy Manager (Timelock) | 0x88Ba032be87d5EF1fbE87336b7090767F367BF73 |
7-day delay | Strategy additions via Role Manager |
| Keeper | 0x604e586F17cE106B64185A7a0d2c1Da5bAce711E |
Bot | REPORTING only |
| Debt Allocator | 0x1e9eB053228B1156831759401dE0E115356b8671 |
Bot | REPORTING + DEBT_MANAGER |
ySafe 6-of-9 multisig signers include publicly known contributors: Mariano Conti (ex-MakerDAO), Leo Cheng (C.R.E.A.M.), 0xngmi (DeFiLlama), Michael Egorov (Curve), and others (source).
Governance assessment:
- No EOA role concentration — all sensitive roles are held by multisigs
- Strategy additions go through a 7-day timelock via the TimelockController (delay increased from initial 24h to 7 days on Feb 22, 2025)
- Standard Yearn governance — same setup used across 37 vaults, battle-tested pattern
- Immutable vault — no proxy upgrades possible
Programmability
- Exchange rate (PPS): Calculated onchain algorithmically via ERC-4626. Fully programmatic, no admin input
- Vault operations: Deposit/withdraw are permissionless onchain transactions
- Strategy profit/loss: Reported programmatically by keepers via
process_report(). Profits unlock linearly over 10 days - Debt allocation: Managed by both the Debt Allocator (automated) and Brain multisig (manual). Currently split across four strategies
- V3 vaults are immutable — no proxy upgrades, no admin-changeable implementation
External Dependencies
| Dependency | Criticality | Notes |
|---|---|---|
| Sky / sUSDS | Critical | ~97% of current allocation via the sUSDS Lender. Multi-billion-dollar sUSDS TVL. Blue-chip, extensively audited, $10M bug bounty |
| Spark Lend (Sky sub-DAO) | High | ~3% of current allocation via Spark USDC Lender. Spark is a Sky sub-DAO; admin keys live under Sky governance |
| MakerDAO PSM Lite | High | USDC ↔ DAI conversion at 1:1 for the sUSDS Lender path. 0% fee. Deep liquidity. Audited by ChainSecurity and Cantina |
| Sky DAI-USDS Exchanger | High | DAI ↔ USDS 1:1 conversion for the sUSDS Lender path. Core Sky infrastructure |
| Uniswap V3 (fallback) | Low | Only used if PSM fee exceeds 0.05%. Currently not active (PSM fee is 0%) |
Dependency quality: All funded dependencies sit under Sky / Sky sub-DAO governance — effective Sky-governance exposure is ~100% of debt at this snapshot. Sky itself is top-tier (8+ years of history, $10M bug bounty, multi-billion-dollar sUSDS TVL), but the single-ecosystem concentration is materially worse than the prior 41% Sky / 59% Morpho split. The Morpho Yearn USDC Compounder that was queued at the May 5 snapshot has been revoked, eliminating that on-chain re-diversification optionality until a new Morpho strategy is reproposed via the 7-day timelock. This concentration is reflected in the dependency subscore.
Operational Risk
- Team: Yearn Finance — established since 2020, publicly known contributors. The ySafe 6-of-9 multisig has 9 named signers including prominent DeFi figures
- Governance: Standard Yearn V3 Role Manager — the same governance used across 37 vaults, with clear role separation (Daddy, Brain, Security, Keeper, Debt Allocator)
- Documentation: Comprehensive Yearn V3 documentation. Strategy code is verified on Etherscan
- Legal: Yearn Finance has converted its ychad.eth multisig into a BORG (cybernetic organization) via YIP-87, wrapping it in a Cayman Islands foundation company with smart contract governance restrictions
- Incident response: Yearn has demonstrated incident response capability across 4 historical events (all V1/legacy). V3 framework has not been tested under stress. The $200K Immunefi bug bounty provides a responsible disclosure channel
- V3 immutability: Vault contracts cannot be upgraded — this eliminates proxy upgrade risk
Monitoring
Existing Monitoring Infrastructure
Yearn maintains an active monitoring system via the monitoring-scripts-py repository. yvUSDC-1 is actively monitored:
- Large flow alerts (
yearn/alert_large_flows.py): Runs hourly via GitHub Actions. yvUSDC-1 is in the monitored vault list. Alerts on deposits/withdrawals exceeding threshold via Telegram - Endorsed vault check (
yearn/check_endorsed.py): Runs weekly, verifies all Yearn V3 vaults are endorsed onchain via the registry contract - Timelock monitoring (
timelock/timelock_alerts.py): Monitors the Yearn TimelockController (Strategy Manager) across 6 chains
Key Contracts
| Contract | Address | Monitor |
|---|---|---|
| yvUSDC-1 Vault | 0xBe53A109B494E5c9f97b9Cd39Fe969BE68BF6204 |
PPS (convertToAssets(1e6)), totalAssets(), totalDebt(), totalIdle(), Deposit/Withdraw events |
| USDC to sUSDS Lender | 0x7130570BCEfCedBe9d15B5b11A33006156460f8f |
totalAssets(), current_debt, isShutdown(), keeper report frequency |
| Spark USDC Lender | 0x25f893276544d86a82b1ce407182836F45cb6673 |
totalAssets(), current_debt, isShutdown(), keeper report frequency |
| ySafe (Daddy) | 0xFEB4acf3df3cDEA7399794D0869ef76A6EfAff52 |
Signer/threshold changes, submitted transactions |
| Accountant | 0x5A74Cb32D36f2f517DB6f7b0A0591e09b22cDE69 |
Fee changes, config updates |
| Sky Savings Rate | 0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD |
SSR rate changes, sUSDS TVL |
Critical Events to Monitor
- PPS decrease — any decrease in
convertToAssets(1e6)indicates a loss event. Should only increase - Strategy additions/removals —
StrategyChangedevents indicate portfolio changes (new strategies go through 7-day timelock) - Debt allocation changes —
UpdatedMaxDebtForStrategyandDebtUpdatedevents - Emergency actions —
Shutdownevent on vault - ySafe signer/threshold changes — governance integrity
- SSR rate changes — Sky Governance may adjust the savings rate, affecting yield
- PSM fee changes — if
tinortoutare set above 0, it may trigger the Uniswap V3 fallback path
Monitoring Functions
| Function | Contract | Purpose | Frequency |
|---|---|---|---|
convertToAssets(1e6) |
Vault | PPS tracking | Every 6 hours |
totalAssets() |
Vault | Total TVL | Daily |
totalDebt() / totalIdle() |
Vault | Capital deployment ratio | Daily |
strategies(address) |
Vault | Per-strategy debt, last report time | Daily |
get_default_queue() |
Vault | Withdrawal queue composition | Weekly |
getThreshold() / getOwners() |
ySafe | Governance integrity | Weekly |
getMinDelay() |
ySafe | Delay change detection | Weekly |
ssr() |
Sky Pot | Savings rate | Weekly |
Reassessment Triggers
- Time-based: Reassess in 6 months (November 2026) or annually
- TVL-based: Reassess if TVL exceeds $100M or changes by more than ±50%
- Incident-based: Reassess after any exploit, strategy loss, governance change, or Sky / Spark Lend / Morpho incident
- Allocation-based: Reassess if a new non-Sky strategy is added to the queue (would re-introduce a non-Sky leg and potentially step the Cat 2C dependency score back down to 2.0 / final to 1.2). Conversely, reassess if any new Sky-coupled strategy increases concentration further
- SSR-based: Reassess if Sky Savings Rate drops below 2% (may indicate Sky governance issues) or if PSM fees are introduced
- Governance-based: Reassess if ySafe composition changes (signer additions/removals, threshold changes)
Appendix: Contract Architecture
┌─────────────────────────────────────────────────────────────────────┐
│ VAULT LAYER │
│ │
│ ┌───────────────────────┐ │
│ │ yvUSDC-1 (v3.0.2) │ │
│ │ ERC-4626, immutable │ │
│ │ 0xBe53...6204 │ │
│ │ │ │
│ │ deposit() / redeem() │ │
│ │ totalAssets() │ │
│ └──────────┬────────────┘ │
│ │ deploys USDC to 3 queued strategies (2 funded) │
│ │ │
│ ┌──────────▼──────────────────────────────────────────────────────┐│
│ │ STRATEGIES (by allocation, May 11 snapshot) ││
│ │ ││
│ │ ┌─────────────────────────────────────────────────────────┐ ││
│ │ │ SKY (~97%) │ ││
│ │ │ USDC to sUSDS Lender 97.15% │ ││
│ │ │ Pipeline: USDC → DAI (PSM 1:1) → USDS → sUSDS │ ││
│ │ └─────────────────────────────────────────────────────────┘ ││
│ │ ┌─────────────────────────────────────────────────────────┐ ││
│ │ │ SPARK (Sky sub-DAO) (~3%) │ ││
│ │ │ Spark USDC Lender 2.85% │ ││
│ │ │ Pipeline: USDC → Spark Lend (direct) │ ││
│ │ └─────────────────────────────────────────────────────────┘ ││
│ │ ││
│ │ Queued (0 debt): ││
│ │ - USDC to USDS Depositor ││
│ │ ││
│ │ Revoked between May 5 and May 11: ││
│ │ - Morpho Yearn USDC Compounder (added 2026-04-30) ││
│ └─────────────────────────────────────────────────────────────────┘│
└──────────────────────────────────────────────────────────────────────┘
│
deposits into underlying protocols
│
┌───────────────────────────────▼──────────────────────────────────────┐
│ UNDERLYING PROTOCOLS │
│ │
│ ┌──────────────────────────┐ ┌──────────────────────────┐ │
│ │ Sky / sUSDS │ │ Spark Lend (Sky sub-DAO)│ │
│ │ Multi-billion TVL │ │ USDC market │ │
│ │ SSR: ~4.0% APY │ │ Sky-governed │ │
│ │ 8+ years, $10M bounty │ │ Audited (ChainSec, etc.)│ │
│ │ ~97% of vault │ │ ~3% of vault │ │
│ └──────────────────────────┘ └──────────────────────────┘ │
│ ┌──────────────────────────┐ ┌──────────────────────────┐ │
│ │ MakerDAO PSM Lite │ │ Sky DAI-USDS Exchanger │ │
│ │ USDC ↔ DAI at 1:1 │ │ DAI ↔ USDS at 1:1 │ │
│ │ 0% fee (tin=tout=0) │ │ No fee │ │
│ └──────────────────────────┘ └──────────────────────────┘ │
└───────────────────────────────────────────────────────────────────────┘
Data flow: User deposits USDC → yvUSDC-1 vault → sUSDS Lender (~97%)
converts USDC → DAI (PSM) → USDS (Exchanger) → sUSDS; Spark Lender (~3%)
supplies USDC directly to Spark Lend. Profits reported by Keeper, locked
for 10 days. Withdrawals reverse the pipeline (atomic, no cooldown).
Appendix: TimelockController Role Structure
TimelockController 0x88Ba032be87d5EF1fbE87336b7090767F367BF73 — deployed at block 24,242,692 with admin = address(0). Same timelock used by yvUSD and 37+ other Yearn V3 vaults.
Timelock Roles
| Role | Holder | Type | Notes |
|---|---|---|---|
| DEFAULT_ADMIN | No holder | — | Never granted (admin = address(0) at construction). No one can grant/revoke roles outside the propose→wait→execute flow |
| TIMELOCK_ADMIN | Timelock itself (0x88Ba032be87d5EF1fbE87336b7090767F367BF73) |
Contract | Only the timelock can admin its own roles. Config changes (delay, role grants) must go through the 7-day delay |
| PROPOSER | Daddy/ySafe (0xFEB4acf3df3cDEA7399794D0869ef76A6EfAff52) |
6-of-9 Safe | Only proposer — no one else can initiate timelocked operations |
| EXECUTOR | Daddy/ySafe (0xFEB4acf3df3cDEA7399794D0869ef76A6EfAff52) |
6-of-9 Safe | Can execute queued proposals directly |
| EXECUTOR | TimelockExecutor (0xf8f60bf9456a6e0141149db2dd6f02c60da5779b) |
Contract | Wrapper contract — delegates execution to its internal executor list (see below) |
| CANCELLER | Daddy/ySafe (0xFEB4acf3df3cDEA7399794D0869ef76A6EfAff52) |
6-of-9 Safe | Can cancel pending proposals |
| CANCELLER | Brain (0x16388463d60FFE0661Cf7F1f31a7D658aC790ff7) |
3-of-8 Safe | Can cancel pending proposals |
TimelockExecutor Contract
0xf8f60bf9456a6e0141149db2dd6f02c60da5779b — governance-gated wrapper around the TimelockController. Only addresses on its internal executor list can call execute() through it.
| Parameter | Value |
|---|---|
| Governance | Brain (0x16388463d60FFE0661Cf7F1f31a7D658aC790ff7) — only Brain can add/remove internal executors |
| Internal executor 1 | Brain (0x16388463d60FFE0661Cf7F1f31a7D658aC790ff7) |
| Internal executor 2 | Deployer EOA (0x1b5f15DCb82d25f91c65b53CEe151E8b9fBdD271) |
Execution Paths for Queued Proposals
All paths require Daddy (6/9) to first propose the operation and a 7-day wait:
- Daddy (6/9) executes directly (holds EXECUTOR_ROLE on timelock)
- Brain (3/8) executes via TimelockExecutor contract
- Deployer EOA executes via TimelockExecutor contract
Why the Delay Cannot Be Bypassed
To change the timelock delay (e.g., reduce from 7 days), an attacker would need to:
- Control Daddy (6/9) to propose
updateDelay()— the only PROPOSER - Wait 7 days — Brain or Daddy can cancel during this window
- Execute via Daddy, Brain, or the EOA — but the operation is already visible onchain for 7 days
DEFAULT_ADMIN was never granted, so no one can grant themselves PROPOSER or TIMELOCK_ADMIN to skip this flow. The timelock holds TIMELOCK_ADMIN but can only act on it through its own propose→wait→execute cycle.