[ARC] BAL Interest Rate Curve Upgrade


title: [ARC] BAL Interest Rate Curve Upgrade
Author: @Llamaxyz @MatthewGraham @scottincrypto
Dated: 2022-10-29


Simple Summary

@Llamaxyz presents a proposal to amend BAL interest rate parameters and enable borrowing of BAL on the Aave Ethereum v2 Liquidity Pool.

Abstract

There is currently a high demand for borrowing BAL (interest rate = 19.9%), but the pool has poor capital efficiency with the utilization of the Reserve (47.0%), being near the Optimal point of 45%, [1].

By changing the interest rate curve and enabling borrowing, this proposal is expected to improve capital efficiency of the Reserve, generate more revenue for the DAO and significantly reduce the amount of free BAL in the Reserve.

Due to the ongoing incentives offered by Aura Finance, any increase in deposits is expected to be borrowed due to the high demand for BAL. Users are able to borrow and deposit BAL into Aura Finance’s staking contract to earn a yield of around 60% at the time of writing, [2]. This creates an arbitrage opportunity of 41% taking into account the liquidation risk, auraBAL pag and Aura Smart Contract risk.

Motivation

Users are expected to continue borrowing BAL to earn yield whilst interest rates permit and, in doing so, will create ongoing borrowing demand for BAL. Changing the interest rate curve by amending the Uoptimal parameter from 45% to 80% will improve the capital efficiency of the Reserve by enabling a greater portion of the BAL to be borrowed at the Optimal point than currently offered.

The chart below shows the 6 month historical BAL interest rate. The interest rate at the current Optimal point is 7%, which is low relative to current demand of 19.9%. This proposal recommends increasing the interest rate (slope 1 parameter) to 14% which is a 100% increase to the existing rate. Over time, we will be able to monitor the Reserve and amend the slope 1 parameter in an attempt to keep the utilization beneath the Optimal point for the majority of the time.

In addition, this proposal introduces a base rate of 2% and changes slope 2 from 300 to 150. This means at 0% utilization, the interest rate for borrowers is 2% and the gradient post-Optimal point is reduced, resulting in a less volatile interest rate for users with increasing utilization. The result will be a BAL interest rate similar to the SNX interest rate curve which has a base 3%, slope 1 12% and slope 2 100%.

The graphic below shows the changes in the interest rate.

Utilization of the liquidity in the Reserve is expected to increase from 45% → 73.33% assuming users pay an interest rate of 13%, which is less than the current borrowing rate of 19.9%. With a borrowing cost of 14% at the Optimal point, depositing BAL into Aura Finance’s auraBAL staking contract or B-80BAL-20wETH / auraBAL gauge will remain lucrative for users.

Assuming the BAL Reserve remains at $3.62M, the revenue generated at the Optimal point for the DAO will increase from $20.8k to $75.3k, or 230%. The Reserve utilization increases from 45% to 80%, which reduces the amount of unused BAL by 63.6%. This will provide a significant increase in capital efficiency and reduce the unutilized BAL to $724k.

In order to enable users to access the BAL in the Reserve and realize the improved capital efficiency, borrowing is to be enabled. The high borrowing demand is due to users depositing BAL into Aura Finances contracts that then supply liquidity to the B-80BAL-WETH pool or depositing directly in Balancer pools, [3]. During the last 7 days of October, 100% of the borrowed BAL was deposited into Aura Finance.

The improved capital efficiency of the BAL Reserve is expected to lead to an increase in BAL liquidity on-chain. The more on-chain liquidity there is, the more expensive it is to manipulate an oracle feed.

Specification

The below table shows the current and proposed changes to the BAL Reserve.

Parameter Current (%) Proposed (%)
Uoptimal 45 80
Base 0 2
Slope1 7 14
Slope2 300 150
Reserve Factor 20 20
Borrowing Disabled Enabled

References

[1] Aave - Open Source Liquidity Protocol
[2] https://app.aura.finance/
[3] WeightedPool2Tokens | Address 0x5c6ee304399dbdb9c8ef030ab642b10820db8f56 | Etherscan
[4] Creative Commons — CC0 1.0 Universal

Copyright

Copyright and related rights waived via CC0, [4].

6 Likes

BAL and others assets were disabled borrowing in both Aave V2 Mainnet and Aave Polygon V2 and V3 markets, via governance proposal 10 days ago at 21th of October of 2022, as a precautionary measure to prevent price manipulations attacks.

I would recommend to check with Risk community members before enabling the possibility to borrow BAL. @Pauljlei @omergoldberg @Alex_BertoG

