How to Account for Aave Lending Positions Under IFRS
Aave is the largest lending protocol in DeFi, with over $30 billion in total value locked. If your entity has lending or borrowing positions on Aave, you need to account for them properly — and it's more complex than most teams realize.
This guide walks through the accounting treatment for Aave V3 positions under IFRS, with specific examples and journal entries.
Understanding Aave Positions
Lending (Supply)
When you supply tokens to Aave, you receive aTokens (e.g., supply USDC, receive aUSDC). The aToken balance increases over time as interest accrues — this is the key accounting challenge.
What happens on-chain:
- You deposit 100,000 USDC into Aave V3
- You receive ~100,000 aUSDC (the exact amount depends on the current liquidity index)
- Your aUSDC balance grows continuously as interest accrues
- At any time, you can redeem aUSDC for USDC + accumulated interest
Borrowing
When you borrow from Aave, you receive the borrowed tokens and a debt position tracked as variableDebtToken or stableDebtToken.
What happens on-chain:
- You provide collateral (e.g., ETH)
- You borrow 50,000 USDC
- Your variableDebtUSDC balance increases over time as interest accrues
- You must repay principal + accrued interest to close the position
IFRS Classification
Lending Positions
Under IFRS 9, an Aave lending position is a financial asset. The classification depends on your business model:
Held to collect (amortized cost): If you intend to hold the position and collect interest over time, classify at amortized cost. This is the most common treatment for treasury lending.
Fair value through profit or loss (FVTPL): If you actively manage the position (frequently deposit/withdraw based on rate changes), FVTPL may be more appropriate.
For most crypto entities using Aave for treasury management, amortized cost is the appropriate classification.
Borrowing Positions
Aave borrowings are financial liabilities measured at amortized cost under IFRS 9. The variable interest rate means you need to estimate the effective interest rate — practically, most teams use the actual rate charged by the protocol.
Journal Entries — Lending
Initial Recognition (Deposit)
When you supply 100,000 USDC to Aave:
| Account | Debit | Credit |
|---|---|---|
| DeFi Lending — Aave USDC (11600) | 100,000 | |
| Stablecoins — USDC (11300) | 100,000 |
Narration: Supplied 100,000 USDC to Aave V3 lending pool. Tx: 0xabc...
Interest Accrual (Monthly)
Aave interest accrues continuously. At month-end, calculate the interest earned:
Method: Query the Aave V3 subgraph or use the aToken balance change.
- aUSDC balance at period start: 100,000.000000
- aUSDC balance at period end: 100,416.666667
- Interest earned: 416.666667 USDC (approximately 5% APY / 12 months)
| Account | Debit | Credit |
|---|---|---|
| DeFi Lending — Aave USDC (11600) | 416.67 | |
| Interest Income — DeFi Lending (40600) | 416.67 |
Narration: Aave V3 USDC lending interest accrual for March 2026. Rate: ~5.0% APY.
Withdrawal (Redemption)
When you withdraw 50,000 USDC + accrued interest:
| Account | Debit | Credit |
|---|---|---|
| Stablecoins — USDC (11300) | 50,208.33 | |
| DeFi Lending — Aave USDC (11600) | 50,208.33 |
Narration: Withdrew 50,208.33 USDC from Aave V3 (50,000 principal + 208.33 accrued interest). Tx: 0xdef...
Journal Entries — Borrowing
Initial Recognition (Borrow)
When you borrow 50,000 USDC against ETH collateral:
| Account | Debit | Credit |
|---|---|---|
| Stablecoins — USDC (11300) | 50,000 | |
| DeFi Borrowing — Aave USDC (20600) | 50,000 |
Note: The ETH collateral remains on your balance sheet — it is not derecognized. It is locked in the Aave smart contract but you still own it. Add a disclosure note about the collateral pledge.
Interest Accrual (Monthly)
Variable rate borrowing accrues interest continuously:
- Debt balance at period start: 50,000.000000
- Debt balance at period end: 50,291.666667
- Interest expense: 291.666667 USDC (approximately 7% APY / 12)
| Account | Debit | Credit |
|---|---|---|
| Interest Expense — DeFi Borrowing (70400) | 291.67 | |
| DeFi Borrowing — Aave USDC (20600) | 291.67 |
Repayment
When you repay 25,000 USDC of the loan:
| Account | Debit | Credit |
|---|---|---|
| DeFi Borrowing — Aave USDC (20600) | 25,000 | |
| Stablecoins — USDC (11300) | 25,000 |
Practical Challenges
1. Interest Rate Volatility
Aave's variable rates change with every block. For monthly accruals, use the time-weighted average rate or simply measure the balance change between period start and end. The balance change method is simpler and produces the same result.
2. Liquidation Risk
If your collateral value drops below the liquidation threshold, Aave liquidates a portion of your collateral. This creates a realized loss that must be recognized immediately:
| Account | Debit | Credit |
|---|---|---|
| DeFi Borrowing — Aave USDC (20600) | [liquidated amount] | |
| Liquidation Loss (70600) | [penalty amount] | |
| Digital Assets — ETH (11200) | [collateral seized] |
3. Multi-Token Positions
Many entities have multiple lending and borrowing positions across different tokens. Each position needs separate tracking — you cannot net USDC lending against USDT borrowing.
4. Reward Tokens
Aave sometimes distributes reward tokens (e.g., AAVE governance tokens) to lenders and borrowers. These are recognized as income at fair value on receipt:
| Account | Debit | Credit |
|---|---|---|
| Digital Assets — AAVE (11400) | [fair value] | |
| Yield Farming Income (40400) | [fair value] |
Automation
Manually tracking Aave interest accruals across multiple positions, tokens, and entities is error-prone and time-consuming. Heshi's DeFi position tracker queries Aave V3 data directly, calculates accruals using on-chain rate data, and generates the journal entries automatically.
Have Aave positions that need proper accounting? Book a demo — we will set up automated tracking for all your DeFi protocols.