0/5
## Understanding Aave V3's aTokens and Variable Debt Tokens When interacting with the Aave V3 protocol, a leading decentralized finance (DeFi) lending and borrowing platform, users receive specific types of tokens that represent their positions. This lesson delves into the nature of these tokens, specifically `aTokens` received upon supplying assets, and `variable debt tokens` issued when borrowing assets at a variable interest rate. A key characteristic of both these token types is that they are "rebasing tokens," a concept we will explore in detail, including how to observe their behavior on block explorers like Etherscan. **aTokens: Your Interest-Bearing Collateral Representation** When you supply an asset, such as DAI stablecoin, to an Aave V3 market (e.g., on Ethereum), you receive a corresponding `aToken`. For instance, supplying DAI on the Ethereum Aave V3 market will mint `aEthDAI` tokens to your wallet. These `aTokens` serve two primary functions: they represent your claim to the underlying supplied collateral and, crucially, they accrue interest over time. The magic of `aTokens` lies in their rebasing nature: the balance of these tokens in your wallet increases directly as interest accrues, without requiring any new transactions beyond your initial supply. **Variable Debt Tokens: Tracking Your Accruing Borrowed Amount** Conversely, when you borrow assets (e.g., WETH) from Aave V3 and opt for a variable interest rate, the protocol issues `variable debt tokens` to your wallet. For example, borrowing WETH on Ethereum Aave V3 would result in you receiving `Aave Ethereum Variable Debt WETH` tokens. These tokens represent your outstanding debt to the protocol. Similar to `aTokens`, `variable debt tokens` are also rebasing. Their balance in your wallet will increase over time, reflecting the interest accumulating on your borrowed amount. This means the total quantity of tokens you owe grows as interest accrues. ## The Mechanics of Rebasing Tokens in Aave V3 The concept of "rebasing tokens" is central to understanding how Aave V3 manages interest for both suppliers and borrowers at the token level. **Defining Rebasing Tokens** Rebasing tokens are a type of cryptocurrency whose circulating supply is algorithmically adjusted, leading to changes in the token balance of every holder. Unlike standard ERC-20 tokens where balances only change through explicit `mint`, `burn`, or `transfer` transactions, rebasing tokens can see their balances change automatically based on predefined logic within their smart contract. **Rebasing in Aave V3: Reflecting Interest Dynamics** In the Aave V3 ecosystem, the rebasing mechanism is ingeniously used to reflect the continuous accrual of interest. * For **suppliers holding `aTokens`**, the balance of their `aTokens` directly increases over time. This growth represents the interest earned on their supplied capital. * For **borrowers holding `variable debt tokens`**, the balance of these tokens also increases. This growth signifies the accumulation of interest on their outstanding debt, effectively showing the total amount owed increasing. This direct reflection of interest in the token balance simplifies how users track their earnings or liabilities within the Aave protocol. ## Aave V3 Token Architecture: Proxy Contracts Both `aTokens` and `variable debt tokens` within Aave V3 are implemented using a common smart contract pattern known as proxy contracts. **Understanding Proxy Contracts** A proxy contract is a contract that delegates its calls to another contract, known as the implementation contract. When you interact with the token's address (the proxy), your interactions are forwarded to the underlying implementation contract which contains the actual logic. **The Advantage of Upgradeability** The primary benefit of this proxy pattern is upgradeability. The Aave development team can deploy new versions of the token logic (a new implementation contract) and update the proxy to point to this new logic, all without changing the actual token address that users and other smart contracts interact with. This allows for bug fixes and feature enhancements while maintaining a stable contract interface. **Interacting with Proxy Contracts on Etherscan** When inspecting these Aave V3 token contracts on a block explorer like Etherscan, this proxy architecture has an implication. To view the actual functions, read data, or examine the source code of the token's logic, you need to navigate to the "Contract" tab and then select the "Read as Proxy" or "Write as Proxy" sub-tabs. This ensures you are interacting with the underlying implementation contract rather than just the proxy shell. ## Demonstrating aToken Rebasing on Etherscan: Supplying DAI Let's illustrate the rebasing nature of `aTokens` by examining a supply transaction on Etherscan. Imagine a user supplies `5.103091641659537865 DAI` to Aave V3 on Ethereum. The Etherscan transaction details would show: * **ERC-20 Tokens Transferred:** * The user `Sent`: `5.103091641659537865 Dai Stablecoin (DAI)` to an Aave V3 contract. * The user `Received`: `5.103091641659537865 Aave Ethereum DAI V3` (this is the `aEthDAI` token). * There might be an internal transfer where Aave V3 also "receives" the DAI. * Critically, there's a minting event for the `aEthDAI`: `Sent` (from Null Address `0x00...000`) `5.103091641659537865 Aave Ethereum DAI V3` to the user's address. **Inspecting the `aEthDAI` Contract (e.g., `0x018008bfb33d285247A21d44E50697654f754e63`)** 1. Navigate to the `aEthDAI` token contract address on Etherscan. 2. Click the "Contract" tab, then "Code". You'll likely see it identified as an `InitializableImmutableAdminUpgradeabilityProxy` or similar proxy contract. 3. To interact with its actual logic, click the "Read as Proxy" tab. 4. Locate the `balanceOf(address user)` function (often function #9 in the list). 5. Enter the user's wallet address (e.g., `0xd24cBa75...f49E`) into the `user` field and click "Query". **Observing the Rebasing Effect:** * **Initial Balance Query:** You might see a result like `uint256 : 5149430588809018496` (representing the initial 5.103... `aEthDAI`, but in its smallest denomination). * **Subsequent Balance Queries:** Without any new on-chain transactions (no new supply, withdrawal, or transfer), wait a short period and click "Query" on the `balanceOf` function again. You will observe a slightly higher balance, for example, `uint256 : 5149430837216445173`. * Querying a third time after another brief interval might show an even higher balance, like `uint256 : 5149430936579415844`. This incremental increase in the `balanceOf` result, without any corresponding transactions, directly demonstrates the rebasing nature of the `aToken`. The balance grows autonomously as interest accrues. ## Demonstrating Variable Debt Token Rebasing on Etherscan: Borrowing WETH The same rebasing principle applies to variable debt tokens when you borrow assets. Consider a transaction where a user borrows WETH from Aave V3 using a variable interest rate. Etherscan might show: * **Internal Transactions:** The user `Received` an amount of ETH (e.g., `0.000985253251077848 ETH`), which is then typically wrapped into WETH. * **ERC-20 Tokens Transferred:** * The user `Received`: `0.000985253251077848 Wrapped Ether (WETH)` (the actual borrowed asset). * The user also `Received`: `0.000985253251077848 Aave Ethereum Variable Debt WETH` (the debt token). * This debt token is minted from the Null Address to the user's address. **Inspecting the Variable Debt WETH Contract (e.g., `0xeA51d7853EEFb32b6e06b1C12E6dCCA88Be0ffFE`)** 1. Go to the Variable Debt WETH token contract address on Etherscan. 2. Click the "Contract" tab, then "Code". Again, you'll see it's a proxy contract (e.g., `InitializableImmutableAdminUpgradeabilityProxy`). 3. Click the "Read as Proxy" tab. 4. Find the `balanceOf(address user)` function (often function #8). 5. Input the user's address and click "Query". **Observing Debt Accumulation:** * **Initial Debt Balance:** The query might return an initial debt balance, for instance, `uint256 : 1771533521731055` (representing the initial 0.000985... WETH debt in its smallest unit). * **Subsequent Debt Balance Queries:** After a short while, querying `balanceOf` again, without any repayment or further borrowing, will show an increased value, such as `uint256 : 1771533556084135`. * A third query might yield `uint256 : 1771533573260675`. This increasing balance of the variable debt token signifies the accumulation of interest on the borrowed amount. Your debt is growing over time, and this is directly reflected by the rebasing nature of the debt token. ## Key Takeaways: aTokens, Variable Debt Tokens, and Rebasing Understanding the behavior of tokens within Aave V3 is crucial for effectively managing your DeFi positions. Here are the key points: * **Supplying Assets:** When you supply assets to Aave V3, you receive corresponding **`aTokens`** (e.g., `aEthDAI`). These tokens represent your deposited principal plus accrued interest. * **Borrowing Assets (Variable Rate):** When you borrow assets from Aave V3 at a variable interest rate, you receive **`variable debt tokens`** (e.g., `Aave Ethereum Variable Debt WETH`). These tokens represent your outstanding loan principal plus accumulated interest. * **Rebasing Nature:** Both `aTokens` and `variable debt tokens` are **rebasing tokens**. This means their balances in your wallet change automatically over time to reflect interest accrual (for `aTokens`) or interest accumulation (for `variable debt tokens`), without requiring new mint, burn, or transfer transactions. * **Proxy Contracts:** These Aave V3 tokens are implemented as **proxy contracts**. This allows for protocol upgrades without changing the token addresses. When interacting with them on Etherscan, remember to use the "Read as Proxy" (or "Write as Proxy") option under the "Contract" tab to see the underlying logic and state. * **`balanceOf()` Function:** The `balanceOf(address)` function on these token contracts will return the current, up-to-date value. For `aTokens`, this is your principal plus all earned interest. For `variable debt tokens`, this is your outstanding debt including all accumulated interest. * **Dynamic Balances:** Querying the `balanceOf()` function multiple times in succession on Etherscan will likely show slightly different values due to the continuous, real-time nature of interest calculation and the rebasing mechanism. By grasping these concepts, you can better interpret your Aave V3 positions and understand how interest is managed directly at the token level within this advanced DeFi protocol.
When interacting with the Aave V3 protocol, a leading decentralized finance (DeFi) lending and borrowing platform, users receive specific types of tokens that represent their positions. This lesson delves into the nature of these tokens, specifically aTokens
received upon supplying assets, and variable debt tokens
issued when borrowing assets at a variable interest rate. A key characteristic of both these token types is that they are "rebasing tokens," a concept we will explore in detail, including how to observe their behavior on block explorers like Etherscan.
aTokens: Your Interest-Bearing Collateral Representation
When you supply an asset, such as DAI stablecoin, to an Aave V3 market (e.g., on Ethereum), you receive a corresponding aToken
. For instance, supplying DAI on the Ethereum Aave V3 market will mint aEthDAI
tokens to your wallet. These aTokens
serve two primary functions: they represent your claim to the underlying supplied collateral and, crucially, they accrue interest over time. The magic of aTokens
lies in their rebasing nature: the balance of these tokens in your wallet increases directly as interest accrues, without requiring any new transactions beyond your initial supply.
Variable Debt Tokens: Tracking Your Accruing Borrowed Amount
Conversely, when you borrow assets (e.g., WETH) from Aave V3 and opt for a variable interest rate, the protocol issues variable debt tokens
to your wallet. For example, borrowing WETH on Ethereum Aave V3 would result in you receiving Aave Ethereum Variable Debt WETH
tokens. These tokens represent your outstanding debt to the protocol. Similar to aTokens
, variable debt tokens
are also rebasing. Their balance in your wallet will increase over time, reflecting the interest accumulating on your borrowed amount. This means the total quantity of tokens you owe grows as interest accrues.
The concept of "rebasing tokens" is central to understanding how Aave V3 manages interest for both suppliers and borrowers at the token level.
Defining Rebasing Tokens
Rebasing tokens are a type of cryptocurrency whose circulating supply is algorithmically adjusted, leading to changes in the token balance of every holder. Unlike standard ERC-20 tokens where balances only change through explicit mint
, burn
, or transfer
transactions, rebasing tokens can see their balances change automatically based on predefined logic within their smart contract.
Rebasing in Aave V3: Reflecting Interest Dynamics
In the Aave V3 ecosystem, the rebasing mechanism is ingeniously used to reflect the continuous accrual of interest.
For suppliers holding aTokens
, the balance of their aTokens
directly increases over time. This growth represents the interest earned on their supplied capital.
For borrowers holding variable debt tokens
, the balance of these tokens also increases. This growth signifies the accumulation of interest on their outstanding debt, effectively showing the total amount owed increasing.
This direct reflection of interest in the token balance simplifies how users track their earnings or liabilities within the Aave protocol.
Both aTokens
and variable debt tokens
within Aave V3 are implemented using a common smart contract pattern known as proxy contracts.
Understanding Proxy Contracts
A proxy contract is a contract that delegates its calls to another contract, known as the implementation contract. When you interact with the token's address (the proxy), your interactions are forwarded to the underlying implementation contract which contains the actual logic.
The Advantage of Upgradeability
The primary benefit of this proxy pattern is upgradeability. The Aave development team can deploy new versions of the token logic (a new implementation contract) and update the proxy to point to this new logic, all without changing the actual token address that users and other smart contracts interact with. This allows for bug fixes and feature enhancements while maintaining a stable contract interface.
Interacting with Proxy Contracts on Etherscan
When inspecting these Aave V3 token contracts on a block explorer like Etherscan, this proxy architecture has an implication. To view the actual functions, read data, or examine the source code of the token's logic, you need to navigate to the "Contract" tab and then select the "Read as Proxy" or "Write as Proxy" sub-tabs. This ensures you are interacting with the underlying implementation contract rather than just the proxy shell.
Let's illustrate the rebasing nature of aTokens
by examining a supply transaction on Etherscan.
Imagine a user supplies 5.103091641659537865 DAI
to Aave V3 on Ethereum. The Etherscan transaction details would show:
ERC-20 Tokens Transferred:
The user Sent
: 5.103091641659537865 Dai Stablecoin (DAI)
to an Aave V3 contract.
The user Received
: 5.103091641659537865 Aave Ethereum DAI V3
(this is the aEthDAI
token).
There might be an internal transfer where Aave V3 also "receives" the DAI.
Critically, there's a minting event for the aEthDAI
: Sent
(from Null Address 0x00...000
) 5.103091641659537865 Aave Ethereum DAI V3
to the user's address.
Inspecting the aEthDAI
Contract (e.g., 0x018008bfb33d285247A21d44E50697654f754e63
)
Navigate to the aEthDAI
token contract address on Etherscan.
Click the "Contract" tab, then "Code". You'll likely see it identified as an InitializableImmutableAdminUpgradeabilityProxy
or similar proxy contract.
To interact with its actual logic, click the "Read as Proxy" tab.
Locate the balanceOf(address user)
function (often function #9 in the list).
Enter the user's wallet address (e.g., 0xd24cBa75...f49E
) into the user
field and click "Query".
Observing the Rebasing Effect:
Initial Balance Query: You might see a result like uint256 : 5149430588809018496
(representing the initial 5.103... aEthDAI
, but in its smallest denomination).
Subsequent Balance Queries: Without any new on-chain transactions (no new supply, withdrawal, or transfer), wait a short period and click "Query" on the balanceOf
function again. You will observe a slightly higher balance, for example, uint256 : 5149430837216445173
.
Querying a third time after another brief interval might show an even higher balance, like uint256 : 5149430936579415844
.
This incremental increase in the balanceOf
result, without any corresponding transactions, directly demonstrates the rebasing nature of the aToken
. The balance grows autonomously as interest accrues.
The same rebasing principle applies to variable debt tokens when you borrow assets.
Consider a transaction where a user borrows WETH from Aave V3 using a variable interest rate. Etherscan might show:
Internal Transactions: The user Received
an amount of ETH (e.g., 0.000985253251077848 ETH
), which is then typically wrapped into WETH.
ERC-20 Tokens Transferred:
The user Received
: 0.000985253251077848 Wrapped Ether (WETH)
(the actual borrowed asset).
The user also Received
: 0.000985253251077848 Aave Ethereum Variable Debt WETH
(the debt token).
This debt token is minted from the Null Address to the user's address.
Inspecting the Variable Debt WETH Contract (e.g., 0xeA51d7853EEFb32b6e06b1C12E6dCCA88Be0ffFE
)
Go to the Variable Debt WETH token contract address on Etherscan.
Click the "Contract" tab, then "Code". Again, you'll see it's a proxy contract (e.g., InitializableImmutableAdminUpgradeabilityProxy
).
Click the "Read as Proxy" tab.
Find the balanceOf(address user)
function (often function #8).
Input the user's address and click "Query".
Observing Debt Accumulation:
Initial Debt Balance: The query might return an initial debt balance, for instance, uint256 : 1771533521731055
(representing the initial 0.000985... WETH debt in its smallest unit).
Subsequent Debt Balance Queries: After a short while, querying balanceOf
again, without any repayment or further borrowing, will show an increased value, such as uint256 : 1771533556084135
.
A third query might yield uint256 : 1771533573260675
.
This increasing balance of the variable debt token signifies the accumulation of interest on the borrowed amount. Your debt is growing over time, and this is directly reflected by the rebasing nature of the debt token.
Understanding the behavior of tokens within Aave V3 is crucial for effectively managing your DeFi positions. Here are the key points:
Supplying Assets: When you supply assets to Aave V3, you receive corresponding aTokens
(e.g., aEthDAI
). These tokens represent your deposited principal plus accrued interest.
Borrowing Assets (Variable Rate): When you borrow assets from Aave V3 at a variable interest rate, you receive variable debt tokens
(e.g., Aave Ethereum Variable Debt WETH
). These tokens represent your outstanding loan principal plus accumulated interest.
Rebasing Nature: Both aTokens
and variable debt tokens
are rebasing tokens. This means their balances in your wallet change automatically over time to reflect interest accrual (for aTokens
) or interest accumulation (for variable debt tokens
), without requiring new mint, burn, or transfer transactions.
Proxy Contracts: These Aave V3 tokens are implemented as proxy contracts. This allows for protocol upgrades without changing the token addresses. When interacting with them on Etherscan, remember to use the "Read as Proxy" (or "Write as Proxy") option under the "Contract" tab to see the underlying logic and state.
balanceOf()
Function: The balanceOf(address)
function on these token contracts will return the current, up-to-date value. For aTokens
, this is your principal plus all earned interest. For variable debt tokens
, this is your outstanding debt including all accumulated interest.
Dynamic Balances: Querying the balanceOf()
function multiple times in succession on Etherscan will likely show slightly different values due to the continuous, real-time nature of interest calculation and the rebasing mechanism.
By grasping these concepts, you can better interpret your Aave V3 positions and understand how interest is managed directly at the token level within this advanced DeFi protocol.
A foundational exploration to Aave V3's Interest-Tracking Tokens: aTokens & Variable Debt - Discover Aave V3's aTokens, representing supplied assets plus accruing interest, and variable debt tokens, which track your growing borrowed amounts. Understand their rebasing mechanism that automatically adjusts token balances to reflect real-time interest changes, and see how to observe this on Etherscan.
Previous lesson
Previous
Next lesson
Next
Give us feedback
Course Overview
About the course
Aave V3 core functionalities and key features
APY & APR, market forces, utilization rates, interest rate models
Reserves, ATokens, debt tokens, liquidity and borrow index
Aave smart contracts architecture
Supply, borrow, repay, withdrawal, liquidation
Compound interest
Reserve factors, liquidation pricing, credit delegation, LTV
Aave V3 flash loans
How to buy long and sell short using Aave V3
How to build a functional app to buy long, sell short, and close a position.
Last updated on July 25, 2025
Duration: 8min
Duration: 49min
Duration: 43min
Duration: 12min
Course Overview
About the course
Aave V3 core functionalities and key features
APY & APR, market forces, utilization rates, interest rate models
Reserves, ATokens, debt tokens, liquidity and borrow index
Aave smart contracts architecture
Supply, borrow, repay, withdrawal, liquidation
Compound interest
Reserve factors, liquidation pricing, credit delegation, LTV
Aave V3 flash loans
How to buy long and sell short using Aave V3
How to build a functional app to buy long, sell short, and close a position.
Last updated on July 25, 2025