Chaos Labs - Aave V3 Supply Cap Methodology

Overview

Our goal is to mitigate protocol risk by introducing supply caps for all assets on Aave v3 deployments. Our initial batch of recommendations for uncapped assets was conservative, with the primary objective of getting reasonable supply caps deployed in production. This document outlines the Chaos v0 methodology for determining supply caps. The methodology adheres to the guideline suggested by @eboado that when listing a new asset, “the caps are a perfect generalized constraint to cover almost any wide problem for the pool.

Although the assets discussed have been active historically, we believe that recent market events and the short history of supply caps mandate approaching this as the initial supply cap recommendation methodology. The goal is to start with prudent recommendations and incrementally increasing caps as DEX liquidity increases and market volatility stabilizes.

Motivation

  • This is an initial iteration on supply caps, and we welcome community input and feedback.
    • Are there additional risk vectors, metrics, or data that the community would like to consider?
  • As this document and methodology are solidified, it can serve as a guide to list new assets or increase caps for currently listed assets. Transparently sharing the methodology should allow interested parties to source the data and bring it forward as they make various ARCs more pertinent to them.

:bulb: Note: This is the first iteration of the Supply Cap Methodology and aims to promptly provide a solution for the current state of assets across multiple deployments, given the current market instability. Chaos will be iterating over this methodology over the coming weeks, and it is subject to change.

The General Approach

To set the Supply Cap for an asset, we try to answer the question: what is the maximum token value that can be liquidated profitably under extreme scenarios, i.e., when significantly large amounts are being liquidated over a short period? We examine whether the current supply of a given token in Aave V3 eligible for liquidation can be liquidated profitably. We can conclude that if this holds, incurring bad debt is unlikely when assuming healthy and rational liquidator activity. We aim to create a heuristic-based, closed-form formula for answering this question based on current market liquidity while also considering volatility and historical liquidation throughput. Additionally, we want to assess the overall qualitative risk of each asset. Empirically, the Aave Asset Risk Score correlates well with DEX liquidity.

image
AAVE Risk Qualification Criterion

Assumptions for Extreme Scenarios

To estimate the supply cap for a given asset, we assume a token crash that will drive extreme liquidations. We make several assumptions:

  • All supply serves as collateral.
    • This is a very defensive assumption that accounts for a worst-case scenario, and we believe it could be relaxed for future iterations
  • Future crashes are likely to resemble previous crashes in terms of price trajectory
  • Future crashes are likely to resemble previous crashes in terms of liquidity; that is, liquidity provisioning in DEXes will resemble the liquidity in DEXes across previous crashes
  • The distribution of the health factor of accounts that supply this asset will remain similar as the supply grows

Supply Cap Methodology

1. Reference Price Crashes

  • First, we select $n$ historic price crash trajectories {X1…Xn}
  • We denote the token that crashed as R(Xi)
  • The crashed tokens may differ from the tokens for which we wish to determine supply caps. Using the crash pattern as a common baseline, we adjust liquidity according to the specific token; consider these as the Reference Tokens.

image

2. Observe DEX Liquidity During Crashes

  • We then observe token DEX liquidity changes in pools throughout the price crash. Specifically, we’re interested in evaluating the amount that can be sold within a given range of slippage at each point in time. We denote that amount at block t as Amt(t, Slippage), counting the first block of the crash as t=0. Essentially, Amt(t, liquidationPenalty) is the maximum amount of the token that can be sold to the pool by a liquidator at block t, with a constraint that ensures that realized slippage is smaller than the liquidation bonus for the examined asset.
    image

Illustration of the process of recording DEX liquidity levels throughout the price crash (Please note, the numbers used are merely for demonstration purposes)

3. Extrapolate the Maximum amount to be liquidated from DEX Liquidity

After obtaining the price trajectories of crashes and the corresponding DEX liquidity, we perform a sequence of operations individually for each token to determine its supply cap. We refer to it as the examined token.

