Increase Stablecoin Optimal Borrow Rates
01Summary
This proposal modifies stablecoin borrowing parameters across all Aave V2 and V3 pools on multiple chains. The primary change is setting slope1 (base borrow rate) to 5% for all stablecoins (USDC, USDT, LUSD, FRAX, sUSD, DAI, MAI, GUSD, USDP). Additionally, Uopt (optimal utilization) is set to 90% for USDC, USDT, DAI, and FRAX in V3 markets, and RF (reserve factor) is set to 25% for USDC, USDT, and LUSD in Ethereum V2. These changes aim to align Aave's stablecoin rates with broader market conditions and have been approved by both risk providers.
- Type
- parameter change
Key changes
- Set slope1 (base borrow rate) to 5% for stablecoins across all V2 and V3 markets including USDC, USDT, LUSD, FRAX, sUSD, DAI, MAI, GUSD, USDP(high)
- Set Uopt (optimal utilization) to 90% for USDC, USDT, DAI, and FRAX in V3 markets on Ethereum, Polygon, Avalanche, Optimism, Arbitrum, Base, and Metis(high)
- Set RF (reserve factor) to 25% for USDC and USDT in Ethereum V2, and LUSD in Ethereum V2(medium)
Notable concerns
- Changes applied across 10 different contract deployments and multiple blockchain networks, requiring coordinated execution
Generated by Kvorum
02Description
Simple Summary
This AIP propose to modify the parameters of stablecoins across all the Aave pools. Mainly by setting the slope1 to 5%, as well as changing the RF to 25% and Uopt to 90% of some of them.
Motivation
According to research by @monet-supply, the borrowing parameters of the stablecoins on Aave have diverged from the broader market leading to potentials inefficiencies and bad user experience.
Those proposed changes have been approved by both risk providers, with additional suggestion by @Gauntlet.
Stablecoin across all the V2 and V3 markets are concerned by those change. Namely USDC, USDT, LUSD, FRAX, sUSD, DAI, MAI, GUSD, USDP on ethereum (V2 and V3), polygon (V2 and V2), Arbitrum, Gnosis, Optimism, Avalanche (v2 and V3) and Metis. However the changes of RF and Uopt would be more limited, with the Uopt changes being limited to USDC, USDT, DAI and FRAX across all V3s and the RF ones to USDC, USDT and LUSD only for Ethereum V2.
Specification
The following stablecoins would see changes to their parameters: (Blank means no changes)
| Market | Asset | slope1 | Uopt | RF |
|---|---|---|---|---|
| Ethv2 | USDC | 5% | 25% | |
| Ethv2 | USDT | 5% | 25% | |
| Ethv2 | FRAX | 5% | ||
| Ethv2 | sUSD | 5% | ||
| Ethv2 | GUSD | 5% | ||
| Ethv2 | LUSD | 5% | 25% | |
| Ethv2 | USDP | 5% | ||
| --- | --- | --- | --- | --- |
| Ethv3 | USDC | 5% | 90% | |
| Ethv3 | USDT | 5% | 90% | |
| Ethv3 | FRAX | 5% | 90% | |
| Ethv3 | LUSD | 5% | ||
| --- | --- | --- | --- | --- |
| AvaxV2 | USDC | 5% | ||
| AvaxV2 | USDT | 5% | ||
| AvaxV2 | DAI | 5% | ||
| --- | --- | --- | --- | --- |
| AvaxV3 | USDC | 5% | 90% | |
| AvaxV3 | USDT | 5% | 90% | |
| AvaxV3 | DAI | 5% | 90% | |
| AvaxV3 | MAI | 5% | ||
| AvaxV3 | FRAX | 5% | 90% | |
| --- | --- | --- | --- | --- |
| PolV2 | USDC | 5% | ||
| PolV2 | USDT | 5% | ||
| PolV2 | DAI | 5% | ||
| --- | --- | --- | --- | --- |
| PolV3 | USDC | 5% | 90% | |
| PolV3 | USDT | 5% | 90% | |
| PolV3 | DAI | 5% | 90% | |
| PolV3 | MAI | 5% | ||
| --- | --- | --- | --- | --- |
| OpV3 | USDC | 5% | 90% | |
| OpV3 | USDT | 5% | 90% | |
| OpV3 | DAI | 5% | 90% | |
| OpV3 | sUSD | 5% | ||
| OpV3 | LUSD | 5% | ||
| OpV3 | MAI | 5% | ||
| --- | --- | --- | --- | --- |
| ArbV3 | USDC | 5% | 90% | |
| ArbV3 | USDC.e | 5% | ||
| ArbV3 | USDT | 5% | 90% | |
| ArbV3 | DAI | 5% | 90% | |
| ArbV3 | LUSD | 5% | ||
| ArbV3 | FRAX | 5% | 90% | |
| ArbV3 | MAI | 5% | ||
| --- | --- | --- | --- | --- |
| BaseV3 | USDC | 5% | 90% | |
| --- | --- | --- | --- | --- |
| MetisV3 | USDC | 5% | 90% | |
| MetisV3 | USDT | 5% | 90% | |
| --- | --- | --- | --- | --- |
References
- Implementation: AaveV2Ethereum, AaveV2Polygon, AaveV2Avalanche, AaveV3Ethereum, AaveV3Polygon, AaveV3Avalanche, AaveV3Optimism, AaveV3Arbitrum, AaveV3Metis, AaveV3Base
- Tests: AaveV2Ethereum, AaveV2Polygon, AaveV2Avalanche, AaveV3Ethereum, AaveV3Polygon, AaveV3Avalanche, AaveV3Optimism, AaveV3Arbitrum, AaveV3Metis, AaveV3Base
- Snapshot: Slope1, Uopt & RF
- Discussion
Copyright
Copyright and related rights waived via CC0.
03Mismatch analysis
The proposal executes seven 'forwardPayloadForExecution' calls on Ethereum mainnet, each routing a pre-agreed payload to a specific chain (Ethereum, Polygon, Avalanche, Optimism, Arbitrum, Metis, Base) via chain-specific controller addresses. This matches the set of networks listed in the specification table (Ethv2/v3, PolV2/v3, AvaxV2/v3, OpV3, ArbV3, MetisV3, BaseV3). The one inconsistency found is that the motivation paragraph also names 'Gnosis' as an affected network, yet neither the specification table nor the calldata includes any Gnosis-related action — a minor wording error rather than a functional risk. Because the actual numeric parameter changes (slope1=5%, Uopt=90%, RF=25%) are encoded inside the referenced payload contracts and not directly visible in this top-level calldata, those specific values cannot be independently verified from the decoded actions alone; this limits confidence to medium rather than high, but does not itself constitute a discrepancy since the high-level chain routing is consistent with the described scope. Overall, the mismatch is minor and does not affect fund safety or control, so it is classified as a minor discrepancy suitable for delegate awareness rather than a blocking concern.
Discrepancies
- lowextra in description
The motivation text lists Gnosis as one of the networks affected by the slope1/Uopt/RF changes, but the specification table contains no Gnosis rows and the decoded calldata forwards payloads only to Ethereum, Polygon, Avalanche, Optimism, Arbitrum, Metis and Base — no Gnosis (chain id 100) action exists.
“Namely USDC, USDT, LUSD, FRAX, sUSD, DAI, MAI, GUSD, USDP on ethereum (V2 and V3), polygon (V2 and V2), Arbitrum, Gnosis, Optimism, Avalanche (v2 and V3) and Metis.”
Generated by Kvorum
04Actions
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "1", "1", "0xdAbad81aF85554E9ae636395611C58F7eC1aAEc5", "20" ] }- Calldata
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "137", "1", "0x401B5D0294E23637c18fcc38b1Bca814CDa2637C", "10" ] }- Calldata
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "43114", "1", "0x1140CB7CAfAcC745771C2Ea31e7B5C653c5d0B80", "7" ] }- Calldata
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "10", "1", "0x0E1a3Af1f9cC76A62eD31eDedca291E63632e7c4", "4" ] }- Calldata
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "42161", "1", "0x89644CA1bB8064760312AE4F03ea41b05dA3637C", "4" ] }- Calldata
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "1088", "1", "0x2233F8A66A728FBa6E1dC95570B25360D07D5524", "2" ] }- Calldata
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "8453", "1", "0x2DC219E716793fb4b21548C0f009Ba3Af753ab01", "1" ] }- Calldata
05Tally
Summed from votes
06Voters
| Voter | Choice | % of total | Rationale | ||
|---|---|---|---|---|---|
| 320x329c…3ed4 | For | 116.1K | 23.26% | — | 3y ago |
| 130x13bd…8548 | For | 61.3K | 12.29% | — | 3y ago |
| 230x2331…7e73 | For | 60K | 12.02% | — | 3y ago |
| 2C0x2cc1…4df1 | For | 43.7K | 8.75% | — | 3y ago |
| B90xb933…8dd1 | For | 42.4K | 8.49% | — | 3y ago |
| EA0xea17…6676 | For | 38.7K | 7.77% | — | 3y ago |
| EZezr3al.eth0x8659…7d0e | For | 38.1K | 7.64% | — | 3y ago |
| 570x57ab…2922 | For | 27.3K | 5.47% | — | 3y ago |
| 7A0x7ae1…e585 | For | 26.7K | 5.34% | — | 3y ago |
| 870x8787…ea52 | For | 21.1K | 4.23% | — | 3y ago |
| E40xe459…e666 | For | 20K | 4.01% | — | 3y ago |
| 180x1855…98ba | For | 3.6K | 0.72% | — | 3y ago |
| DF0xdf06…4977 | For | 27.3 | 0.01% | — | 3y ago |
| 570x5762…a752 | For | 1 | 0.00% | — | 3y ago |
| EC0xeca0…a418 | For | 0.5 | 0.00% | — | 3y ago |
| 550x5587…e867 | For | 0.2 | 0.00% | — | 3y ago |
| 370x37d2…98bc | For | 0.1 | 0.00% | — | 3y ago |
07Forum
No forum thread is confidently linked to this proposal.
08Similar proposals
- aaveexecutedIncrease Borrow Slope1 to all Stablecoins across all Aave Instances89%
- aaveexecutedStablecoinIRUpdates88%
- aaveexecutedStablecoinIRUpdates88%
- aaveexecutedStablecoin IR Curve Amendment87%
- aaveexecutedStablecoin IR Curves Updates87%
- aaveexecutedStablecoin IR Curve Amendment87%
- aaveexecutedDecrease Slope1 Parameter for Stablecoins on Aave V386%
- aaveexecutedStablecoins Interest Rate Curve Update84%
- aaveexecutedOptimize ETH-correlated asset parameters84%
- aaveexecutedAave v2 Deprecation - Update83%