System Actors

Understand the system actors

There are six main actors in stETHvv design:

  • Depositors

  • Yield Source

  • Investor

  • Vault Controller

  • Round Processor

  • Vault

Each actor has an essential role in stETHvv's functionality, which we will cover in this section.


The depositors are all the users who deposit stETH (and soon ETH) into stETHvv. They can be either an EOA (Externed Owned Account) or a contract. This actor will later be able to withdraw their funds alongside their earnings.

Yield Source

The Yield Source is the source of the base yield for this strategy. In the case of stETHvv, the yield source is Lido Finance.


The Investor EOA (or Multisig) is responsible for buying the put and call options and setting the strangle strategy weekly. The Investor wallet receives part of the weekly yield from the Yield Source, which we call the Investor Ratio (currently set at 50%), and buys the options manually. In case the options bought end in-the-money, the profit from the exercised options stays in this wallet and later is sent back to the vault so that they are redeposited into the Yield Source, respecting users' shares proportionately.

NOTE: Currently this part of the process is centralized and could even be held off-chain. We intend to automate the option purchases as we see more liquid options available. As of now holding the options purchases on chain would represent a much worse execution, impacting the strategy's profitability significantly.

Admin keys only have access to the 50% of the weekly yield, usually, this represents less than 1% of the TVL.

Vault Controller

The VaultController is a Multisig responsible for calling the startRound and endRound functions round. He can also act as a Depositor and as a RoundProcessor.


A vault is a smart contract that connects all the players to make the strategy work. The vault:

  • Receives funds from depositors.

  • Calculates the generated interest in the week.

  • Create shares for the depositors.

  • Receives the profit from exercised options.

  • Send part of the yield to the investor's address.

Round Processor

The role of this actor is to process the queued deposits after the endRound the function was called and before the startRound was called, meaning, only when the flag isProcessingDeposits true.

In our internal process, the actor VaultController will also be responsible for processing the deposits of the week to create a smoother user experience. It is important to highlight that any address could process its own or other deposits, which means that this step does not rely on the Vault Controller itself.

Last updated