Clinic steward activation
01Summary
Aave DAO proposes enabling a new ClinicSteward smart contract to clean up approximately $400,000 in legacy bad debt accumulated since v3 activation. The contract will be controlled by a 2/3 multisig (ACI/TokenLogic/Karpatkey) to liquidate and repay unhealthy positions using Aave Collector funds, with pre-configured spending caps per network ranging from $1,000 to $350,000.
- Type
- contract upgrade
- Funding
- $$500000
Key changes
- Deploy and activate ClinicSteward smart contract across multiple networks to facilitate bad debt cleanup(high)
- Grant ClinicSteward the FUNDS_ADMIN role in Aave DAO(high)
- Grant ACI-controlled EOA/Bot the CLEANUP_ROLE to execute liquidations and repayments(high)
- Implement per-network spending caps for bad debt cleanup (total approximately $500,000 across all networks)(medium)
Notable concerns
- Grants significant authority to ACI-controlled bot through CLEANUP_ROLE
- Relies on 2/3 multisig (ACI/TokenLogic/Karpatkey) oversight of cleanup operations
- Authorizes access to Aave Collector funds for liquidation activities
Generated by Kvorum
02Description
Simple Summary
Enabling a new Aave ClinicSteward smart contract, with capabilities to liquidate and repay non-healthy positions.
The contract will utilize Aave Collector funds for the repayment.
Motivation
Since the initial Aave v3 activation three years ago, due to the nature of liquidations, the system has accrued a minimal bad debt of approximately $400’000.
This amount is pretty irrelevant in comparison with the ~$12 billion outstanding borrowings, but given the imminent activation of the Umbrella system (to automatically cover bad debt), and the recent upgrade of Aave to v3.3 (formally accounting for deficit/bad-debt post-liquidation), we believe it is appropriate to raise a proposal to clean the “legacy” bad debt, and this way start with clean accounting.
The Aave ClinicSteward is a smart contract that simply facilitates for a permissioned entity to execute the clean-up on behalf of the DAO, by authorizing a constraint budget from the Aave Collector for exclusive usage on liquidations/repayments of unhealthy positions (liquidatable).
Specification
The Stewards were deployed with the following configuration:
- the
governance executor lvl1was granted theDEFAULT_ADMINrole on each network - a multisig with 2/3 multisig with
ACI/TokenLogic/Karpatkeyas signers was granted theCLEANUP_ROLEadmin
The proposal:
- grants the
ClinicStewardtheFUNDS_ADMINrole in the Aave DAO. - grants an EOA/Bot controlled by ACI the
CLEANUP_ROLEto cleanup debt on behalf of the Aave DAO.
The stewards themselves implement a $ cap, which is pre-configured to the following amounts:
- Ethereum core $30’000
- Ethereum prime $5’000
- Polygon $30’000
- Avalanche $350’000
- Arbitrum $60’000
- Optimism $5’000
- Base $15’000
- Metis $1’000
- Gnosis Chain $1’000
- BNB Chain $2’000
- Scroll $1’000
- ZKSync $1’000
- Linea $1’000
References
Copyright
Copyright and related rights waived via CC0.
03Mismatch analysis
The proposal follows Aave's standard governance pattern where the top-level on-chain proposal only contains calls to `execute()` on one or more Payload contracts; the actual granular logic (role grants, cap configuration, Collector fund approvals) is implemented inside those payload contracts via delegatecall and is not visible in the decoded top-level calldata. Both decoded actions here are simply fallback `execute()` calls to two addresses, giving no decoded arguments to verify against the specific claims in the description (FUNDS_ADMIN grant, CLEANUP_ROLE grant to an ACI EOA, per-network USD caps, DEFAULT_ADMIN role assignment). Because the calldata does not expose enough detail to confirm or contradict any of these specific claims, I cannot assert a match or a mismatch with confidence. Nothing in the visible calldata contradicts the description, and the pattern (two payload execute() calls, one likely per group of networks) is consistent with a multi-chain steward activation as described. Given the opacity of the decoded actions, confidence is low, but there is no evidence of any inserted extra action, target mismatch, or omitted step that a reviewer could point to from what's decoded. This is a common limitation in reviewing Aave payload-based proposals, and does not itself indicate malicious or careless drafting, so I record the assessment as consistent with low confidence rather than flagging speculative discrepancies.
Generated by Kvorum
04Actions
- Target
- 0x4cab…c0fc
- Value
- 0 wei
- Function
- fallback()
- Arguments
{}- Calldata
- Target
- 0x2990…7fa9
- 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
- aaveexecutedSteward Deployment: MainnetSwapSteward and RewardsSteward79%
- aaveexecutedFinance Steward Deployment: Pool Exposure Module75%
- aaveexecutedCaps Plus Risk Steward75%
- aavecanceledFinance Steward Deployment: Pool Exposure Module74%
- aaveexecutedAave Generalized Risk Stewards (AGRS) activation74%
- aaveexecutedAave Umbrella Activation71%
- aaveexecutedRisk Stewards Cooldown Reduction & Umbrella Pauser Role Reassignment71%
- aaveexecutedFreeze Stewards70%
- aaveexecutedActivate Freezing Steward on v3 missing networks69%
- aaveexecutedCaps Risk Oracle Activation on Base, Avalanche68%