Introduction
We are introducing the Hearth Upgrade, featuring a brand new staking infrastructure, a new interest rate framework, a new website, and other features, transforming VST into a self-sustainable, public good stablecoin. The interest rate charged on the stablecoin would go fully to a newly established VST-USDC stablecoin pool on Curve, funding VST liquidity, facilitating one of the most liquid crypto-only-backed stablecoins. This updates allows Vesta to get one step closer to its mission: maximizing the potential of all crypto assets.
Motivation
Through operating Vesta Stable - VST for more than a year, we found that over-collateralized stablecoin in DeFi is one of the best tools for leveraging. In 2022 alone, Vesta saw more than $1b of trading volume on our stablecoin, helping people levering on assets like ETH, wstETH, and GLP.
Vesta is on the cusp of becoming infinitely scalable and fully self-sustainable. The only thing standing in our way is a lack of proper liquidity provisioning infrastructure.
Currently, VST’s liquidity is VST-FRAX on Curve, with the liquidity being compensated by one of our angel investor’s veFXS votes. While it makes sense to rely on as many good liquidity deals for as long as possible, such a deal would not last forever. To become fully self-sustainable, the stablecoin needs a mechanism to be self-sufficient when it comes to liquidity.
To tackle this problem, we are rolling out Hearth Upgrade, featuring a brand new staking infrastructure, a new interest rate framework, a new website, and other features, transforming VST into a self-sustainable, public good stablecoin. The interest rate charged on the stablecoin would go fully to a newly established VST-USDC stablecoin pool on Curve, funding VST liquidity, facilitating one of the most liquid crypto-only-backed stablecoins. This updates allows Vesta to get one step closer to its mission: maximizing the potential of all crypto assets.
Specification
New Liquidity Provisioning Infrastructure - VSTA Staking Module and VST LP Module
Current VST liquidity is funded externally via Tetranode’s FXS shares. To enable liquidity to scale with vault growth, we plan to send interest revenue to fund VST liquidity. Furthermore, the governance token, VSTA, will be required for liquidity providers to enjoy these yields, boosting the utility of the governance token. In short, the interest rate will be passed onto liquidity provider of a newly established VST-USDC pool on Curve, but in order to receive it, a user will have to boost his position using VSTA. This solution not only creates a path for liquidity to scale along with vault growth, but also involve the governance token into the protocol.
Our hope is by funnelling revenue to incentivize VST liquidity, VST will become the most liquid crypto-backed stablecoin on Arbitrum, rivaling the likes of DAI and FRAX. Deeper liquidity would attract more users to VST as it is one of the only crypto-backed stablecoins on the market, increasing VST’s monetary premium as more people hold it in wallets and use it for transactions. It would also further facilitate a smooth trading experience for the VST minters, as they would be able to easily buy and sell large positions of VST at ease.
The program is two fold: VSTA Staking Module and VST LP Module. Below is a short summary of the modules. Details will be released when the protocol is close to being live.
VSTA Staking Module
VSTA Staking Module is set up to incentivize certain behaviours within the protocol. It will direct token inflation to those acting favourably towards the protocol without overwhelming circulating token supply by making the token vest over a period of time.
Users may stake VSTA-ETH 80-20 LP token to earn bVSTA (boost VSTA), which will be the reward token. bVSTA is non-transferrable, may be used toward benefits such as boosting the reward in VST LP Module, and may be vested into liquid VSTA in 12 months.
VST LP Module
VST LP Module aims to reward people for providing liquidity to VST-paired liquidity pools. The protocol’s interest revenue is rewarded to users via this module to facilitate deep VST liquidity. User may boost a pool with bVSTA so the user could earn reward in the form of VSTA.
Boosting is the act of allocating bVSTA toward a pool to enable/earn more reward in VSTA. A user’s bVSTA could be allocated toward a particular VST-paired liquidity pool, influencing his or her VSTA reward APR. Subsequently, the APR for a user is determined by his own bVSTA pointed toward this pool, how much bVSTA in total is pointed toward this pool, and the staked amount.
New Interest Rate Framework
The current interest rate framework on Vesta was decided mainly to fight off significant VST de-pegs. However, the base level of the interest rates (when VST isn’t suffering from de-peg) was arbitrarily decided.
In order to support VST liquidity without relying on external sources, we’ll need to revamp the interest rates to a level so that the liquidity of the stablecoin can be sustained, and then relay the fees fully to liquidity provisioning. We propose a new interest rate framework that would allow the interest revenue to fully cover the cost of liquidity provisioning.
interest is now collateral-specific and has four parameters
- max_rate = max amount of rate charged when the stablecoin is depegged downward
- max_down_depeg_in_pct = how much downward depeg the stablecoin has to be for max_rate to be reached (in percentage term)
- max_up_depeg_in_pct = how much upward depeg the stablecoin has to be for the rate to be 0%
- base_rate = interest rate when the stablecoin is on-peg
Similar to the current reference rate scheme, the interest rate would react accordingly in the event of a depeg. For a graphical example, please view the chart below. The x-axis represents the depeg amount in %, and the y-axis represents the total interest rate.
Universal Rates
- max_rate: 200%
- 200% interest rate when the stablecoin is too de-pegged encourages very effective supply shrink. In March 2023 during USDC depeg, VST price went down as well, causing interest rate to increase significantly. Subsequently, supply of VST shrunk and forced the token back to peg successfully.
- max_down_depeg_in_pct: 5%
- To encourage depeg to not exceed a certain level, we set this parameter at 5% so that it reaches 200% when the token is below peg by 5% at $0.95.
- max_up_depeg_in_pct: 0.5%
- When the stablecoin is overpeg, the system decreases interest rate to 0% to encourage borrowing. Setting this parameter to 0.5% means that when the price is over-peg by 0.5% at 1.005, the interest rate goes to 0%.
Collateral Specific Rate - base_rate
Base rate is the rate charged when the stablecoin is on-peg. It is determined by
- Looking at competitors’ rates
- Applying a discount
Calculating Competitors’ Rates
Competitors include other CDP protocols. Calculating rates from CDP protocol entail taking the average of interest rate weighted by the amount of collateral in the protocol. For assets that are not listed on other CDP protocols, we will refer to lending protocols. If the lending protocols do not have comparable markets (such as the market doesn’t have similar amount of lending capacity), then the interest rates would be solely determined by past price volatility.
Estimating Average Interest Rate on Lending Protocols
We aim to align the rates to be in line with the market average. Everyday, a snapshot is taken of all the lending protocols.
If the total capacity of the market isn’t greater than the amount currently lent out on Vesta (for example, a lending market for XYZ has only 600k USDC supplied into it, but there’s currently 1m of VST generated from XYZ on Vesta) then this market is counted as non-qualified and will not be considered.
For each lending protocol, calculate the stablecoin borrowing cost. Then take the weighted average of all lending protocol by each market’s rate weighted by total borrowed amount.
How to calculate the stablecoin borrowing cost:
- We first take the mean of the stablecoins’ borrowing cost. (Qualified stablecoins: USDC, USDT, DAI, FRAX)
- Minus the deposit rate of the collateral itself
How to calculate the total borrowed amount if it is not known:
- extrapolate it by calculating the collateral’s total deposited amount * the collateral’s LTV * (1 - safety margin). Safety margin is the amount of collateral could be a parameter like 30%.
Calculating Discount
We aim to embed a discount to the average rates to remain competitive and attract liquidity. A starting discount of 10% is applied. GLP has a slightly different rate applied as the closest comparable Abracadabra has a different cost structure: Abracadabra takes a lower management fee while charging a higher interest rate. As a result, a 50% discount is applied to GLP.
For a demo of base_rate calculation, please see this file. The calculation shows that assuming an APR of 7%, the current mint volume should sustain at least $3.3m in total liquidity depth.
Interest Rate Implementation
The reference rate part of the interest rate will continue to utilize the current infrastructure. You may learn more about our VST oracle here. We aim to update the base_rate automatically by querying for the relevant information and updating the base_rate every hour or so. The exact frequency is yet to be determined.
Merging Saving Module and Stability Pools into a Main Stability Pool to Focus on Liquidity Provisioning
Liquidation bonus is the primary reason why people deposit into the stability pool. In our saving module, although depositors are second in line to liquidate relative to the individual stability pools, they are still enjoying the 10% liquidation bonus when liquidation occurs, on top of the interest fee coming from the vaults. The liquidating bonus served a valuable purpose during the USDC crash by helping to liquidate positions and prevent a depeg. However, there are rooms to optimize and also give depositors in the Saving Module an interest fee, as the liquidating bonus is already quite profitable. This could free up resources that could be used to improve other aspects of the protocol.
We are not fully utilizing the potential of the assets in the saving module as 99% of the value locked cannot be used for liquidation or marketing making, etc. Thus, with the merging of all individual stability pool and the saving module, we can ensure the liquidation of all assets and also have the fees be directed to incentivize a deep liquidity pool for the stablecoin.
Updating Voting Token for Governance
Given the new staking program, the governance token eligible for voting will change to
- Nominal VSTA amount in staked VSTA-ETH
- staked bVSTA
Timeline
The discussion period for this RFC will be live for one week and will be extended if there’s any significant un-addressed opinions. After that, this RFC would move into the voting on Snapshot, which will be live for 3 days.
Upon passing of this proposal, we aim to implement all described changes within 1-2 months. No migration will be needed for current vault openers. The new staking module (and the correlating VSTA-ETH 80-20 pool, the VST-USDC pool) will all be established independently, along with a new website.