An SVG of an eye

Proposal overview

Adjust interest rate to account for APY over-approximation

Executed

Executed on 

Sep 18, 2021

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.

Your voting info

Voting results

YAE

497,071

AAVE

100.00%

NAY

0

AAVE

0%

Top 10 addresses

Votes

State
Executed

Executed on 

Sep 18, 2021
Quorum
Reached
Current votes

Required

497.07K

320.00K

Differential
Reached
Current differential

Required

497.07K

80,000.00

Total voting power

16,000,000

Proposal details

Created

Block

13 Sep 2021, 20:20 UTC +00:00

13219514

Started

Block

13 Sep 2021, 20:20 UTC +00:00

13219514

Ended

Block

16 Sep 2021, 20:20 UTC +00:00

13238714

Executed

18 Sep 2021, 19:04 UTC +00:00

Author

Ahmed Naguib Aly (@ahnaguib)