Markets Data
Learn how to discover available markets and access detailed market information in Aave.
Market Structure
Aave market data provides comprehensive information about lending pools across different chains, including:
Market identification (name, chain, address)
The reserves in the market
Efficiency mode (eMode) categories and configurations
Market metrics (total size, available liquidity)
When you provide a user account address, the data also includes user-specific information such as net worth, health factor, and current positions.
- TypeScript
- GraphQL
The following TypeScript interfaces illustrate the core Market type and its related types:
Reserve Structure
Each reserve within an Aave market provides comprehensive lending and borrowing data for a specific asset, including:
Token information (underlying, aToken, vToken addresses and metadata)
Supply information (APY, liquidity, caps, collateral configuration)
Borrow information (APY, available liquidity, utilization rates, caps)
Reserve incentives (Merit programs, Aave governance rewards)
Market mechanics (flash loans, permits, pause/freeze states)
Efficiency mode (eMode) configurations for the asset
Isolation mode settings (if applicable)
User-specific state (balances, borrowable amounts, collateral usage)
When you provide a user account address, the reserve data also includes user-specific information such as current balances, borrowing capacity, and collateral status.
- TypeScript
- GraphQL
The following TypeScript interfaces illustrate the core Reserve type and its related types:
Listing Available Markets
Discover all available Aave markets across supported blockchain networks.
- React
- TypeScript
- GraphQL
Use the useAaveMarkets hook to fetch a list of Aave markets.
Specify one or more chains to retrieve markets for.
Ethereum Markets
import { useAaveMarkets, chainId } from "@aave/react";
// …
const { data, loading, error } = useAaveMarkets({ chainIds: [chainId(1)],});
if (loading) { return <p>Loading…</p>;}
if (error) { return <p>{error.message}</p>;}
// data: Market[]
Use a user address to include account-level data for each market and reserve.
With User State
import { useAaveMarket, evmAddress, chainId } from "@aave/react";
const { data, loading, error } = useAaveMarket({ chainId: chainId(1), user: evmAddress("0x742d35cc6e5c4ce3b69a2a8c7c8e5f7e9a0b1234"),});
Single Market
Retrieve detailed information about a specific market including reserves and user state.
- React
- TypeScript
- GraphQL
Use the useAaveMarket hook to fetch detailed information about a specific market.
Fetch a specific market by address and chain.
Ethereum Market
import { useAaveMarket, evmAddress, chainId } from "@aave/react";
// …
const { data, loading, error } = useAaveMarket({ address: evmAddress("0x87870bca3f3fd6335c3f4ce8392d69350b4fa4e2"), chainId: chainId(1),});
if (loading) { return <p>Loading market...</p>;}
if (error) { return <p>Error: {error.message}</p>;}
if (!data) { return <p>Market not found</p>;}
// data: Market
Use a user address to include account-level data for the market and its reserves.
With User State
import { useAaveMarket, evmAddress, chainId } from "@aave/react";
// …
const { data, loading, error } = useAaveMarket({ address: evmAddress("0x87870bca3f3fd6335c3f4ce8392d69350b4fa4e2"), chainId: chainId(1), user: evmAddress("0x742d35cc6e5c4ce3b69a2a8c7c8e5f7e9a0b1234"),});
APY History
Retrieve historical APY data for reserves to analyze interest rate trends over time.
- React
- TypeScript
- GraphQL
Use the useBorrowAPYHistory and useSupplyAPYHistory hooks to fetch historical APY data for specific reserves.
Fetch borrow/supply APY history for a specific reserve over the last week.
Available time windows include:
TimeWindow.LastDay
TimeWindow.LastWeek
TimeWindow.LastMonth
TimeWindow.LastSixMonths
TimeWindow.LastYear
Reserve Incentives
Aave reserves may offer additional incentives beyond base lending rates. These incentives come from two main sources:
Merit Programs
Third-party programs that provide extra APR rewards for specific lending activities. These require separate claiming through external platforms.
Aave Governance Rewards
Incentives set by Aave governance through the RewardsController, typically distributed in AAVE tokens or other approved reward tokens.
Incentive Types
Supply Incentives: Extra APR for supplying assets to reserves
Borrow Incentives: APR discounts for borrowing from reserves
Conditional Incentives: Bonus rewards requiring specific supply + borrow combinations
Each reserve's incentives array contains all active incentive programs. The incentive data includes:
APR bonuses/discounts with formatted percentages
Reward token information (for Aave governance incentives)
Claim links (for Merit programs)
Conditional requirements (for complex incentives)
Example Usage
Use incentive data to:
Calculate total effective APR (base + incentive rates)
Display available reward programs to users
Direct users to appropriate claiming mechanisms
Show conditional incentive requirements