Skip to main content

YSS: Architecture - Kickstarter but with Yield

Overview

This page gives DeFi‑native engineers who already know Yearn V3 a concise, precise mental model for Yield Skimming Strategies (YSS). We inherit Yearn V3's ERC‑4626 architecture and swap the asset model: instead of deploying assets to external yield sources, we hold yield‑bearing assets directly and capture their exchange rate appreciation as newly minted value‑shares sent to a configured dragon router (and burned first on depreciation) rather than passing appreciation to depositors.

Yearn V3 in one paragraph (recap)

Yearn V3 is a modular yield framework in which Allocator Vaults (ERC‑4626) accept deposits and allocate debt to one or more Strategies. In V3, a Strategy is itself a standalone ERC‑4626 vault ("Tokenized Strategy") that deploys a single asset into a single external yield source. Strategies can be attached to multiple vaults and also accept direct deposits. The system is intentionally permissionless: anyone can deploy strategies and operate vaults, and composition happens at the ERC‑4626 boundary.

What YSS changes (and what it doesn't)

Unchanged.

  • The ERC‑4626 surfaces for vaults and strategies.
  • The Strategy author experience: inherit a minimal base, override a small set of hooks, and rely on the shared TokenizedStrategy implementation for standardized logic.

Changed (asset model & value semantics).

  • Vanilla V3: A strategy deploys assets to external yield sources, harvests rewards, and realizes profit/loss at report(), raising PPS for depositors.
  • YSS: A strategy holds yield‑bearing assets directly (e.g., stETH, rETH), tracks their exchange rate, and at report() captures all appreciation by minting value‑shares to the dragon router. Depreciation first burns dragon shares to keep user ETH‑value stable; only depreciation beyond that buffer triggers insolvency mode. YSS strategies therefore behave as ETH‑value‑tracking vaults: users maintain stable ETH value (1 share = 1 ETH); all appreciation is redirected on‑chain to the dragon router.

Why strategies are small (the immutable‑proxy pattern)

All tokenized strategies delegate standardized ERC‑4626 mechanics, accounting, and role gating to a shared audited implementation (e.g., YieldSkimmingTokenizedStrategy). Your concrete strategy inherits a thin BaseYieldSkimmingStrategy, stores only strategy‑specific state, and delegates the rest. This keeps strategist code tiny, reuses hardened logic, and enables cheap, permissionless deployment of single‑asset ERC‑4626 strategy vaults—exactly as in Yearn V3.

Components & definitions

  • Allocator Vault (Vault). An ERC‑4626 contract that holds user deposits, mints vault shares, and allocates debt across attached strategies. In YSS deployments this role is often served by a Yearn V3 vault (e.g., MultiStrategyVault.sol or vault.vy).
  • Strategy (Yield Skimming Strategy). A single‑asset ERC‑4626 vault that holds yield‑bearing assets directly. It can serve multiple vaults and accept direct user deposits. Exchange rate appreciation is represented as newly minted value‑shares sent to a configured dragon router (and burned first on depreciation) rather than appreciating user positions.
  • Asset. The yield‑bearing ERC‑20 managed by the strategy (e.g., wstETH, rETH). All external accounting is in units of this asset.
  • Value‑Shares. ERC‑20 receipts for strategies (ERC‑4626). In YSS, user shares are ETH‑value‑tracking: 1 share = 1 ETH value at deposit time, maintaining stable value regardless of underlying appreciation.
  • Dragon router (YSS). The on‑chain recipient of captured appreciation. YSS mints/burns value‑shares at this address at report() time (mint on appreciation, burn on depreciation).
  • Exchange Rate. The appreciation factor of the underlying asset (e.g., stETH/ETH). Tracked in RAY precision (1e27) internally.
  • Value Debt. ETH‑value accounting for users and dragon. Tracks the total value owed to each party.
  • Solvency/Insolvency.
    • Solvent: Normal state where vault value ≥ total debt. Rate‑based conversions apply.
    • Insolvent: Emergency state where depreciation exceeds dragon buffer. Proportional distribution mode; dragon operations blocked.
  • Roles (strategy‑side).
    • Management: privileged configuration and trusted calls (e.g., report() cadence, keeper assignment).
    • Keeper: automation address allowed to call report().
    • Emergency admin: can pause intake and help unwind.

(Enforced by strategy modifiers such as management/keeper/emergency gates.)

  • Periphery modules (vault‑side). Optional, plug‑and‑play contracts for role management, debt allocation, accounting checks, keepers, and routers. YSS re‑uses the Yearn‑style periphery; appreciation capture replaces yield distribution in the strategy itself.

System data‑flow (happy path, high level)

  1. Deposit. A user deposits the yield‑bearing asset into a strategy (or via a vault) and receives value‑shares (1 share = 1 ETH value).
  2. Hold. The strategy holds the yield‑bearing asset directly. No external deployment needed—the asset itself appreciates.
  3. Appreciation. The exchange rate of the yield‑bearing asset increases over time. In YSS, this appreciation is earmarked for dragon capture, not for raising user value.
  4. Report & capture. A keeper/management calls the strategy's report(). The strategy reads the current exchange rate and calculates appreciation.
    • YSS: The base mints dragon value‑shares on appreciation and burns dragon shares on depreciation. User ETH‑value remains stable while the dragon buffer exists.
    • Vanilla (standard): Appreciation is retained and increases user PPS.
  5. Withdraw. Users redeem value‑shares for underlying at the current exchange rate. In YSS, because appreciation was captured by dragon, users receive their original ETH‑value worth of assets (unless insolvent).

Design invariants to internalize

  • Passive holding strategies. Each strategy must only hold yield‑bearing assets directly. No complex deployments, no external protocols—just track exchange rates.
  • ERC‑4626 with value semantics. While maintaining standard ERC‑4626 interfaces, YSS redefines shares as value‑shares where 1 share = 1 ETH value, not 1 unit of underlying.
  • Appreciation at report. In YSS, appreciation capture happens only when report() updates rates. Automate reporting so appreciation is captured on cadence.
  • Dual‑mode operation. Strategies operate in solvent mode (rate‑based conversions) until losses exceed dragon buffer, then switch to insolvent mode (proportional distribution).
  • Dragon self‑transfer protection. The dragon router cannot transfer shares to itself, preventing manipulation of the value accounting system.

Yearn‑to‑YSS comparison (at a glance)

  • Surface & composition: Identical (ERC‑4626 vaults + tokenized strategies; permissionless).
  • Asset handling: In Yearn strategies, assets are deployed to external yield sources. In YSS, strategies hold yield‑bearing assets directly and track their exchange rate.
  • Where appreciation goes: In Yearn strategies, yield compounds to depositors after unlock. In YSS, exchange rate appreciation is converted to dragon value‑shares, keeping user ETH‑value stable.
  • Loss handling: In Yearn strategies, when a loss is realized, the PPS drops immediately. In YSS, the system first burns dragon shares to absorb depreciation, maintaining user ETH‑value stability. Only when depreciation exceeds the accumulated dragon buffer will the vault enter insolvency mode.
  • Value model: Yearn tracks assets (1 share ≈ 1 asset). YSS tracks ETH value (1 share = 1 ETH value), making it ideal for yield‑bearing assets with fluctuating exchange rates.
  • Reporting cadence: Same operational model (keepers/management). In YSS it updates exchange rates and captures appreciation.
  • Periphery usage: Same modules and roles; YSS simply changes the value accounting model at the core.