Skip to main content

Introduction to Yield Skimming Strategies

Purpose: Introduce the YSS model, explain why appreciation capture matters, and provide a mental model for how YSS vaults work.

Audience: DeFi-native engineers integrating appreciating assets into Octant v2; those building YSS strategies for wstETH, rETH, or similar wrappers.

Level: Intermediate

Source of truth: [email protected] YSS implementation and BaseYieldSkimmingStrategy authoring path.

Use this page when: You are learning what YSS is, comparing it to YDS, or deciding whether to build a YSS for your appreciating asset.

Do not use this page for: Contract-level implementation details, accounting formulas, or the insolvency algorithm—read the Architecture or smart contract reference pages instead.

Before you read this page
TL;DR

A YSS is a single-strategy ERC-4626 vault for appreciating assets such as wstETH or rETH. Instead of letting exchange-rate appreciation accrue to depositors, the strategy captures that appreciation for the donation address by minting donation shares at report() time. In the standard authoring path for [email protected], you typically build on BaseYieldSkimmingStrategy and provide the current exchange rate plus its decimals. The base handles the passive-holder lifecycle, value accounting, and insolvency logic.

A YSS strategy vault is an ERC-4626 vault where appreciation flows to the donation address instead of compounding to depositors. The donation address holds donation shares that are minted on appreciation and, when loss protection is enabled, burned first on depreciation. Users hold shares against a tracked value debt rather than against a simple compounding asset balance.

In normal operation, conversions are driven by the current exchange rate of the underlying appreciating asset. If depreciation exceeds the available donation-share buffer, the vault becomes insolvent and falls back to proportional distribution semantics.

Who this is for

DeFi-native engineers who want to integrate appreciating assets such as wstETH, rETH, or similar wrappers into Octant v2 while routing appreciation to a configured onchain recipient.

We assume:

  • Ethereum-style ERC-20 and ERC-4626 familiarity
  • basic understanding of exchange-rate-based assets
  • Foundry workflow for development and testing

What is an appreciating asset?

An appreciating asset is a token whose value increases over time relative to its underlying. For example: wstETH (wrapped staked ETH) represents staked ETH that earns staking rewards. Unlike stETH, which rebases (your balance changes), wstETH is non-rebasing — your balance stays the same, but each wstETH becomes worth more ETH over time. If 1 wstETH = 1.15 ETH today, in six months it might be 1 wstETH = 1.18 ETH. That 0.03 ETH per wstETH is the appreciation that YSS captures for the donation address.

The model in one paragraph

A YSS strategy vault treats depositors as holders of tracked value, while appreciation is redirected to the donation address through donation-share minting at report(). As long as the vault remains solvent and the donation-share buffer is sufficient, depositor value debt stays protected against depreciation. If losses exceed that protection, the vault enters insolvency mode and uses proportional distribution rules instead of normal rate-based conversions.

note

A multistrategy vault can allocate capital across YSS, YDS, and other compatible strategies, but that is a separate vault-layer concern. This page focuses on the standalone YSS strategy-vault model.

Why YSS

  • Capture appreciation onchain: appreciation from yield-bearing assets can be redirected to a donation address by design.
  • Clear depositor promise: depositors keep exposure to tracked value, but they do not receive the appreciation that would otherwise accrue to that value.
  • Natural fit for appreciating wrappers: YSS is designed for assets whose value changes through exchange-rate movement rather than through discrete reward-token harvests.

Key concepts

  • Strategy vault: one contract per appreciating asset. Users deposit and withdraw through the ERC-4626 surface.
  • Donation address: the beneficiary account. It receives donation shares on appreciation and, when loss protection is enabled, those shares are burned first on depreciation.
  • Donation buffer: the live balance of donation shares available to absorb depreciation before depositor value is affected.
  • Exchange rate: the value reference of the underlying appreciating asset. Internally, YSS logic tracks and compares rates between reports.
  • Value debt: the tracked depositor value that the strategy aims to preserve while appreciation is skimmed away.
  • Solvent mode: the normal state where rate-based conversions are valid.
  • Insolvent mode: the fallback state entered when depreciation exceeds available protection. Deposits and mints are blocked, and conversions fall back to proportional distribution logic.
  • Report: a keeper or management call that refreshes accounting based on the current exchange rate and finalizes appreciation or depreciation handling.
  • Roles:
    • Management — configuration and trusted operations.
    • Keeper — automation for report() calls.
    • Emergency admin — shutdown and emergency authority.

What the strategist actually implements

For the standard YSS authoring path in [email protected], you normally inherit from BaseYieldSkimmingStrategy, which already supplies the passive-holder lifecycle:

  • _deployFunds() is a no-op,
  • _freeFunds() is a no-op,
  • _harvestAndReport() returns totalAssets().

What you typically provide is:

  • _getCurrentExchangeRate() — returns the current exchange rate for the appreciating asset,
  • decimalsOfExchangeRate() — tells the base how to scale that rate correctly.

That is the authoring surface you should keep in mind when reading the rest of the YSS docs for 1.2.0-develop.15.

Lifecycle at a glance

Strategy vault lifecycle (direct deposits)

  1. Deposit → shares. The user deposits the appreciating asset through ERC-4626. Shares are minted against the strategy’s tracked value model.
  2. Hold. The strategy holds the appreciating asset directly. There is no external deploy step in the standard base implementation.
  3. Appreciation or depreciation. The asset’s exchange rate moves over time.
  4. Report → settle accounting. A trusted caller runs report(), refreshing rate-based accounting:
    • Appreciation: donation shares are minted to the donation address.
    • Depreciation: when loss protection is enabled, donation shares are burned first. If protection is insufficient, the vault can become insolvent.
  5. Withdraw. In solvent mode, redemptions use normal rate-based conversions. In insolvent mode, redemptions follow proportional distribution semantics.

Responsibilities for strategy authors

  • Return the correct exchange rate. Your implementation of the rate hook must reflect the true current rate for the underlying appreciating asset.
  • Scale the rate correctly. decimalsOfExchangeRate() matters because YSS accounting compares rate changes with explicit precision assumptions.
  • Understand the health-check layer. YSS strategies typically use BaseYieldSkimmingHealthCheck, which validates exchange-rate movements between reports rather than only a generic total-asset delta.
  • Automate reporting. No report() means no appreciation capture and no timely depreciation handling.
  • Disable burn protection through a report when needed. If burning is enabled and a pending dragon burn should still be reported, management should use reportAndDisableBurning() instead of direct setEnableBurning(false).

What users should expect

  • Tracked value, not depositor appreciation. Depositors keep exposure to the tracked value model of the vault, but appreciation is redirected to the donation address.
  • Conditional depreciation protection. Donation-share burning protects depositors only when loss protection is enabled and the available buffer is large enough.
  • Different behavior in insolvency. If losses exceed the available protection, the strategy stops behaving like a normal solvent rate-based vault and falls back to proportional distribution rules.

What this page is not saying

A few clarifications help avoid over-reading the model:

  • It is not saying that depositors are guaranteed perfect value stability under all losses.
  • It is not saying that every donation-address action is universally blocked in every edge case of insolvency. The actual restrictions are more precise and come from the contract logic.
  • It is not saying that every YSS strategy must use the exact same external rate source. What matters is that the reported exchange rate is correct and consistently scaled.

Where to go next