Skip to content

AaveEarnPool

Contract: AaveEarnPool.sol Implements: IEarnPool

Overview

AaveEarnPool is an adapter contract that wraps Aave V3 behind the standardized IEarnPool interface. It enables KPortfolio to supply USDC to the Aave V3 lending pool and earn variable-rate interest.

Target Allocation: 80% of total ETH-side deployed capital (Stage 1 default).


Interface

Function Signature Description
deposit deposit(uint256 amount) Supply USDC to Aave V3 Pool (pool.supply()). Receives aUSDC.
withdraw withdraw(uint256 amount) Withdraw USDC from Aave V3 Pool (pool.withdraw()). Burns aUSDC.
valuesOf valuesOf() → uint256 Returns current USDC value held in Aave (aUSDC balance, which accrues interest).

External Dependencies

Contract Description
Aave V3 Pool Lending pool for supply/withdraw operations
aUSDC Interest-bearing receipt token from Aave

Security Considerations

  1. Aave Protocol Risk: If Aave V3 is exploited, funds in this pool are at risk. The adapter cannot mitigate upstream protocol vulnerabilities.
  2. Interest Accrual: valuesOf() relies on aUSDC.balanceOf(), which increases over time as interest accrues. This is used in settlement NAV calculations.
  3. Withdrawal Limits: During high utilization on Aave, not all USDC may be withdrawable immediately. The adapter should handle partial withdrawals or revert clearly.
  4. No ERC-777: USDC is standard ERC-20, which is compatible with Aave V3. Tokens with callbacks are not supported.