Mechanisms
Pricing and Core Functions
To illustrate the core mechanics of Goldivaults, take for example a vault in which the deposit asset is HONEY and the duration of the vault is one year.
Deposits: When a user deposits 1 HONEY, they will receive 1 newly minted ownership token (OT) and 1 newly minted yield token (YT).
OT Redemptions: Conversely, a user can always redeem (burn) 1OT + 1YT for 1 underlying asset. Once the vault reaches maturity, the user can redeem OT’s 1:1 for the underlying deposit asset.
YT Staking: YT’s in streaming vaults are automatically staked, and continuously accrue the yield generated by the underlying assets in real time. This yield can be claimed at any time. Over time, as the vault approaches maturity, the value of the YT gradually approaches zero as the yield to which it is entitled is continuously paid out to stakers.
In some cases (e.g. where the yield consists of partner project points programs), the yield is streamed directly to the user without any need for claiming/staking.
Pricing: Goldivaults operate according to the basic equation 1DT = 1OT + YT, where DT denotes a `deposit token’ (the relevant yield bearing asset that is deposited into the vault). In light of this equation, we see that the price of YT and OT should be inversely correlated – the value of 1 OT varies inversely with the value of 1 YT.
Trading
Ownership token liquidity will always be paired against the underlying deposit asset in a concentrated liquidity pool on Kodiak, thereby maximising capital efficiency and optimising the ownership token trading experience. Goldivaults also includes an additional smart contract that enables users to trade yield tokens by utilising the liquidity in the ownership token pool in tandem with flash loans and vault deposits/redemptions. This means that the OT liquidity pool is able to support both OT and YT trades, which increases capital efficiency and simplifies the trading experience for users. Here’s how it works.
Buy YT: When a user buys YT through the Goldivault trading contract, the following process occurs.
(i) Firstly, the user specifies how much they want to spend along with their slippage tolerance. The front end then calculates the minimum number of YT they should expect to receive based on the current price and slippage tolerance, and the user confirms the trade.
(ii) The contract takes the user’s DT tokens and deposits them into the vault and receives OT and YT tokens. If they receive the desired minimum number of YT tokens, then the contract sells the OT tokens via the Kodiak pool, returns the proceeds to the user and concludes the trade.
(iii) If the deposit does not generate the desired number of YT tokens, then the vault contract will temporarily lend the user enough DT such that depositing all the borrowed DT will generate the desired number of YT.
(iv) The contract will then sell all the OT tokens via the Kodiak pool, repay the DT that the user borrowed from the vault contract, and conclude the transaction.
Sell YT: When a user sells YT through the Goldivault trading contract, the following process occurs.
(i) Firstly, the user specifies how much YT they want to sell along with their slippage tolerance. The front end then calculates the minimum number of DT they should expect to receive based on the current price and slippage tolerance, and the user confirms the trade.
(ii) The vault contract mints the user enough OT to pair with the user’s YT and then redeems their YT along with this newly minted OT, in exchange for DT.
(iii) The contract uses that DT to buy back the number of OT that were minted to the user via the Kodiak pool.
(iv) The contract burns the OT that were bought back, and sends the leftover DT to the user, before concluding the transaction.
Fees
The yield splitting vaults will take a performance fee (determined by the DAO, initialised at 3%) on all yield generated through the vaults, as well as a 0.5% on all YT trades that occur through the YT trading contract. 100% of these fees are sent to the Goldilocks DAO treasury.
Last updated