You can read more about it here: [ARC] Price Manipulation Implications on Aave: October 2022 - #13 by Pauljlei
On-chain Proposal that disabled BAL borrowing: Aave - Risk Parameter Updates for Aave V2 ETH (2022-10-21)

5 Likes

another proposal benefitting ur bags:

[BIP-78] Delegate Aave Holding to Llama - Governance - Balancer

the DAO just paused - and now an unpause and incentivizing more borrowing.

i’m watching.

1 Like

As a slight correction of the above - the proposal only disabled borrowing on Ethereum, added supply/borrow caps to polygon v3, and didn’t change anything on polygon v2.


That said, I think it’s reasonable to explore increased capital efficiency for BAL (ofc while considering risk implications). Looking forward to see how this proposal evolves.

I understand your (@Llamaxyz’s) desire to reinstate BAL borrowing on Ethereum.

There is demand, but I am hesitant about this quick reversal from the recent risk decision.

We support enabling only if risk managers deem the assets’ risk to the protocol has been subdued.


FWIW - BAL had 228 distinct borrows for a total of $45,494,194 on V2.

BAT (another asset disabled) had 440 distinct borrowers for $29,886,733.

REN was greater for USD borrowed but will exclude as it was subject to social media manipulation.

2 Likes

Hi Everyone,

The intent of this proposal is to have a discussion around a specific asset listed on the Ethereum v2 market. BAL is a strategic asset for the Aave community and Enabling Borrowing is worthy of further consideration beyond the prompt “an abundance of caution” initial reaction.

In the last 7 days and 30 days,100% and 42.6% of the BAL borrowing respectively is being used to increase BAL liquidity. The more BAL that is borrowed on Aave, the more on-chain BAL liquidity there is. The more liquidity there is, the more expensive it is to manipulate the Chainlink Oracle.

By increasing the utilisation within the BAL Reserve, the amount of BAL that can be borrowed is reduced. It appears, that having a lot of excess liquidity in the Reserve is a key requirement for manipulating the oracle feed.

If we look back over this thread, there is very little analysis shared with the community. Now that the market is safe, it is very reasonable to ask for a more detailed quantitative analysis to be shared on the forum. It would be greatly appreciated if one of the three risk teams supporting the market can share a quantitative approach to how the oracle could be affected.

Interestingly, Aave will be voting on a proposal to purchase 100K of BAL tokens on market soon and then again to deposit BAL + wETH into B-80BAL-20wETH pool. In both instances, more liquidity for BAL is a good thing for Aave.

Thanks very much, @MatthewGraham and @Llamaxyz, for the proposal. Below we provide a preliminary analysis on the market risk side to help the community reach a decision around the risk/reward tradeoffs.

Similar to testing for technical bugs, Gauntlet’s price manipulation analysis contains sensitive information in which we cannot disclose many details. Our analysis quantifies the cost of a manipulation attack (similar to the Mango squeeze), and we recommend parameter changes to assets depending on risk thresholds.

Gauntlet continues to recommend not re-enabling BAL borrowing on the V2 ETH marketplace. Although there may be additional liquidity (to reduce the likelihood of price manipulation attack) if borrowing was enabled, more clarity is needed on the quantitative impact that this additional liquidity would have on increasing market depth for the asset.

However, we note that there are significantly more risk controls on Aave V3 ETH (once the market is launched). The community may wish to consider waiting to implement IR curve changes for Aave V3 ETH when the market is launched.

If the community is supportive of implementing IR curve changes to BAL to increase BAL pool utilization, we recommend the community consider implementing the IR model changes to BAL on Aave V3 Polygon instead of Aave V2 ETH. BAL on Aave V3 Polygon has similar interest rate model assumptions to BAL on V2 ETH but has borrow (96.7k BAL) and supply (284.60K BAL) cap mechanisms which the community can update based on market usage.

However, we would point out that there can be risks associated with having different BAL interest rate curves between V2 ETH and V3 Polygon markets. Here is a description of the risk:

  • If BAL on V3 Polygon supply yields become very attractive due to high utilization, supply from V2 ETH BAL market could theoretically move to V3 Polygon market.
  • If BAL borrow balance remains constant on V2 ETH because users don’t pay back their positions, then this may lead to very high utilization on the V2 ETH BAL market.
  • The high utilization could possibly prevent suppliers from withdrawing collateral and increase the risk of failed atomic liquidations. The interest rate curve on the V2 ETH market should pressure utilization downwards by creating incentives for either potential suppliers to supply more collateral or borrowers to pay back their debt. But these user actions are difficult to predict.

