# 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.

- **URL:** https://octav.fi/blog/tracking-aave-positions
- **Published:** 2026-04-16
- **Author:** Octav Team — Portfolio Intelligence for Digital Assets
- **Topic:** Protocols
- **Tags:** aave, lending, defi
- **Source:** Octav, Practical guides on crypto NAV reporting, multi-chain portfolio management and digital asset APIs, from the team behind Octav.

---
<LogoRow items="aave,ethereum,usdc,arbitrum" caption="Protocols covered" />

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](/hyperliquid-perps-portfolio-tracking) 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](/track-defi-positions-multichain):
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](/crypto-portfolio-api-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.
