[Direct-to-AIP] CAPO SnapshotRatio Update Across Aave V3

Summary

LlamaRisk proposes updating the snapshotRatio to address stale snapshots and the growing drift between the CAPO upper bound and the current ratio across Aave V3. This update addresses the risk stemming from the widening spread, where, in the event of an inflation attack, collateral could become materially overpriced, potentially resulting in undercollateralized positions and bad debt for the protocol.

Upper Cap Growth

The spread between the CAPO upper bound and the current exchange rate for yield-bearing assets on Aave has widened due to a combination of high maxYearlyRatioGrowthPercent values and outdated snapshots. In the event of an inflation attack, where an adversary artificially pushes the underlying exchange-rate source upward, the collateral may become overpriced. The amount of borrows that can be accumulated against this overpriced collateral is directly driven by the magnitude of the spread between the current exchange rate and the CAPO upper bound. If the spread becomes sufficiently large, the position may become undercollateralized once the exchange rate normalizes, potentially resulting in bad debt for the protocol.

The chart below visualizes the reserves with the largest spread between the CAPO upper bound and current ratio across Aave V3.


Source: LlamaRisk, April 28, 2026

The deficit trigger condition can be expressed as:

\frac{1}{(1 + \text{spread})(1+\text{LB})} < \text{maxLT}

Here, LT is chosen instead of LTV to depict the worst-case scenario possible, where the attacker HF nears 1. The spread is defined as:

\text{spread} = \frac{\text{cap} - \text{currentRatio}}{\text{currentRatio}}

Running the deficit-trigger condition over every CAPO instance across Aave V3, we’ve identified the following reserves. In addition, assets projected to meet this condition within the next 30 days, based on current APY trends, have also been selected for a snapshot ratio refresh.

Instance Asset Current Ratio Calculated Cap Ratio Spread maxLT LB Days since last snapshot
Ethereum Core sUSDe 1.229268 1.872282 52.31 % 94.0 % 2.00 % 458 d
Ethereum Prime sUSDe 1.229268 1.872282 52.31 % 94.0 % 2.00 % 458 d
Polygon wstETH 1.232987 1.403639 13.84 % 93.0 % 1.00 % 803 d
Gnosis wstETH 1.232987 1.403495 13.83 % 93.0 % 1.00 % 803 d
Ethereum Core rETH 1.162339 1.322917 13.81 % 95.0 % 1.00 % 803 d
Polygon MaticX 1.185599 1.347389 13.65 % 95.0 % 1.00 % 810 d
Ethereum Core weETH 1.093616 1.223966 11.92 % 95.0 % 1.00 % 763 d
Ethereum Core ETHx 1.087845 1.215133 11.70 % 95.0 % 1.00 % 712 d
Ethereum Core osETH 1.070109 1.192969 11.48 % 95.0 % 1.00 % 734 d
Ethereum Prime ezETH 1.077144 1.196636 11.09 % 95.0 % 1.00 % 581 d
Ethereum Core ezETH 1.077144 1.196636 11.09 % 95.0 % 1.00 % 581 d
Ethereum Core cbETH 1.128816 1.253789 11.07 % 95.0 % 1.00 % 803 d
Linea ezETH 1.077120 1.186399 10.15 % 93.0 % 1.00 % 512 d
Avalanche sAVAX 1.259892 1.384037 9.85 % 95.0 % 1.00 % 810 d
Linea wstETH 1.232987 1.339222 8.62 % 95.5 % 1.00 % 472 d
Linea weETH 1.093578 1.183598 8.23 % 93.0 % 1.00 % 512 d
Avalanche sUSDe 1.229152 1.311806 6.72 % 91.0 % 4.00 % 237 d
Plasma sUSDe 1.229169 1.311805 6.72 % 94.0 % 1.50 % 237 d
Gnosis sDAI 1.237126 1.287590 4.08 % 92.0 % 4.00 % 359 d
Plasma weETH 1.093578 1.137132 3.98 % 95.0 % 1.00 % 237 d
Mantle sUSDe 1.229164 1.273455 3.60 % 92.0 % 4.00 % 118 d

Recommendations

