YO Protocol
For more technical readers
Summary of the yoVaults
The yoVault protocol is a robust, secure, and efficient smart contract system designed to streamline asset management across blockchain platforms. Built on the widely recognized ERC4626 standard, yoVault automates the optimization of user assets across various decentralized finance (DeFi) strategies and chains. This vault eliminates manual management by intelligently reallocating funds to ensure users consistently achieve optimal returns.
yoVault incorporates a unique asynchronous redemption mechanism. Users can initiate a withdrawal request at any time, and the vault immediately processes these if it has sufficient liquidity. If the vault lacks immediate liquidity, redemption requests are securely stored until fulfilled by authorized operators, who are empowered to manage liquidity efficiently.
Risk management is integral to yoVault’s design. It actively monitors asset valuations and implements automatic safeguards, such as pausing operations when significant percentage changes occur in asset values, protecting users against volatility and market disruptions.
Transparent and predictable fees can be charged on both deposits and withdrawals, clearly defined within preset limits to ensure fairness. Currently these fees are set to 0. yoVault employs rigorous access control through clearly defined user and operator permissions, bolstered by the AuthUpgradeable contract. The system’s transparency is enhanced by integrating oracle-driven reporting mechanisms that regularly update aggregated balances and asset valuations.
Overall, yoVault simplifies onchain asset management, offering a secure, automated, and transparent solution ideal for both individual users and institutional participants seeking optimized yield strategies with minimal manual intervention.
How to Use Key Protocol Functions:
Write - only on Base chain at the moment
deposit(assets, receiver): Deposit your assets directly into the vault. Specify the amount of assets and the receiver’s wallet address to get vault shares in return.
requestRedeem(shares, receiver, owner): Request redemption of your shares for underlying assets. If the vault has sufficient funds, you immediately receive your assets. Otherwise, the request is stored and fulfilled later by an operator.
mint(shares, receiver): Mint new shares directly, specifying how many shares and the receiving wallet. The required underlying asset amount is calculated automatically.
Read
convertToAssets(shares): Convert a specified number of shares into their equivalent underlying asset amount.
convertToShares(assets): Calculate how many shares you'll receive for depositing a certain amount of assets.
totalAssets(): Check the total assets currently managed by the vault, denominated in the deposit asset of the vault.
totalSupply(): View the total number of shares/yoTokens currently issued by the vault.
lastPricePerShare(): View the latest calculated value of one share in terms of the underlying assets, useful for tracking performance. NOTE: do not use this function as the source for lending market oracles unless you are also including safeguards against manipulation.
Last updated