Chaos Labs Correlated Asset Price Oracle Framework

Summary:

The goal of this framework is to set the relevant parameters concerning the correlated asset price oracle, referring to the expected annual growth of a correlated asset (maxYearlyRatioGrowthPercent), such that we can deter against unexpected, artificial inflation in the underlying staking rate. For example, if an EOA is actively the source for an oracle feed being utilized on Aave, and a malicious actor gains access to this address in an attempt to artificially pump the exchange rate, this could lead to large amounts of bad debt. Thus, in setting this β€œupper bound” regarding the maximum expected growth of the asset over time, we can deter this event from theoretically occurring. In doing so, there are two discrete parameters to derive:

  • maxYearlyRatioGrowthPercent - Expected annual growth of the correlated asset. For example, wstETH growth annually vs ETH, in the form of the underlying ratio scaling over time, normalizing to an annual growth rate calculation. We will formally refer to this parameter as $r_{upper}$ throughout this piece.
  • Frequency of ratioReferenceTime updates - The frequency of the times at which the annual equivalent growth in the asset ratio is measured from, to then calculate the aggregate APY.

Additionally, a new important parameter has been instituted within the implementation:

  • MINIMUM_SNAPSHOT_DELAY - How much β€œin the past” the ratio should be taken from, before the ratioReferenceTime. We elaborate on the exact motivation and derivation behind this parameter later on in this framework.

In this analysis, we aim to adequately tailor parameter values for respective assets, based on the maximum organic rate and rate volatility of the asset, negative market price deviations from the exchange rate, and granularity of reward distribution.

maxYearlyRatioGrowthPercent:

image

Market Price Deviations Between the LST and the Underlying:

image

How are Organic Annual Rates Derived?

image

Motivation Behind MINIMUM_SNAPSHOT_DELAY

image

image

Recommendations with Different MINIMUM_SNAPSHOT_DELAY Values:

image

Screenshot 2024-02-07 at 17.45.53
Untitled - 2024-02-12T121801.966

image

  • note that the cbETH market utilizes the cbETH/ETH market price, not the underlying exchange rate. Thus, do not include the market price deviations.

Screenshot 2024-02-07 at 17.51.31

image

Screenshot 2024-02-07 at 17.53.02
Untitled - 2024-02-12T122004.550

image

Screenshot 2024-02-07 at 20.03.10

Untitled - 2024-02-12T122129.151

image

Screenshot 2024-02-07 at 17.57.46

Untitled - 2024-02-12T122306.374

image

  • We observed an extreme spike in May 2023, due to a withdrawal bug. The rate collapsed to 0 for the two weeks during the bug fix as well. Thus, in our approximation, the rates returned are quite high, with the 14-day MA sufficiently smoothing this out.

Screenshot 2024-02-07 at 17.58.44

Post-bug, we can see that the expected frequency and rate of streamlined rewards are quite consistent with minimal volatility.

Screenshot 2024-02-07 at 17.59.33

Untitled - 2024-02-12T122446.944

image

Screenshot 2024-02-07 at 18.03.24

image

Screenshot 2024-02-07 at 18.09.14

MINIMUM_SNAPSHOT_DELAY Recommendations:

image

ratioReferenceTime Update Frequency:

Given our derivations above, whereby we parameterize according to the MINIMUM_SNAPSHOT_DELAY, there is no theoretical risk of frequent ratioReferenceTime updates. However, on the contrary, a lagging ratioReferenceTime during an organic rate spike would be suboptimal. Therefore, we recommend a monthly update frequency, as it allows us a reasonable amount of time to realize an uptick in the staking rate trend while defending against stark manipulation.

Stablecoins:

As there is no expected growth in the underlying asset to approximate, the only parameter in need of setting is the price cap, which we will call $c_{upper}$. We elaborate on this element below.

LUSD:
image

All other Stablecoins (USDC/USDT/DAI Cross-chain Wrappers, etc):

image

Recommendations

Ethereum

Asset MINIMUM_SNAPSHOT_DELAY ratioReferenceTime maxYearlyRatioGrowthPercent Price Cap
wstETH 7 days monthly 8.72% N/A
rETH 7 days monthly 7.5% N/A
cbETH 7 days monthly 8.10% N/A
sDAI 7 days monthly 10.15%, subject to native governance underlying DAI
sFRAX (for future reference) 7 days monthly 7.1%, subject to native governance N/A
LUSD N/A N/A N/A 10%
USDC N/A N/A N/A 4%
USDT N/A N/A N/A 4%
DAI N/A N/A N/A 4%
crvUSD N/A N/A N/A 4%
FRAX N/A N/A N/A 4%

