KVORUM
aaveSource: Aave governor v2 · #26

Dynamic Risk Parameters

defeatedAug 9, 2021, 05:06 AM UTCbyC10xc17c…64e1

01Summary

AISummary by Kvorumclaude-haiku-4-5

Aave governance proposes to hire Gauntlet for continuous dynamic risk management of Aave V2 assets. Gauntlet will receive 5,645 stkAAVE (approximately $2.12M at proposal time) split as: 2,822.5 stkAAVE direct transfer and 2,822.5 stkAAVE streamed over 6 months via Sablier, with the ability for governance to revoke the stream.

Type
treasury allocation
Funding
$~2,122,000 (5,645 stkAAVE at $376 AAVE price at proposal time)

Key changes

  • Transfer 5,645 AAVE from EcosystemReserve and stake to stkAAVE for Gauntlet compensation(high)
  • Implement dual payment structure: immediate 2,822.5 stkAAVE transfer plus 6-month vesting stream of 2,822.5 stkAAVE via Sablier(high)
  • Enable governance to revoke the streaming payment via Sablier's cancelStream function(medium)
  • Establish quarterly service fee formula based on log(number of assets) * total borrow value * 2.5 basis points for ongoing risk parameter management(medium)

Notable concerns

  • Service fee formula creates ongoing commitment tied to protocol growth metrics
  • Streaming payment is revocable by governance but vesting period is 6 months
  • Proposal references external ARC document for detailed rationale rather than including full technical specifications in AIP
Contracts0x1e506cbb6721b83b1549fa1558332381ffa61a930x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae90x4da27a545c0c5b758a6ba100e3a049001de870f50xcd18eaa163733da39c232722cbc4e8940b1d8888
Generated by Kvorum
model: claude-haiku-4-5
provider: anthropic
profile: anthropic-fast-v1
prompt: v1.0
generated: 2mo ago
Read the description ↗

02Description

412 words

aip: 30 title: Dynamic Risk Parameters status: Proposed author: Nick Cannon (@inkyamze) shortDescription: Continuous market risk management for Aave V2 discussions: https://governance.aave.com/t/proposal-dynamic-risk-parameters/4854 created: 2021-07-30 updated: 2021-08-06 ​

​

Simple Summary

​ A proposal for continuous market risk management to optimize yield, capital efficiency, and mitigate depositor losses. ​

Abstract

​ Gauntlet proposes actively managing risk parameters for all Aave V2 assets. The targets metrics to improve are risk-adjusted yield for depsitors, capital efficiency for borrowers, and the mitigation of depositor losses. Gauntlet will improve the metrics above without increasing the net insolvent value percentage or the slashing run percentage. ​

Motivation

​ Aave's Risk Framework shows the importance this community puts towards understanding and mitigating risk. Users are exposed to changing market risks at all times. Since publishing the Market Risk Assessment Gauntlet has continue to rerun our simulations. Our platform observes regular changes to the optimal risk parameters. ​

Rationale

​ See ARC for further information. ​

Implementation

​ Current Aave v2 Total $ Borrow = ~$7.09B ​ Current Number of Aave v2 Assets = 28 ​ Gauntlet quarterly service fee formula

  • = log(Number of Assets,10) * Total $ Borrow * 2.5 basis points / AAVE price_
  • = log(26,10) * $6,000,000,000 * 2.5 basis points / AAVE price ($376)
  • = 5,645 AAVE ​

This AIP implements two payments to Gauntlet as outlined in the ARC, both denominated in stkAAVE. The stkAAVE is obtained by staking AAVE from the EcosystemReserve. The first payment is implemented as a direct transfer of the stkAAVE to Gauntlet. The second payment makes use of Sablier to implement a streaming vesting payment over the course of half a year. This payment can be revoked by governance using cancelStream. Specifically we make use of the following transactions:

  • transfer AAVE tokens from the EcosystemReserve to the ShortExecutor using the Ecosystem Reserve Controller contract at 0x1E506cbb6721B83B1549fa1558332381Ffa61A93
  • approve the stkAAVE token to stake the AAVE we transferred
  • stake the AAVE into stkAAVE
  • transfer the non vested portion directly to the Gauntlet
  • approve the Sablier contracts to spend the remaining vesting portion of the stkAAVE
  • createStream on the Sablier contract, with the Gauntlet set as the beneficiary, to stream the vesting portion of stkAAVE over six months ​ ​ Exact calldata and target addresses can be viewed in the transaction which created this proposal. ​ ​

