# System Actors

There are six main actors in stETHvv design:&#x20;

* 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.&#x20;

### Depositors&#x20;

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.&#x20;

### 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](https://lido.fi/).&#x20;

### Investor&#x20;

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.&#x20;

{% hint style="danger" %}
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.&#x20;
{% endhint %}

{% hint style="success" %}
Admin keys only have access to the 50% of the weekly yield, usually, this represents less than 1% of the TVL.&#x20;
{% endhint %}

### Vault Controller&#x20;

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`.&#x20;

### Vault&#x20;

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&#x20;

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.&#x20;

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.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pods.finance/stethvv/system-actors.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