Aribturm

Asset MINIMUM_SNAPSHOT_DELAY ratioReferenceTime maxYearlyRatioGrowthPercent Price Cap
wstETH 7 days monthly 8.72% N/A
rETH 7 days monthly 7.5% N/A
LUSD N/A N/A N/A 10%
USDC N/A N/A N/A 4%
USDC.e N/A N/A N/A 4%
USDT N/A N/A N/A 4%
FRAX N/A N/A N/A 4%
USDC.e N/A N/A N/A 4%

Optimism

Asset MINIMUM_SNAPSHOT_DELAY ratioReferenceTime maxYearlyRatioGrowthPercent Price Cap
wstETH 7 days monthly 8.72% N/A
rETH 7 days monthly 7.5% N/A
LUSD N/A N/A N/A 10%
USDC N/A N/A N/A 4%
USDC.e N/A N/A N/A 4%
USDT N/A N/A N/A 4%
sUSD N/A N/A N/A 4%
DAI N/A N/A N/A 4%
EURS N/A N/A N/A 4%

Polygon

Asset MINIMUM_SNAPSHOT_DELAY ratioReferenceTime maxYearlyRatioGrowthPercent Price Cap
wstETH 7 days monthly 8.72% N/A
MaticX 14 days monthly 7.98% N/A
stMATIC 14 days monthly 8.85% N/A
USDC N/A N/A N/A 4%
USDC.e N/A N/A N/A 4%
USDT N/A N/A N/A 4%
agEUR N/A N/A N/A 4%
DAI N/A N/A N/A 4%

Avalanche

Asset MINIMUM_SNAPSHOT_DELAY ratioReferenceTime maxYearlyRatioGrowthPercent Price Cap
sAVAX 14 days monthly 8.25% N/A
USDC N/A N/A N/A 4%
USDT N/A N/A N/A 4%
DAI.e N/A N/A N/A 4%
FRAX N/A N/A N/A 4%

Metis

Asset Price Cap
m.USDC 4%
m.USDT 4%
m.DAI 4%

Base

Asset MINIMUM_SNAPSHOT_DELAY ratioReferenceTime maxYearlyRatioGrowthPercent Price Cap
wstETH 7 days monthly 8.72% N/A
cbETH 7 days monthly 8.10% N/A
USDC N/A N/A N/A 4%
USDbC N/A N/A N/A 4%

Gnosis

Asset MINIMUM_SNAPSHOT_DELAY ratioReferenceTime maxYearlyRatioGrowthPercent Price Cap
wstETH 7 days monthly 8.72% N/A
USDC N/A N/A N/A 4%
sDAI 7 days monthly 10.15%, subject to native governance underlying DAI
EURe N/A N/A N/A 4%
xDAI N/A N/A N/A 4%

BNB

Asset Price Cap
USDT 4%
USDC 4%
FDUSD 4%
2 Likes

Recommendation Update:
Our original analysis assumed that cbETH would not be using the underlying exchange rate to price the LST, as it is priced according to the market price today. However, with the integration of CAPO, cbETH is expected to be using the exchange rate.
Thus, we have updated our recommendation for maxYearlyRatioGrowthPercent for cbETH from 6.75% to 8.1%, accounting for historical market price deviations.

Specification

Gauntlet and Chaos have aligned on joint recommendations for CAPO parameters.

The CAPO parameter recommendations are consistent across chains for each asset, leading us to present these recommendations on a per-asset basis while noting the chains where each asset is listed. The total number of LST recommendations across chains amounts to 17, and for stablecoins, it totals 38, culminating in 55 CAPO recommendations altogether.

LSTs

Asset Minimum Snapshot Delay Ratio Reference Time Max Yearly Ratio Growth Percent Price Cap Ethereum Arbitrum Optimism Polygon Avalanche Gnosis Base Metis BNB Total Chains
wstETH 7 days monthly 8.72% N/A βœ“ βœ“ βœ“ βœ“ βœ“ βœ“ 6
rETH 7 days monthly 7.46% N/A βœ“ βœ“ βœ“ 3
sDAI 7 days monthly 10.15% underlying DAI βœ“ βœ“ 2
cbETH 7 days monthly 7.04% N/A βœ“ βœ“ 2
sFRAX 7 days monthly 6.9% N/A βœ“ 1
MaticX 14 days monthly 7.98% N/A βœ“ 1
stMATIC 14 days monthly 8.85% N/A βœ“ 1
sAVAX 14 days monthly 7.4% N/A βœ“ 1

