Tracking Aave Positions: Supply, Debt, Health
Aave supplies and borrows are separate tokens with independent balances. How to net them into a real position, and why health factor belongs in risk data.
Protocols covered
Aave
Ethereum
USDC
Arbitrum
Aave is the easiest DeFi position to track and still the one most often reported wrong — because a lending position is two balances, and reporting either one alone gives a number that is confidently incorrect.
What sits in the wallet
| Action | Token you receive | Behaviour |
|---|---|---|
| Supply an asset | An aToken (e.g. aUSDC) | Balance grows as interest accrues |
| Borrow an asset | A variable debt token | Balance grows as interest accrues |
Both are interest-bearing and both increase over time. The critical difference is the sign: the supply token is an asset, the debt token is a liability.
An API that enumerates token balances and sums them will happily add the debt token to your net worth as a positive number. That does not produce a slightly inflated portfolio — it inverts the meaning of a leveraged position.
Netting the position
The portfolio value of an Aave position is:
net position = Σ (aToken balance × price) − Σ (debt token balance × price)A wallet that supplied $1M of ETH and borrowed $400k of USDC holds a $600k net position — not $1.4M, and not $1M.
This matters most for the strategy that is most common: looped collateral. A
wallet running a leverage loop may hold several million in aTokens against
nearly as much debt, for a net position that is a fraction of either leg.
Report the supply side alone and you overstate the fund by multiples.
The health factor is not optional
Value tells you what the position is worth. Health factor tells you whether it still exists tomorrow.
| Field | Why it belongs in your data |
|---|---|
| Health factor | Below 1, the position is liquidatable |
| Liquidation threshold | The level at which that happens per asset |
| E-Mode category | Changes the thresholds materially |
| Borrow APY vs supply APY | Determines whether the loop is profitable |
For a fund, a portfolio system that reports a leveraged Aave position's value without its health factor has answered the accounting question and ignored the risk one. Both are needed — see Tracking Hyperliquid Perps for the same distinction applied to derivatives.
Multi-chain and multi-version
Aave runs across many chains and more than one protocol version, and the same market exists in several places. A wallet with the same strategy on Ethereum, Base and Arbitrum has three distinct positions to enumerate, each with its own contract addresses.
This is the combinatorial problem described in Tracking DeFi Positions Across Multiple Chains: the work is protocols × chains × versions, not the sum of any one of them.
Why Aave is the benchmark's control
In our nine-provider benchmark, a clean single-protocol Aave wallet reconciles across every EVM API to within 0.2%.
That is the point of including it: it proves the huge divergences elsewhere are coverage gaps, not price-feed disagreements. If a provider cannot get an Aave wallet right, the problem is fundamental. If it gets Aave right and still disagrees by 10× on a whale, the difference is entirely about which sectors it can decode.
Checking your provider
Query an address with an open Aave borrow and check three things:
- Is the debt reported at all, or only the supply?
- Is the debt negative in the portfolio total?
- Is the health factor available anywhere in the response?
A provider that answers "supply only" is not tracking a lending position. It is tracking half of one.
Keep reading
ProtocolsValuing Uniswap V3 Concentrated Liquidity
A Uniswap V3 position is an NFT whose composition changes with price. Why a token balance tells you nothing, and what has to be computed to value one.
2 min read
ProtocolsValuing stETH and Liquid Staking Positions
Rebasing and wrapped staking tokens need different valuation logic. Why stETH balances change with no transaction, and how wstETH breaks naive pricing.
2 min read
ProtocolsTracking Pendle PT and YT Positions Correctly
Pendle splits a yield-bearing asset into principal and yield tokens with different valuation curves. Pricing either at spot gives the wrong number.
2 min read