Vault Flow & Strategy
Flow of Funds
Users deposit the reference ERC-20 token into the vault and receive a receipt ERC-20 token
The vault deploys capital by allocating funds to August subaccounts, which are managed by a Strategist. Each subaccount is specifically designed to segregate strategies for cleaner accounting and enhanced transparency. Importantly, the Strategist managing a subaccount does not have direct custody of the funds — withdrawals from subaccounts are prohibited by smart contract logic until certain conditions are met, ensuring the security of user assets.
Rather than directly accessing the funds, Strategists can only interact with pre-approved protocols, tokens, and addresses that are whitelisted by either Upshift or the partner protocol. This structure ensures that capital remains under strict control, while allowing Strategists to manage yield-generating strategies within clearly defined boundaries. The multiple subaccount system also enables the vault manager to retain some idle capital in a sub account, facilitating user deposits and withdrawals when needed.
Once yield has been generated by the underlying strategy, it can be “realized” by being paid back as interest from a subaccount to the ERC-4626 vault. This increases the price of the receipt token correspondingly. Where receipt token ERC20 = sum(deposits) + sum(interest_repaid)).
Yield realization
Strategies generate yield, which is repaid to the vault as interest, increasing the receipt token’s value.
Withdrawals
The vault is configurable with an optional cooldown period. To withdraw, retail users can request a redemption by calling “Request Redemption”. Their receipt tokens are then sent back to the vault. At the end of the cooldown period, user can either manually claim to withdraw or wait for the Upshift keeper (or anyone else) to call processClaims(), which processes all available redemptions for that day. All receipt tokens are then burned and corresponding reference token is sent back to the depositors.
Benefits of this structure
This gives the vault manager to flexibility and control as to when the yield is being realized. This is convenient in the case of fixed maturity opportunities for which it is preferable to wait until expiry to realize the yield.
Last updated