Assets#
Learn how to query and monitor asset information across Aave v4.
Assets represent ERC20 tokens that can be supplied, borrowed, or traded within the Aave protocol.
Asset Data Structure#
Asset data provides comprehensive information about a specific token in the protocol, including:
Token identification: id, address, symbol, name, decimals
Aggregate metrics: total supplied, total borrowed, caps, and available amounts
Reserve coverage: total number of reserves and how many are active
Current price: exchange valuation for a specific currency
- TypeScript
- GraphQL
The following TypeScript interfaces illustrate the core Asset types:
Fetching Asset Information#
Query detailed information about a specific asset.
- React
- TypeScript
- GraphQL
Use the useAsset hook to fetch asset information.
See below for examples of AssetRequest objects.
Finally, you can specify a different time window or currency for the data.
Multichain Asset#
A multichain asset aggregates a single token across every chain where it is listed as a hub asset. Tokens are grouped by their canonical symbol—the case-insensitive, alias-resolved symbol that identifies the same asset across chains—so you can show protocol-wide totals and APY ranges without querying each chain separately.
Data Structure#
A multichain asset exposes the per-chain Asset list alongside an aggregated summary.
- TypeScript
- GraphQL
The following TypeScript interfaces illustrate the core multichain asset types:
Fetching a Multichain Asset#
Select the token with exactly one of symbol or tokenInfo. Omit chainIds to aggregate across all chains, or pass a list to restrict the result.
- React
- TypeScript
- GraphQL
Use the useMultichainAsset hook to fetch an asset aggregated across chains.
See below for examples of MultichainAssetRequest objects.
By default, Merkl rewards are included in the APY range. Pass includeRewards: false for protocol base rates only.
Protocol APYs Only
const request: MultichainAssetRequest = { query: { symbol: "USDC" }, includeRewards: false,};Asset Price History#
Asset price history data provides time-series price information for an asset.
- React
- TypeScript
- GraphQL
Use the useAssetPriceHistory hook to fetch historical price data.
See below for examples of AssetPriceHistoryRequest objects.
Finally, you can specify a different currency or time window for the data.
Asset Supply History#
Asset supply history data provides time-series total supply information for an asset.
- React
- TypeScript
- GraphQL
Use the useAssetSupplyHistory hook to fetch historical supply data.
See below for examples of AssetSupplyHistoryRequest objects.
Finally, you can specify a different time window for the data.
Custom Time Window
import { TimeWindow } from "@aave/react";
const { data, error, loading } = useAssetSupplyHistory({ query: { // your query criteria }, window: TimeWindow.LastMonth,});Asset Borrow History#
Asset borrow history data provides time-series total borrow information for an asset.
- React
- TypeScript
- GraphQL
Use the useAssetBorrowHistory hook to fetch historical borrow data.
See below for examples of AssetBorrowHistoryRequest objects.
Finally, you can specify a different time window for the data.
Custom Time Window
import { TimeWindow } from "@aave/react";
const { data, error, loading } = useAssetBorrowHistory({ query: { // your query criteria }, window: TimeWindow.LastMonth,});Protocol History#
Fetch protocol-wide historical data (deposits, borrows). Pass chainIds to scope the history to specific chains, or omit it to aggregate across all of them.
- React
- TypeScript
- GraphQL
Use the useProtocolHistory hook to fetch protocol-wide historical data.