The proposal refreshes the snapshotRatio and snapshotTimestamp for the reserves listed above, anchoring the cap to recent on-chain readings rather than year-old reference points. The new snapshot for each adapter is selected from the historical getRatio() series (verifiable on-chain) such that all four validation predicates of _setCapParameters are respected: the new timestamp is strictly greater than the stored one, is at least MINIMUM_SNAPSHOT_DELAY seconds in the past, is no more than MAXIMUM_SNAPSHOT_TERM (180 days) in the past, the new ratio is non-zero, and snapshotRatio <= currentRatio.

In addition to the snapshot refresh, we recommend an additional change to the sUSDe CAPO on Ethereum (affects both Core and Lido markets). The adapter is currently configured with a maxYearlyRatioGrowthPercent of 50%, far above realized APY as shown below. Accounting for future growth scenario we recommend lowering maxYearlyRatioGrowthPercent from 50% to 11.17%.


Source: LlamaRisk, April 28, 2026

Specification

Instance Asset Current SnapshotRatio New SnapshotRatio Current SnapshotTimestamp New SnapshotTimestamp
Ethereum Prime sUSDe 1150485992969698694 1227131992751411096 1737789743 (2025-01-25) 1776098039 (2026-04-13)
Ethereum Core sUSDe 1150485992969698694 1227131992751411096 1737789743 (2025-01-25) 1776098039 (2026-04-13)
Ethereum Core rETH 1098284517740008249 1161297025018026367 1708004591 (2024-02-15) 1776100271 (2026-04-13)
Polygon MaticX 1098625039344900513 1184553336304744130 1707352792 (2024-02-08) 1776095251 (2026-04-13)
Ethereum Core weETH 1034656878645040505 1092511275951548029 1711416299 (2024-03-26) 1776098051 (2026-04-13)
Ethereum Core ETHx 1029650229444067238 1086803171399918543 1715877911 (2024-05-16) 1776097967 (2026-04-13)
Ethereum Core osETH 1014445878439441413 1069243791626177773 1713934379 (2024-04-24) 1776100271 (2026-04-13)
Polygon wstETH 1157105995453941980 1231787423404290591 1707948441 (2024-02-14) 1776095275 (2026-04-13)
Gnosis wstETH 1157105995453941980 1231706743820320505 1707988835 (2024-02-15) 1776087290 (2026-04-13)
Ethereum Core ezETH 1019883708003361006 1076159265830748846 1727172839 (2024-09-24) 1776100259 (2026-04-13)
Ethereum Prime ezETH 1019883708003361006 1076159265830748846 1727172839 (2024-09-24) 1776100259 (2026-04-13)
Ethereum Core cbETH 1063814269953974334 1127672723490107311 1708004591 (2024-02-15) 1776097967 (2026-04-13)
Avalanche sAVAX 1130535654847205789 1258004893989529449 1707346799 (2024-02-07) 1776080367 (2026-04-13)
Linea wstETH 1190272828525538502 1231706743820320505 1736592058 (2025-01-11) 1776040336 (2026-04-13)
Linea ezETH 1029140608890425422 1076090972297786741 1733109809 (2024-12-02) 1776040248 (2026-04-13)
Plasma sUSDe 1193972665854975048 1227017473582880624 1756871339 (2025-09-03) 1776095930 (2026-04-13)
Linea weETH 1054169605180649721 1092447295285287694 1733109809 (2024-12-02) 1776040278 (2026-04-13)
Avalanche sUSDe 1193972665854975048 1227006247957361173 1756871339 (2025-09-03) 1776080378 (2026-04-13)
Plasma weETH 1075964667602784803 1092447295285287694 1756871339 (2025-09-03) 1776095953 (2026-04-13)
Mantle sUSDe 1213777113888938853 1227013966208500235 1767152639 (2025-12-31) 1776095860 (2026-04-13)
Gnosis sDAI 1175603447581596870 1234933736953001411 1746358275 (2025-05-04) 1776087275 (2026-04-13)

Both Ethereum Core and Lido markets utilize the same CAPO for sUSDe.

Instance Asset Current maxYearlyRatioGrowthPercent Recommended maxYearlyRatioGrowthPercent
Ethereum sUSDe 50% 11.17%

Disclosure

This review was independently prepared by LlamaRisk, a DeFi risk service provider funded in part by the Aave DAO. LlamaRisk is not directly affiliated with the protocol(s) reviewed in this assessment and did not receive any compensation from the protocol(s) or their affiliated entities for this work.

The information provided should not be construed as legal, financial, tax, or professional advice.

The Snapshot vote for this AIP has passed, and the payloads have been successfully executed.