Disable Stable Borrows
01Summary
This proposal permanently disables stable rate borrowing across all Aave pools on all networks (Ethereum v2, Polygon, Avalanche, Optimism, and Arbitrum v3) and unfreezes assets that were previously frozen as an emergency response to a reported attack vector.
- Type
- protocol deprecation
Key changes
- Disable stable borrow rate for all assets on v3 pools across multiple networks (Polygon, Avalanche, Optimism, Arbitrum)(high)
- Disable stable rate on Ethereum v2 pool(high)
- Unfreeze all assets previously frozen as risk mitigation in response to reported attack vector(high)
Notable concerns
- Proposal removes stable rate borrowing functionality permanently across all networks, which may impact users with existing stable rate positions
- Emergency freeze action was triggered by a reported white-hat attack vector, indicating a security vulnerability was discovered and mitigated
Generated by Kvorum
02Description
Simple Summary
This proposal disables stable borrow rate for all assets across all pools on all networks. In addition, it unfreezes assets that were previously frozen by the freeze steward.
Motivation
In response to an attack vector reported by a white-hat, some immediate steps where taken to protect the Aave Markets by pausing and freezing the affected markets. This proposal will revert the freezings and apply a permanent fix. Un-pausing the applicable pools will be done via Guardian.
Specification
The proposal calls
POOL_CONFIGURATOR.setReserveStableRateBorrowing(asset, false);for all assets with stable borrowing enabled on v3 pools,POOL_CONFIGURATOR.disableReserveStableRate(asset);for Ethereum v2 pool, andPOOL_CONFIGURATOR.unfreeze(asset)with all assets previously frozen as risk mitigation measure.
References
- Implementation: AaveV2Ethereum, AaveV3Polygon, AaveV3Avalanche, AaveV3Optimism, AaveV3Arbitrum
- Tests: AaveV2Ethereum, AaveV3Polygon, AaveV3Avalanche, AaveV3Optimism, AaveV3Arbitrum
Copyright
Copyright and related rights waived via CC0.
03Mismatch analysis
The decoded actions consist of five identical-shaped calls to a cross-chain controller (forwardPayloadForExecution), each targeting a distinct chain ID: 1 (Ethereum), 137 (Polygon), 43114 (Avalanche), 10 (Optimism), and 42161 (Arbitrum). This exactly matches the five networks named in the proposal's References section (AaveV2Ethereum, AaveV3Polygon, AaveV3Avalanche, AaveV3Optimism, AaveV3Arbitrum), and aligns with the high-level narrative of disabling stable borrowing and unfreezing assets across all networks. However, the actual low-level function calls described in the Specification (setReserveStableRateBorrowing, disableReserveStableRate, unfreeze) are not visible in this decoding — they are presumably encoded inside the forwarded payloads, which are not expanded here. Because the top-level structure (chain coverage, target contract, forwarding mechanism) is fully consistent with the description and there is no evidence of a mismatched target, missing action, or altered value, I find no discrepancy. Confidence is set to medium rather than high because the specific pool-configurator calls inside each payload cannot be independently verified from the given calldata.'
Generated by Kvorum
04Actions
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "1", "1", "0xdAbad81aF85554E9ae636395611C58F7eC1aAEc5", "4" ] }- Calldata
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "137", "1", "0x401B5D0294E23637c18fcc38b1Bca814CDa2637C", "0" ] }- Calldata
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "43114", "1", "0x1140CB7CAfAcC745771C2Ea31e7B5C653c5d0B80", "0" ] }- Calldata
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "10", "1", "0x0E1a3Af1f9cC76A62eD31eDedca291E63632e7c4", "0" ] }- Calldata
- Target
- 0x9aee…2bc7
- Value
- 0 wei
- Function
- forwardPayloadForExecution((uint256,uint8,address,uint40))
- Arguments
{ "0": [ "42161", "1", "0x89644CA1bB8064760312AE4F03ea41b05dA3637C", "0" ] }- Calldata
05Tally
Summed from votes
06Voters
No votes recorded yet.
07Forum
No forum thread is confidently linked to this proposal.
08Similar proposals
- aavecanceleddesactivation of Aave V1 stable rate borrowing79%
- aaveexecuteddesactivation of Aave V1 stable rate borrowing78%
- aaveexecutedAllow Emergency Admin to freeze on Aave V278%
- aaveexecutedTemporary Freeze of Long-Tail V2 Assets78%
- aavedefeatedFreeze Aave V178%
- aaveexecutedFreeze Aave V178%
- aaveexecutedDisable borrow for xSUSHI and DPI. Freeze reserves for UNI and BAL AMM Markets78%
- aaveexecutedAave v2 non-Ethereum pools next deprecation steps78%
- aaveexecutedChaos Labs V2 to V3 Migration Next Steps77%
- aavedefeatedFreeze stETH, Increase stETH Liq. Threshold to 90%, Pause ETH Borrowing77%