[ARFC] 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] Balancer: B-80BAL-20WETH Token | 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: [ARFC] BAL Interest Rate Curve Upgrade
Author: @Llamaxyz @MatthewGraham @scottincrypto
Dated: 2022-12-17 (updated)


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 = 28.18% on Polygon v3) across all Reserves. The BAL liquidity pools offer poor capital efficiency, with the utilization of the Reserve (48.27% on Polygon v3) often near the Optimal point of 45%.

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 generate significant capital efficiency within the BAL Reserves.

Due to the ongoing incentives offered by Aura Finance, any new deposits are expected to be borrowed. Users are able to borrow and deposit BAL into Aura Finance’s staking contract to earn a yield of around 45% at the time of writing. This creates an arbitrage opportunity of 16.82% taking into account the liquidation risk, auraBAL peg and additional 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 28.18% 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 3% and changes slope 2 from 300 to 150. This means at 0% utilization, the interest rate for borrowers is 3% 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 28.18%. 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. If the utilization exceeds the Uoptimal point, a follow up proposal will propose increasing the interest rate further.

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. Based upon the @ChaosLabs Borrow Cap formula, Llama proposes increasing the Borrow Cap on the Polygon v3 from 96,798.00 units to 256,140.00 units.

With respect to the Polygon v3 deployment, assuming the BAL Reserve remains at $979,230, the revenue generated at the Optimal point for the DAO will increase from $6.17k to $20.4k, 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.

Specification

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

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

The below shows the proposed changes to the Borrow Cap on Polygon v3.

Polygon Parameter Units
Supply Cap 284,600 (no change)
Borrow Cap 256,140

Borrow Cap is calculated:
(Uoptimal + 0.1) x SupplyCap
(0.8+0.1) x 284,600 = 256,140

Copyright

Copyright and related rights waived via [CC0(Creative Commons — CC0 1.0 Universal).

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

Thanks, @Llamaxyz, for revising the initial proposal by implementing interest rate model changes across all BAL liquidity pools in Ethereum v2, Polygon v3, and Polygon v2.

The proposed 14% interest rate at the optimal point is lower than the historical Polygon v3 market’s 30 day average borrow rate of 35% and Aura Finance’s staked auraBAL yield of 60%. Given the Aura staking yield, the breakeven utilization would be approximately 87% based on recommended IR parameters. The breakeven utilization represents the threshold at which the borrowing BAL to mint and stake auraBAL becomes unprofitable.

Polygon v3 BAL Borrow Rate

Gauntlet has concerns that the low optimal interest rate will have the following impact on BAL lending pools:

  • Lending Pool utilization above the optimal point will lead to more volatile interest rates. If interest rates are volatile to small changes in pool utilizations, this has a risk of creating a bad user experience for Aave users. For example, an increase in utilization rate from 80% to 81% would increase the borrower rate by ~680 basis points (6.8%) if Slope 1 rate is set at 14%.
  • High utilization might prevent suppliers from withdrawing collateral and increase the risk of failed atomic liquidations.
  • The propose interest rate curve is not calibrated to manage liquidity risk and optimize utilization. We are concerned that the borrower cap mechanism is the only valve to minimize liquidity risk since the optimal point does not act as a deterrent for continued borrowing of BAL.

Gauntlet recommends changing the slope 1 rate to 40% in order to maintain utilization below the optimal point. Breakeven utilization based on staked auraBAL yield would decrease to 83%. The below chart compares Llama’s proposed interest rate curve vs Gauntlet’s 40% adjustment to Slope 2.

Hi @Pauljlei,

You are right, the historical BAL deposit rate exceeds the 14% Slope 1 Interest rate proposed. The current borrow rate is 12.89% and the last week it has been relatively flat. Something to consider is the staked auraBAL yield is decaying, mentioned at 60% in your post but currently 45%. By increasing the Uoptimal value on the BAL reserves, it is reasonable to expect more BAL will find its way into the auraBAL contract. This will help accelerated the current downwards trajectory of auraBAL yield. We draw this conclusion based upon how the Polygon BAL Reserve is currently performing.

We suggests revising the interest rate Slope 1 parameter in stages. An initial 100% increase, then monitor the markets reaction seems more fitting than a 571% increase from 7% to 40%. It is a move in the right direction which we can continue to iterate on and refine based upon how the market responds. Revising the base rate is also something to consider, 3% is a cautious increase and reduces the overall rate of change in borrowing costs across Slope 1 as opposed to having a Base Rate of 0 as we do currently.

As more BAL is deposited into auraBAL the yield from staked auraBAL will fall away. In the proposal, the Uoptimal point is increased from 45 to 80 which will enable significantly more BAL to borrowed within the bounds of the Slope 1 parameter. This will likely lead to the Borrow Cap being reached on Polygon preventing the high volatility borrowing rates from occurring.

We should really expand on this proposal to also increase the Borrow Cap on BAL on Polygon. May we suggest the following which follows the Chaos Labs methodology:

Level 1 Polygon Borrow Cap: 256,140 units of BAL
(Uoptimal + 0.1) x SupplyCap
(0.8+0.1) x 284,600 = 256,140

Reference:
Supply Cap: 284,600
Borrow Cap: 96,798.00
Current Deposits: 173,680
Current Debt: 79,762.78
Proposed Uoptimal: 0.8
80% utilisation of current liquidity: 138,944
80% utilisation of proposed borrow cap: 204,912

As more liquidity flows into auraBAL the yield will reduce. It is currently 45% at the time of writing and is trending lower over time. This is 15% less than mentioned in your comment, which means the 87% utilisation figure was outdated at the time of publication.

Increasing the Slope 1 from 7% to 40% is to drastic a change. It will also need to continually be revised lower over time as the staked auraBAL yield fades. Looking at the image in your comment, it appears we are aligned on changing the Base Rate 0% to 3% and Slope 2 parameter from 300% to 150%. Thank you for commenting on the thread.

1 Like

BAL collateral is at measly 20% on Polygon while on ETH it is at 65%
I would like to see similar LTV on Polygon V2/V3 to entice more BAL depositors

Hi Everyone :wave:

We have created a Snapshot to gauge the communities sentiment towards updating the BAL Interest Rate parameters across Polygon v2, v3, Ethereum v2 and v3 when it is deployed:

https://snapshot.org/#/aave.eth/proposal/0xceb72907ec281318c0271039c6cbde07d057e368aff8d8b75ad90389f64bf83c

Thank you in advance to everyone who participates in the vote.

Hi Everyone :wave:

A quick update, the payload for this proposal has been submitted to @bgdlabs for peer review. The team is working towards having this proposal submitted for voting soon.

The next update will be provided when the AIP is live for voting.

2 Likes