Deposit and Withdraw Mechanism
- 1.To Deposit or Withdraw a user must signal their intention to do so via deposit or initiateWithdraw. When signalling, the deposit amount in USDC or withdraw amount in shares should be provided. Once a user has signalled either action they cannot cancel it.
- 2.To begin with, on a weekly basis an epoch is executed by keeper bots. At this point the portfolio's net asset value (NAV) are valued by taking all assets and liabilities (options liabilities are valued against the protocol's volatility surface and Black Scholes) and a price per share is set. This determines the value of the deposit or withdraw.
- 3.Once the epoch is executed users deposits are now active and withdrawers can completeWithdraw to returns their USDC to their wallet. Deposits and Withdraws are priced based on the epoch after they deposited or initiateWithdraw.
- Epochs can be arbitrary in length, to begin with epochs will be weekly and this may change in the future to facilitate faster entry/exit depending on demand.
- The liquidity pool maintains a liquidity buffer which is used to ensure that the liquidity pool has sufficient funds to hedge itself and manage margin for options and perpetual position collateral. As a result it is possible for withdrawals to not be processed for that epoch if the withdrawal would take funds from the liquidity buffer, if this happens then withdrawals are postponed until there are free funds to process the withdrawal. Once a withdrawal epoch is successfully executed users can always withdraw their funds.