Copyright

​ Copyright and related rights waived via CC0.

03Mismatch analysis

AIMismatch analysis by Kvorumclaude-sonnet-5
Consistent

I compared each of the six decoded on-chain calls against the six implementation steps described in the AIP. The token transfer amount (5645 AAVE, both in text and derived from the fee formula) matches the calldata's ~5645 AAVE transfer exactly. The subsequent approve/stake sequence targets the stkAAVE contract as described. The split into a direct transfer (~2822.5 stkAAVE) and a Sablier-streamed portion (~2822.5 stkAAVE) matches the 'half direct, half vested' structure implied by the description. Both the direct transfer and the stream recipient address are the same (0xD20c9667...), consistent with both payments going to the same Gauntlet address, which the description does not explicitly show but is a reasonable summarization since the exact addresses were deferred to 'calldata... can be viewed in the transaction.' The stream duration (~184 days) reasonably matches the described six-month vesting period. No numerical, target, or directional mismatches were found between the prose and the decoded actions. Given the proposal explicitly defers exact addresses to the transaction data, and all values line up quantitatively, I assess this proposal as consistent with high confidence.

Generated by Kvorum
model: claude-sonnet-5
provider: anthropic
profile: anthropic-strong-v1
prompt: v1.0
generated: 2mo ago
Review the decoded actions ↗

04Actions

6 total
#0transfer(address,address,uint256)chain 0x1
Target
0x1e50…1a93
Value
0 wei
Function
transfer(address,address,uint256)
Arguments
{
  "0": "0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9",
  "1": "0xEE56e2B3D491590B5b31738cC34d5232F378a8D5",
  "2": "5645000177542507447306"
}
Calldata
#1approve(address,uint256)chain 0x1
Target
0x7fc6…dae9
Value
0 wei
Function
approve(address,uint256)
Arguments
{
  "amount": "5645000177542507447306",
  "address": "0x4da27a545c0c5B758a6BA100e3a049001de870f5"
}
Calldata
#2stake(address,uint256)chain 0x1
Target
0x4da2…70f5
Value
0 wei
Function
stake(address,uint256)
Arguments
{
  "to": "0xEE56e2B3D491590B5b31738cC34d5232F378a8D5",
  "amount": "5645000177542507447306"
}
Calldata
#3transfer(address,uint256)chain 0x1
Target
0x4da2…70f5
Value
0 wei
Function
transfer(address,uint256)
Arguments
{
  "amount": "2822500000000000000000",
  "address": "0xD20c9667bf0047F313228F9fE11F8b9F8Dc29bBa"
}
Calldata
#4approve(address,uint256)chain 0x1
Target
0x4da2…70f5
Value
0 wei
Function
approve(address,uint256)
Arguments
{
  "amount": "2822500177542507447306",
  "address": "0xCD18eAa163733Da39c232722cBC4E8940b1D8888"
}
Calldata
#5createStream(address,uint256,address,uint256,uint256)chain 0x1
Target
0xcd18…8888
Value
0 wei
Function
createStream(address,uint256,address,uint256,uint256)
Arguments
{
  "0": "0xD20c9667bf0047F313228F9fE11F8b9F8Dc29bBa",
  "1": "2822500177542507447306",
  "2": "0x4da27a545c0c5B758a6BA100e3a049001de870f5",
  "3": "1629010800",
  "4": "1644908401"
}
Calldata

05Tally

Summed from votes

Voters1
VP participating2.9K
Outcome (current)Against
Current support0%

06Voters

1 total
Filter:
VoterChoice% of totalRationale
800x80dc…c146Against2.9K100.00%—5y ago
Showing 1

07Forum

No forum thread is confidently linked to this proposal.