Set Price Cap Adapters for Aave V2
01Summary
This proposal activates the Correlated-Assets Price Oracle (CAPO) system for fiat-pegged stablecoins on Aave V2 pools across Ethereum, Polygon, and Avalanche networks, and updates the DPI oracle from DPI/ETH to DPI/USD. CAPO adds price caps (typically 4%, with LUSD at 10%) to protect against extreme price movements.
- Type
- protocol addition
Key changes
- Activation of CAPO (Correlated-Assets Price Oracle) adapters for fiat-pegged stablecoins on Aave V2 across three networks(high)
- Implementation of price caps on stablecoins: USDC, USDT, DAI, USDP, sUSD, FRAX, GUSD, LUSD, BUSD, TUSD, and UST with caps ranging from 4% to 10%(high)
- Update of DPI oracle from DPI/ETH to DPI/USD(medium)
- BUSD adapter configured to use fdUSD/USD oracle as underlying source due to decreasing pure BUSD liquidity(medium)
- Implementation of synchronicity for stablecoins on Ethereum and Polygon pools for added protection during edge market conditions(medium)
Notable concerns
- GUSD and FEI not updated as they use fixed price oracles
- Stablecoins on Avalanche and Polygon networks have limited asset coverage compared to Ethereum
Generated by Kvorum
02Description
Simple Summary
This proposal activates the correlated-assets price oracle (CAPO) system for fiat-pegged stable coins on Aave V2 pools, and does extra miscellaneous updates on price feeds of Aave v2.
Motivation
To continue enhancing the security of the protocol using CAPO and to align with the recent approved proposal for Aave v3, we are introducing the activation of CAPO adapters for Aave v2 pools. As no LSTs are listed on the v2 (stETH is not applicable), we are only applying the adapters to the fiat-pegged stablecoins.
This proposal also includes an update of the oracle for DPI from DPI / ETH to DPI / USD.
Specification
- Capped price adapters implementation
- Risk providers parameters recommendations: we have requested recommendations from Chaos Labs for the most appropriate caps for each asset.
Oracles will be updated using ORACLE.setAssetSource() method. Below is the list of assets per network to be updated:
All assets affected
| Network | Stables | Other |
|---|---|---|
| Mainnet | USDC, USDT, DAI, USDP, sUSD, FRAX, GUSD, LUSD, BUSD, TUSD, UST | DPI |
| Avalanche | USDC.e, USDT.e, DAI.e | |
| Polygon | USDC.e, USDT, DAI |
CAPO configurations
| Asset | Cap |
|---|---|
| USDC | 4% |
| USDT | 4% |
| DAI | 4% |
| USDP | 4% |
| sUSD | 4% |
| FRAX | 4% |
| LUSD | 10% |
| BUSD | 4% |
| TUSD | 4% |
| UST | 4% |
Misc specifications
- The adapter for BUSD will be using fdUSD / USD oracle under the hood as the asset is redeemable for fdUSD, and the pure BUSD liquidity is continuously decreasing.
- GUSD and FEI won’t be updated as fixed price oracles are used for them.
- As Ethereum and Polygon pools use ETH-based oracles, the composition of the adapters will be used: CAP adapter for stables + base-to-peg. This also adds synchronicity for stablecoins, adding extra protection on edge market conditions. |
References
- Implementation: AaveV2Ethereum, AaveV2Polygon, AaveV2Avalanche
- Tests: AaveV2Ethereum, AaveV2Polygon, AaveV2Avalanche
- Discussion
Copyright
Copyright and related rights waived via CC0.
03Mismatch analysis
The decoded on-chain data contains only a single, generic execute() call to a payload contract on Ethereum mainnet, with no internal calldata decoded. This is the standard architecture for Aave governance proposals, where a single mainnet action delegates to a payload contract that internally executes the granular logic (setAssetSource calls for each asset/network, CAPO cap configurations, DPI oracle switch, etc.) described in the prose. Because the calldata gives no visibility into these internal calls, arguments, or cross-chain executions (Avalanche, Polygon), it is not possible to verify or contradict specific claims such as the exact CAPO caps, the DPI oracle switch, or the BUSD/fdUSD adapter detail. There is no evidence of a value mismatch, target mismatch, or omitted/extra action within the visible calldata — the single action's target and function match the expected pattern for this type of proposal. Given the opacity of the payload execution, confidence in this comparison is low, and no discrepancies can be responsibly flagged. This should not be treated as a red flag by delegates; it reflects the standard multi-network payload pattern used in prior CAPO activation proposals (e.g., the referenced Aave V3 proposal #51).</string>
Generated by Kvorum
04Actions
- Target
- 0x9274…d84a
- Value
- 0 wei
- Function
- fallback()
- Arguments
{}- Calldata
05Tally
Summed from votes
06Voters
No votes recorded yet.
07Forum
No forum thread is confidently linked to this proposal.
08Similar proposals
- aaveexecutedSet Price Cap Adapters (CAPO)91%
- aaveexecutedAlter mUSD Oracle Price Implementation79%
- aaveexecutedUpdate USDG Price Feed on Aave V3 Instances79%
- aaveexecutedPrice feeds operational update78%
- aaveexecutedPrice feeds operational update Pt2 - stETH76%
- aaveexecutedMKR and USDtb oracle adjustments70%
- aaveexecutedUpdate xSushi price feed on Aave V268%
- aaveexecutedLBTC and eBTC Price Feeds Update67%
- aaveexecutedUpdate PriceOracleSentinel66%
- aaveexecutedEnable SVR V1 on Aave V3 Ethereum66%