Stablecoins

Asset Price Cap Ethereum Arbitrum Optimism Polygon Avalanche Gnosis Base Metis BNB Total Chains
USDC 2% βœ“ βœ“ βœ“ βœ“ βœ“ βœ“ βœ“ βœ“ 8
USDT 2% βœ“ βœ“ βœ“ βœ“ βœ“ 6
USDC.e 2% βœ“ βœ“ βœ“ 3
m.USDC 2% βœ“ 1
m.USDT 2% βœ“ 1
agEUR 2% βœ“ 1
EURS 2% βœ“ 1
USDbC 2% βœ“ 1
EURe 2% βœ“ 1
FDUSD 2% βœ“ 1
DAI 3% βœ“ βœ“ βœ“ 3
m.DAI 3% βœ“ 1
xDAI 3% βœ“ 1
DAI.e 3% βœ“ 1
FRAX 4% βœ“ βœ“ βœ“ 3
LUSD 4% βœ“ βœ“ βœ“ 3
sUSD 4% βœ“ 1
crvUSD 4% βœ“ 1

LST Analysis

maxYearlyRatioGrowthPercent

Screen Shot 2024-02-21 at 3.35.12 PM

sAVAX

image

MaticX

image

stMatic

image

Using the Methodology above

For wstETH, cbETH, sDAI, sFRAX:

Screen Shot 2024-02-21 at 3.33.57 PM

For assets with varying degree of reward distribution/or having history of highly volatile APY (eg -rETH, sAVAX, stMatic, and MaticX) :

Screen Shot 2024-02-21 at 3.33.03 PM

ratioReferenceTime Update Frequency

We recommend setting the ratioReferenceTime time frequency to monthly. We also note that reducing the frequency of ratioReferenceTime updates to 21 days equally captures the upticks of organic growth rate while not breaching the maxYearlyGrowthRatioPercent, this could be translate for better UX for users on the platform in cases of sustained organic increase in APYs.

wstETH

image

rETH

image

cbETH

image

sFrax

image

Stablecoin Analysis

Setting price caps for stablecoins comes with both advantages and disadvantages.

Setting a stablecoin’s price cap to 0% can cause utilization spikes during short-lived upward depegs. However, the majority of stablecoin suppliers do not borrow against their supply, and therefore high utilization should not significantly hinder those liquidations. Additionally, the vast majority of volatile asset suppliers borrow stablecoins against their positions. An increase in the price of the stablecoins during a market downturn could trigger more liquidations, which would add risk and negatively impact UX if the upward depeg is short-lived.

Conversely, stablecoins like LUSD, which have traded at a 4-5% premium for extended periods, may not benefit from a 0% cap. Mispricing an asset away from its market value can deter liquidators, a crucial consideration for maintaining market stability. Granted, if the community anticipates that certain stablecoins will persistently trade at a premium, it might be prudent to freeze and potentially delist these to safeguard against long-term risks and enhance asset quality on platforms like Aave.

Given these considerations, for fiat-backed stablecoins, expected to maintain a peg close to $1, we’ve set a 2% price cap, reflecting their lower risk of significant long-term depegging. Non-fiat-backed stablecoins have a 4% cap due to their higher volatility. DAI, with its substantial PSM buffer, is allocated a 3% cap, recognizing its intermediate stability profile.

1 Like

Capo Update

After discussing with BGD, we have collectively determined that the current CAPO maxYearlyRatioGrowthPercent recommendations should be further optimized to allow a larger buffer. As such, our adjusted formula is the following:

image

Where:

r_{{upper}{init}}* is the initial r{upper} value, and sigma{\hat r} is the β€œday-on-day” daily standard deviation over the last year.

This component is added to account for the frequency of reward distribution practices and its theoretical effect on smoothed exchange rates if the frequency of distribution is altered; for assets with 14-day MINIMUM_SNAPSHOT_DELAY, we add the 3-day aggregate daily SD as the additional term.

Asset Initial Value Adjusted Value
wstETH 8.72% 9.68%
rETH 7.46% 9.3%
cbETH 7.04% 8.12%
stMATIC 8.85% 10.45%
sfrxETH 16%
stEUR 9.26%
sAVAX 7.4% 10.1%
MaticX 7.98% 10.2%
1 Like