KVORUM
aaveSource: Aave governor v2 · #32

Adjust interest rate to account for APY over-approximation

canceledSep 12, 2021, 08:20 AM UTCby320x32a9…fb2c

01Summary

AISummary by Kvorumclaude-haiku-4-5

Update AMPL market interest rate parameters to correct for an over-approximation in compounded interest computation. Change optimal utilization to 80%, base rate to 1%, slope1 to 2%, and slope2 to 750% to create a more suitable exponential interest curve that prevents sustained 100% utilization.

Type
parameter change

Key changes

  • Correct interest rate calculation by adjusting slope2 from 10,000% to 750% to account for over-approximation in compounded interest computation(high)
  • Increase optimal utilization rate to 80% from implied lower rate(high)
  • Implement exponential curve for interest rate calculation better suited for AMPL market(high)
  • Set base rate to 1% and slope1 to 2% as part of new interest strategy parameters(medium)

Notable concerns

  • The over-approximation in interest calculation causes exponential deviation at high APYs, potentially affecting borrowers at high utilization rates
  • AMPL market can reach 100% utilization with extremely high APYs (186,210% at 100% utilization) which may create market instability
  • AAVE Genesis team guidance on the discrepancy is pending
Contracts0x17ec6a7044c5b665d304126a96d8affca440715c
Generated by Kvorum
model: claude-haiku-4-5
provider: anthropic
profile: anthropic-fast-v1
prompt: v1.0
generated: 2mo ago
Read the description ↗

02Description

393 words

Simple Summary

  • Update interest rate on AMPL market to account for over-approximation in compounded interest computation.
  • Make use of the exponential curve due to the over-approximation to set higher max APY.

Motivation

In AAVEs MathUtils an over-approximation in the application of the interest rate for computing compounded interest was discovered.

In calculateCompoundedInterest method

Periodic rate (per second) is computed as:

uint256 ratePerSecond = rate / SECONDS_PER_YEAR;

in comparison to the exact computation.

|281x35

derived from:

|269x48

The deviation in the applied interest rate causes a small over-approximation for APYs <10%, but grows exponentially as can be seen below.

Expected APYEffective APYExpected daily rateEffective daily rate
4.00%4.08%0.01%0.01%
5.00%5.13%0.01%0.01%
10.00%10.52%0.03%0.03%
50.00%64.87%0.11%0.14%
100.00%171.83%0.19%0.27%
200.00%638.91%0.31%0.55%
1000.00%2202543.09%0.68%2.78%
10000.00%2.69E+43%1.30%31.52%

This difference is especially noticeable in the AMPL market, where the configured interest rate can go up to 10,002% at max utilization.

The AAVE Genesis team has been made aware and they will publish more guidance on the discrepancy.

Specification

As mentioned in AIP-26, a nonlinear - logistic or exponential - interest curve is more suited for AMPL's market and potentially other assets on AAVE's platform.

The over-approximation mentioned above results in an exponential curve which allows for defining a more suitable interest curve for AMPL. We propose the following parameters, which produces the curve below.

  • Optimal utilization = 80%
  • Base rate = 1%
  • Slope1 = 2%#
  • Slope2 = 750%

|624x384

APY table above 80% Utilization:
UtilizationAPY
80.00%3.05%
81.00%49.93%
82.00%118.15%
83.00%217.40%
84.00%361.82%
85.00%571.94%
86.00%877.67%
87.00%1322.50%
88.00%1969.72%
89.00%2911.43%
90.00%4281.60%
91.00%6275.19%
92.00%9175.85%
93.00%13396.29%
94.00%19536.98%
95.00%28471.63%
96.00%41471.48%
97.00%60386.14%
98.00%87906.81%
99.00%127949.14%
100.00%186210.38%
The part of the curve under 80% Utilization:

|624x325

Rationale

  1. Accounting for the over-approximation of the existing Slope2=10,000% interest curve requires reducing the slope2 parameter.
  2. Taking advantage of the exponential curve allows for: a. Setting a higher optimal utilization rate. b. Setting a higher maximum APY to reduce the potential for utilization being at 100% for extended periods without creating a too steep of an interest rate increase right above the optimal utilization rate.

Implementation

A deployment of the existing implementation of the Interest Strategy will be used, with the following parameters:

optimalUtilizationRate: new BigNumber(0.8).multipliedBy(oneRay).toFixed(),
baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(),
variableRateSlope1: new BigNumber(0.02).multipliedBy(oneRay).toFixed(),
variableRateSlope2: new BigNumber(7.5).multipliedBy(oneRay).toFixed(),

https://etherscan.io/address/0x84d1FaD9559b8AC1Fda17d073B8542c8Fb6986dd#readContract

Copyright

Copyright and related rights waived via CC0.

03Mismatch analysis

AIMismatch analysis by Kvorum

A calldata-vs-description analysis is not generated yet. Review the decoded actions →

04Actions

1 total
#0fallback()chain 0x1
Target
0x17ec…715c
Value
0 wei
Function
fallback()
Arguments
{}
Calldata

05Tally

Summed from votes

Voters0
VP participating0
Outcome (current)—
Current support—

06Voters

0 total

No votes recorded yet.

07Forum

No forum thread is confidently linked to this proposal.