Although the borrow rate on V3 Polygon is currently higher than V2 ETH, and users have not migrated their positions cross-chain yet, we cannot definitively conclude that users are inelastic. It may be the case that, over time, users will migrate their positions.

In order to accomplish the objectives of 1) increase BAL pool utilization to increase revenue on V3 Polygon, and 2) protecting the V2 ETH market once the V3 Polygon market has stronger utilization, it may also be best to make certain IR curve changes on V2 ETH (e.g, increase the max borrow rate at high utilization) to prevent high utilization of V2 ETH market (if parameter changes are made to the V3 Polygon market).

2 Likes

Hi @Pauljlei,

Thank you for the feedback. It is a shame Gauntlet can not articulate any quantitative assessments into the economic viability of the attack vector.

Let’s pivot the conversation slightly, with a more constructive flavour and focus on what requirements are needed to re-enable borrowing of BAL on Ethereum v2. Can Gauntlet please advise the following:

  1. How much BAL liquidity is needed in order to re-enable BAL borrowing on the Ethereum v2 liquidity pool ?

In addition, can we please confirm the following is included within the Gauntlet models ?

a) B-80BAL-20WETH is locked in a voting escrow contract ?

This means BAL liquidity is locked and will not exhibit the volatility experienced by other listed assets during volatile market conditions as the liquidity can not be freely removed. This is especially the case for auraBAL, tetuBAL and sdBAL.

I do intend on updating the BAL, CRV, CVX and ETH Interest Rate parameter across all affected markets in time. This BAL proposal was viewed as the highest impact and more sensitive opportunity. I hoped to carry forward the lessons here onto other proposals.

I really appreciate the feedback and would encourage Gauntlet to pivot communication towards helping others learn what conditions are required in order to enable the intent of the post being achieved. Unfortunately, the current response doesn’t enable others to constructively contribute to resolving the concerns. If I knew how much liquidity was needed, I would be able to work on sourcing that liquidity. Without any indication/insight into Gauntlet’s model, this becomes a harder challenge as I don’t know if we are an order of magnitude or a slight increase in liquidity away from enabling borrowing…

To give an example, if Aave DAO was to provide around $2.5M of BAL/WETH liquidity, would this make any difference to analysis ?

The chart below shows the supply of B-80BAL-20WETH is increasing over time. Circling back to point 1) above, when do we have enough liquidity to enable borrowing ?

Hey all, Chaos has been running simulations over the past few days and agrees that it is still too risky to reinstate BAL borrowing on Ethereum v2.

@MatthewGraham - as you pointed out the core concern lies in the liquidity - or lack thereof - which makes such an attack viable and profitable under various (current) market conditions.

Our price manipulation risk model takes into consideration inputs such as:

  • Attacker Deployed Capital
  • Target Price Pump
  • Real-time data on centralized and on-chain liquidity, spot and derivative markets and more
  • Attacker realized profit

Out of caution, we agree with @Pauljlei - it is better to be prudent on the forums when disclosing the finer details of such models. The model outputs a valuable analysis that can be used as a framework for malicious actors to determine optimal conditions for executing such an attack.

However, the Mango squeeze is a reality and an attack vector that will always exist for low-liquidity assets. v3 supply caps give us better tools to address this and avoid binary disablement of asset borrowing. Even then, clarity is required on how these risks are quantified and ultimately used to asses and propose parameters such as supply cap.

Over the next few weeks, we’ll be proposing standard terminology and risk metrics to help the community align on tradeoffs between capital efficiency and economic risk. Additionally, we’ll be sharing the Chaos Price Manipulation Tool (to the extent possible). Until then - we are happy to connect with Llama to provide insights from our simulations/tools of the required liquidity (certainly more than what’s currently in the market) to reinstate Balancer borrowing; while addressing the risk of an economic exploit.

3 Likes

title: [ARC] BAL Interest Rate Curve Upgrade
Author: @Llamaxyz @MatthewGraham @scottincrypto
Dated: 2022-11-05


Simple Summary

@Llamaxyz presents a proposal to amend BAL interest rate parameters on the Aave Ethereum v2, Ethereum v3 (when deployed), Polygon v3 and Polygon v2 Liquidity Pools.

Abstract

There is currently a high demand for borrowing BAL (interest rate = 56.52% on Polygon v3) across all Reserves. The BAL liquidity pools offer poor capital efficiency, with the utilization of the Reserve (51.93% on Polygon v3) often near the Optimal point of 45%, [1].

By changing the interest rate curve across all three active Liquidity Pools, this proposal is expected to improve capital efficiency by lowering interest rates on markets where borrowing is disabled and enticing capital to move to where borrowing demand generates an attractive yield. This is expected to generate more revenue for the DAO and significantly reduce the amount of free BAL in aggregate across the Reserves.

