Composable Stable Pool Amplification Parameter Framework
Background
Balancer adopted the StableMath Invariant, originally developed by Curve, to introduce various new pool configurations; and we continue to do so. With this pool type, users have been able to experience several highly capital efficient pools compared to traditional weighted pools due to the nature of the invariant surface the math utilizes. While these pools increase the capital efficiency of a set of assets by intrinsically deepening the liquidity around pegged assets (price or exchange rate of nearly 1:1); they can be very dangerous in terms of over exposing users to impermanent loss when a single token in the pool loses its value. We have seen this in various cases such as the UST collapse, and the Euler exploit. This is referred to as de-pegging of assets in most cases.
Reference Case
As with many instances in Defi, the presence of high, unsustainable incentivization can cause users to make less than optimal decisions. In the case of tetuBAL and its current issue maintaining peg, 54.58% at time of writing per defiwarz.xyz (filter “Balancer”), we can see this has happened in our ecosystem. Primarily due to BAL emissions being sequestered on this gauge for a long period of time, coupled with a higher than suggested amplification parameter, (2000) users are now left in a circumstance where they will have to realize a significant loss. Please note, I am stating tetu had no bad intentions, I am merely observing this case as a bad outcome.
While a decrease in the amplification parameter would have made the issue only slightly better than it is, one can argue that it permitted arbitrageurs with misaligned motivations to maintain the pool at an off-peg state, thereby misrepresenting the safety and depth of the pool. This framework aims to protect not only liquidity providers in such cases, but also to align the DAO in taking a risk averse stance towards approving gauges when an amplification parameter is outside of the suggested ranges in the framework.
Framework
To determine the range of the amplification parameter a Composable Stable Pool should have; we must consider several factors related to the nature of the assets. Each of these will be given multipliers related to the range in which the pool should be permitted to set its amplification parameter.
Firstly, what is the class of tokens within a pool? This boils down to three mainly on Balancer.
- Stable coins. Pegged to 1 USD. (USDC, DAI, USDT) – Value of 10.
- Ethereum or LST. Pegged to WETH plus bearing yield. rETH, wstETH etc. - Value of 5.
- veBAL wrapper, limited to auraBAL, sdBAL, and tetuBAL currently. - Value of 1.
Secondly, what is the credibility of the protocol? To not make this a subjective measure, we must define it based upon the protocol’s governance token circulating market cap, showing their overall adoption in Defi to be determined as reputable. There can be flexibility in this rule in the case of major adoption of for example a stable coin or LST which has a small governance market cap, however we must leave exceptions for open discussion on individual forum posts.
Project Tiers:
- Highly reputable - CMC > $50 MM (30)
- Middle tier - $25MM < CMC < $50MM (20)
- Low tier – CMC < $25MM (10)
Lastly, we can consider the total value within a pool. As a pool deepens in liquidity on Balancer, users should have more trust in their ability to enter and exit the pool. This liquidity depth strengthens the peg of the token regardless of classification, and the DAO can feel more confident with its ability to stay within the desired 1:1 window.
Total Value tiers:
- High depth- TVL > $50 MM (10)
- Middle depth - $25MM < TVL < $50MM (5)
- Low depth – TVL < $25MM (1)
Amplification Parameter Framework Tables
Stablecoin Pools
Project vs. TVL | CMC > $50MM | $25MM < CMC < $50MM | CMC < $25MM |
---|---|---|---|
TVL > $50MM | 3,000 | 2,000 | 1000 |
$25M < TVL < $50M | 1500 | 1,000 | 500 |
TVL < $25M | 300 | 200 | 100 |
Liquid Staking Derivative Pools
Project vs. TVL | CMC > $50MM | $25MM < CMC < $50MM | CMC < $25MM |
---|---|---|---|
TVL > $50MM | 1,500 | 1,000 | 500 |
$25M < TVL < $50M | 750 | 500 | 250 |
TVL < $25M | 150 | 100 | 50 |
veBAL Liquid Wrappers
Project MC vs. TVL | CMC > $50MM | $25MM < CMC < $50MM | CMC < $25MM |
---|---|---|---|
TVL > $50MM | 300 | 200 | 100 |
$25M < TVL < $50M | 150 | 100 | 50 |
TVL < $25M | 30 | 20 | 10 |
Conclusion
This framework is meant to serve as a bearing for any teams who interact with Balancer Composable Stable Pools in the present and future. There will always be edge cases where a higher or lower value is warranted, and we will work through those cases as they come. Discussion on the forum for each individual project to best navigate their pool parameters with the DAO when requesting a gauge is the way Balancer has and should continue to operate. By adopting a framework, we as a community can better protect ourselves and our users from intentional or unintentional bad outcomes for liquidity providers, and thereby uphold our reputation to the highest degree.
I invite anyone from the community to provide feedback on this for us to land at an agreed upon approach. When we do reach a consensus, or if this framework is sufficient, I suggest we perform a governance vote to refer to the final form when any new stable pool proposes to ask for a gauge.