The sequence of operations we perform for each examined token Token over a price crash scenario of reference token R(Xi) is as follows:

  1. Denote the current supply of the token as Sup(Token)

  2. Denote the AAVE Liquidation Penalty of each token as Pen(Token)

  3. *We derive the liquidity through a correlation between the liquidity amount in DEXes of the reference token, R(X_i), and the examined token at the beginning of the simulation (before the crash) for each slippage %. This is the LiquidityCorrelationFactor. Then we apply this ratio to the liquidity of the reference token at block t.

  4. For each price crash scenario, extrapolate the available liquidity of the examined token across DEXes with slippage equal to Pen(Xi) at block t and denote it as

    Amt(Token, t, Pen(Token)) = Amt(R(Xi),t, Pen(Token) * LiquidityCorrelationFactor(R(Xi), Token, Pen(Token))

    This is the maximum amount that can be liquidated in this block profitably for a liquidator.

  5. Run n simulations of the price trajectories of the examined token with each reference token and for each liquidation record for each block t where liquidation is triggered, the ratio between liquidation amount and available liquidity

    r(Token, t)=LiquidatedAmount(t)/ Amt(t, Pen(Token))

4. Determine the new supply cap

Denote r_m = Max(r(Token(Xi),t))

Finally, set the new supply cap for each token to be equal to Current Supply(Token) / r_m

This is because r_m is the maximum ratio between the liquidated amount with the current supply. By dividing the current supply by the maximum ratio that may be liquidated per block, we achieve the maximum amount that could be liquidated in total and set it as the supply cap for this token.

Price Trajectories of other assets

When we simulate the impact of an extreme price movement scenario on an asset, we must take into consideration the impact it may have on other assets. Usually, when the price of a significant asset plummets, we see the impact on the prices of other assets. The LUNA crash is a good example of this. When examining liquidations, there is significance to the prices of other assets - either those borrowed by suppliers of the examined asset or those that serve as collateral together with the examined asset. We are currently using two behaviors of other assets’ price trajectories:

  1. The first is for significant assets with a market cap larger than $1B. In this case, we assume other assets’ prices will move similarly to how they moved in the referenced price crash.
  2. The second is for market leaders, namely ETH and BTC, where a significant crash of either is likely to cause an overall crash of asset prices. When simulating these scenarios, we project other assets’ prices according to their correlation with ETH/BTC.

Note: We are currently utilizing this methodology for medium-large cap assets. Analysis for low-cap assets will be added in upcoming iterations.

Next Steps

V0 of the Chaos Supply Cap Methodology is conservative by design. When examining future increases in supply caps, there are two primary relaxations we can explore:

  • The assumption that all supply is used as collateral
  • When using r_m, setting the cap as suggested above will likely ensure all liquidatable collateral can be liquidated under the extreme scenario examined. Taking a less conservative approach, we may select r < r_m, considering the risk of bad debt in a worst-case scenario, e.g., if we can tolerate a bad debt of $100K USD, we can reduce r as long as the calculated bad debt is under that limit.
  • The crashed tokens may differ from the tokens we wish to determine supply caps for. Using the crash pattern as a common baseline, we adjust liquidity according to the specific token; consider these as the Reference Tokens.

In future proposals, we will provide the community with recommendations based on the above methodology and risk analysis. In addition, we aim to provide data on alternatives with different risk-reward balances for the community to vote on, given an ever changing risk appetite.

Real-life Examples

Below are initial recommendations which we have calculated using this methodology for assets in the Polygon Market. These recommendations were all made with the assumption of zero bad debt tolerance. As mentioned in the ‘next steps’ section above, this assumptions can be relaxed in future proposals given a community preference for different risk-reward balance.

1. Polygon Market / WMATIC

Price Trajectories of all assets during the MATIC crash

image

MATIC Liquidated Amount vs. Liquidity in DEX Pools

The top chart shows the liquidity in DEX pools and the eligible amount for liquidation and the bottom chart shows the ratio between the amount eligible for liquidation and the maximum amount of MATIC that can be sold in DEXes with slippage below the liquidation penalty (r)

Liquidatable Amount - the amount of MATIC eligible for liquidation throughout the simulation

Max Dump Under Penalty - the maximum amount of MATIC that can be sold in DEXes with slippage below the liquidation penalty
image

The ratio between amounts eligible for liquidation and the liquidity in pools

The chart below shows a histogram of the ratio between the amount eligible for liquidation and the maximum amount of MATIC that can be sold in DEXes with slippage below the liquidation penalty (r).
image

Supply Cap Recommendation

The current supply cap is displayed for reference only

r Recommended Supply Cap Current Supply Cap Estimated Bad Debt
0.36 47M 32.88M 0

2. Polygon Market / LINK

Price Trajectories of all assets during the LINK crash

image

LINK Liquidated Amount vs. Liquidity in DEX Pools

The top chart shows the liquidity in DEX pools and the eligible amount for liquidation and the bottom chart shows the ratio between the amount eligible for liquidation and the maximum amount of LINK that can be sold in DEXes with slippage below the liquidation penalty (r)

Liquidatable Amount - the amount of LINK eligible for liquidation throughout the simulation

Max Dump Under Penalty - the maximum amount of LINK that can be sold in DEXes with slippage below the liquidation penalty
image

The ratio between amounts eligible for liquidation and the liquidity in pools

The chart below shows a histogram of the ratio between the amount eligible for liquidation and the maximum amount of LINK that can be sold in DEXes with slippage below the liquidation penalty (r).
image

Supply Cap Recommendation

The current supply cap is displayed for reference only

r Recommended Supply Cap Current Supply Cap Estimated Bad Debt
0.37 400k 297,640 0

Feedback

We have already been contacted by community members and token teams looking to understand what levers are important for supply (and borrow) caps to democratize the process for the proposition of changes. We encourage the community to converge around a standard to determine these parameters so that these groups can have more transparency moving forward.

We welcome all feedback on the proposed methodology and ideas on how to enhance it.

9 Likes