Due to the ongoing incentives offered by Aura Finance, any increase in deposits is expected to be borrowed due to the high demand for BAL. Users are able to borrow and deposit BAL into Aura Finance’s staking contract to earn a yield of around 60% at the time of writing, [2]. This creates an arbitrage opportunity of 41% taking into account the liquidation risk, auraBAL pag and Aura Smart Contract risk.

Motivation

Users are expected to continue borrowing BAL to earn yield whilst interest rates permit and, in doing so, will create ongoing borrowing demand for BAL. Changing the interest rate curve by amending the Uoptimal parameter from 45% to 80% will improve the capital efficiency of Reserves. However, with borrowing disabled on some Aave deployments, lending rates will drop and it is rational for profit driven actors to transition liquidity to the Reserve that offers the greatest yield.

The three charts below show the most recent 5 month historical BAL interest rate across each BAL Reserve. The interest rate at the current Optimal point is 7%, which is low relative to current demand of 56.52% on Polygon v3. This proposal recommends increasing the interest rate (slope 1 parameter) to 14% which is a 100% increase to the existing rate. Over time, we will be able to monitor the Reserve and amend the slope 1 parameter in an attempt to keep the utilization beneath the Optimal point for the majority of the time.

In addition, this proposal introduces a base rate of 2% and changes slope 2 from 300 to 150. This means at 0% utilization, the interest rate for borrowers is 2% and the gradient post-Optimal point is reduced, resulting in a less volatile interest rate for users with increasing utilization. The result will be a BAL interest rate similar to the SNX interest rate curve which has a base 3%, slope 1 12% and slope 2 100%.

The graphic below shows the changes in the interest rate.

Utilization of the liquidity in the Reserve is expected to increase from 45% → 73.33% assuming users can borrow BAL and are willing to pay an interest rate of 13%, which is less than the current borrowing rate of 56.52%. With a borrowing cost of 14% at the Optimal point, depositing BAL into Aura Finance’s auraBAL staking contract or B-80BAL-20wETH / auraBAL gauge will remain lucrative for users.

The improved capital efficiency of the BAL Reserve is expected to lead to an increase in BAL liquidity on-chain. The more on-chain liquidity there is, the more expensive it is to manipulate an oracle feed. Going forward, the SupplyCap and BorrowCap on the Polygon v3 deployment may need to be increased to support the market. If required, this will be addressed via a separate proposal.

With respect to the Polygon v3 deployment, assuming the BAL Reserve remains at $2.06M, the revenue generated at the Optimal point for the DAO will increase from $13.0k to $42.3k, or 230%. The Reserve utilization increases from 45% to 80%, which reduces the amount of unused BAL by 63.6%. This will provide a significant increase in capital efficiency and reduce the unutilized BAL to $412k.

The below shows the distribution of how users utilized the BAL borrowed on Aave v2 Ethereum before borrowing was disabled. Since then the cost of borrowing BAL has dropped from around 20% to 6.7% on Ethereum v2 and increased from 9.8% to 56.6% which shows the significance of being able to borrow BAL.

Specification

The below table shows the current and proposed changes to the BAL Reserve on Ethereum v2, Polygon v2 and Polygon v3.

Parameter Current (%) Proposed (%)
Uoptimal 45 80
Base 0 2
Slope1 7 14
Slope2 300 150
Reserve Factor 20 20

References

[1] Aave - Open Source Liquidity Protocol
[2] https://app.aura.finance/
[3] WeightedPool2Tokens | Address 0x5c6ee304399dbdb9c8ef030ab642b10820db8f56 | Etherscan
[4] Creative Commons — CC0 1.0 Universal

Copyright

Copyright and related rights waived via CC0, [4].

2 Likes

I find it concerning that our Treasury contributors seem to ignore the comments of the Risk contributors to the DAO. There is a reason these roles are separated in most businesses, as there is always going to be a conflict between risk management and those taking risks to generate returns.

Risk assessments of this nature seem beyond the scope of the agreed work with the DAO, which specifically removed Risk Parameter Amendments from the scope of work, and instead made clear this work would be limited to providing a qualitative risk analysis report on the forum that details the initial risk parameters and specifically
Adopt any risk parameters suggested by Gauntlet, provided borrowing is enabled at launch

2 Likes

Thanks, @bayesiangame for helping direct the community’s attention toward the risk implications of this proposal and others.

Gauntlet is analyzing the market risk implications of this proposal and will return to the forums, targeting within 2 weeks.

1 Like