We are excited that projects are building on Balancer. One such project is Tetu with its newly added TetuBAL pools and strategies.
However, it came to our attention that the TetuBAL Stable pool (tetuBal-BPT-80BAL-20WETH Stable Pool) has some configurations set that might cause issues and involves risks for traders interacting with those tokens.
What is the issue / risk?
Trading of correlated assets at Balancer is done via Stable pools. Stable pools operate with a given set of parameters. The most important parameter is the amplification factor (see dev docs for explanations). In short, the amplification factor needs to be set at a specific range to allow optimal operation of a given pool. In the case of the tetuBAL pool, the amplification factor is set to 500 which many believe is outside a healthy range. Check out the pool contract here: StablePool | Address 0xb797adfb7b268faeaa90cadbfed464c76ee599cd | PolygonScan
If the amplification factor is set too high then
- when there is depeg of tetuBAL with 80BAL-20WETH, IL will be accelerated for LPs
- it would take much more capital to to return to peg (make it harder)
- users are therefore at risk of losing (some) funds to the above mentioned scenarios
Additionally, as of writing this RFC, the pool is already heavily tilted towards tetuBAL.
Another concern highlighted to us was bot trading activity happening on this pool as seen in this tx: Polygon Account (Invalid Address)
The entity is
- Taking a flash loan from Aave
- Making a 80/20 BAL-WETH BPT
- Depositing into tetuBAL pool
- Selling for a little less 80/20 BPT, covering the small loss
- Return the flash loan
Because the Amp factor is set to 500, this is a reasonable strategy for accelerating the accumulation of voting power.
What actions could be taken to mitigate that risk?
We would like to propose to reduce the amplification factor from 500 to 50, which would be in line with the auraBAL:80BAL-20WETH pool on mainnet. With this change we would make sure that LPs aren’t exposed to IL and that there remains exit liquidity for users wanting to swap tetuBAL for 80/20 BAL-WETH BPT tokens. Additionally, raising the swap fee to 0.6% (from 0.3%) would mitigate the bot trading activity significantly while protecting LPs.
Next steps
We would like to get clarifications / foster discussion on following points
- What was the rationale in setting the amplification factor to 500?
- What does the community think of setting the factor to a healthier 50?
- What would be the best action moving forward (e.g. leave as is, change, introduce a group to monitor such issues in general)?
We as Maxis want to protect our users while being fully transparent about our intentions. For this reason, this forum post was created to foster discussion around this security risk. As context, Curve has a risk team that would step in and protect its users in such situations. We would highly appreciate it if the relevant parties involved would shed light on the given situation and questions raised and if we can define a strategy moving forward that fits all parties involved.
References
https://docs.balancer.fi/concepts/math/stable-math
https://blaize.tech/article-type/amm-types-differentiations/
https://atulagarwal.dev/posts/curveamm/stableswap/