Vaults Data
Retrieve your Aave vaults.
Vault Structure
Aave vault data provides comprehensive information about ERC-4626 compliant yield-bearing vaults, including:
Vault identification (address, owner, share token details)
Reserve information (underlying asset, yield strategy)
Fee structure (performance fees, accumulated revenue)
Vault metrics (total balance, user shares)
When you provide a user account address, the data also includes user-specific information such as vault shares owned, deposited amounts, and withdrawn amounts.
- TypeScript
- GraphQL
The following TypeScript interfaces illustrate the core Vault type and its related types:
List Vaults
Fetch multiple vaults with filtering and pagination support.
- React
- TypeScript
- GraphQL
Use the useVaults hook to fetch paginated vaults.
Fetch vaults owned by a specific address.
Owned Vaults
import { useVaults, evmAddress, PageSize } from "@aave/react";
// …
const { data, loading, error } = useVaults({ criteria: { ownedBy: [evmAddress("0x742d35cc6e5c4ce3b69a2a8c7c8e5f7e9a0b1234")], }, pageSize: PageSize.TEN,});
if (loading) { return <p>Loading…</p>;}
if (error) { return <p>{error.message}</p>;}
// data.items: Vault[]// data.pageInfo.next: Cursor | null// data.pageInfo.prev: Cursor | null
Use a user address to include user-specific vault data.
With User State
import { useVaults, evmAddress, PageSize } from "@aave/react";
// …
const { data, loading, error } = useVaults({ criteria: { ownedBy: [evmAddress("0x742d35cc6e5c4ce3b69a2a8c7c8e5f7e9a0b1234")], }, pageSize: PageSize.TEN, user: evmAddress("0x742d35cc6e5c4ce3b69a2a8c7c8e5f7e9a0b1234"),});
Single Vault
Retrieve detailed information about a specific vault including underlying reserve and user shares.
- React
- TypeScript
- GraphQL
Use the useVault hook to fetch detailed information about a specific vault.
Fetch a specific vault by address.
An Ethereum Vault
import { useVault, evmAddress, chainId } from "@aave/react";
// …
const { data, loading, error } = useVault({ by: { address: evmAddress("0x1234567890abcdef1234567890abcdef12345678"), }, chainId: chainId(1),});
if (loading) { return <p>Loading vault...</p>;}
if (error) { return <p>Error: {error.message}</p>;}
if (!data) { return <p>Vault not found</p>;}
// data: Vault
Use a user address to include user-specific vault data.
With User State
import { useVault, evmAddress, chainId } from "@aave/react";
// …
const { data, loading, error } = useVault({ by: { address: evmAddress("0x1234567890abcdef1234567890abcdef12345678"), }, chainId: chainId(1), user: evmAddress("0x742d35cc6e5c4ce3b69a2a8c7c8e5f7e9a0b1234"),});
User Vault Positions
Track user vault positions and shares across Aave vaults.
- React
- TypeScript
- GraphQL
Use the useUserVaults hook to fetch paginated vaults that a user has shares in.
Fetch user vaults ordered by shares amount.
User Vaults
import { useUserVaults, evmAddress, PageSize, OrderDirection,} from "@aave/react";
// …
const { data, loading } = useUserVaults({ user: evmAddress("0x742d35cc6e5c4ce3b69a2a8c7c8e5f7e9a0b1234"), orderBy: { shares: OrderDirection.DESC }, pageSize: PageSize.FIFTY,});
if (loading) { return <p>Loading positions...</p>;}
// data.items: Vault[]// data.pageInfo.next: Cursor | null// data.pageInfo.prev: Cursor | null
User Vault Transaction History
Track user vault transaction history.
- React
- TypeScript
- GraphQL
Use the useVaultUserTransactionHistory hook to fetch a paginated user's vault transaction history.
Fetch user vault transaction history ordered by date.
User Vault Transactions
import { useVaultUserTransactionHistory, evmAddress, PageSize, OrderDirection,} from "@aave/react";
// …
const { data, loading } = useVaultUserTransactionHistory({ user: evmAddress("0x742d35cc6e5c4ce3b69a2a8c7c8e5f7e9a0b1234"), vault: evmAddress("0x1234567890abcdef1234567890abcdef12345678"), chainId: chainId(1), orderBy: { date: OrderDirection.DESC }, pageSize: PageSize.FIFTY,});
if (loading) { return <p>Loading transactions...</p>;}
// data.items: VaultUserTransactionHistoryItem[]// data.pageInfo.next: Cursor | null// data.pageInfo.prev: Cursor | null