Skip to main content
Find vaults that fit your product, compare their performance, and decide what to offer users.

Initialize

import { GauntletClient } from '@gauntlet-xyz/sdk'
import { createPublicClient, http } from 'viem'
import { base } from 'viem/chains'

const client = new GauntletClient({
  evmClients: {
    [base.id]: createPublicClient({ chain: base, transport: http(process.env.RPC_URL_BASE!) }),
  },
})

List and Filter Vaults

import { getVaults } from '@gauntlet-xyz/sdk/evm'

const candidates = await getVaults(client, { chainId: base.id })
// returns:
// [
//   {
//     vaultId: "gtusda",         // SDK manifest slug — short identifier used by SDK methods
//     name: "gtUSDa",
//     protocol: "aera",
//     strategy: "...",
//     deployments: [
//       {
//         chain: "evm",
//         chainId: 8453,
//         vaultAddress: "0x...",
//         vaultType: "multi-depositor",
//         depositMode: "async",
//         supplyToken: [{ symbol: "USDC", address: "0x...", decimals: 6 }]
//       }
//     ]
//   },
//   ...
// ]
The SDK getVaults function reads from the bundled vault manifest — no network request. For live metrics such as APY and TVL, use the API.

Get Vault Detail — gtUSDa

The API identifies vaults by a chain_id:address string (e.g. gtUSDa on Base is 8453:0x000000000001cdb57e58fa75fe420a0f4d6640d5). Use a deployment’s chain ID and vault address from /v1/vaults or the SDK manifest.
API
const GTUSDA_BASE = '8453:0x000000000001cdb57e58fa75fe420a0f4d6640d5'

const [{ data: detail }, { data: latest }] = await Promise.all([
  apiGet(`/v1/vaults/${GTUSDA_BASE}`),
  apiGet(`/v1/vaults/${GTUSDA_BASE}/latest`),
])
// detail → {
//   name: "gtUSDa",
//   deployments: [
//     { chain: "base", address: "0x000000000001CdB57E58Fa75Fe420a0f4D6640D5" }
//   ]
// }
// latest → {
//   metrics: {
//     apy: { value: "8.2" },
//     tvl_usd: { value: "45000000" },
//     share_price: { value: "1.032" }
//   }
// }

Chart Historical Performance

API
const { data: points } = await apiGet(
  `/v1/vaults/${GTUSDA_BASE}/timeseries?interval=day&start=2026-01-01`
)
// returns:
// [
//   { timestamp: "2026-01-01", apy: "7.9", tvl_usd: "42000000" },
//   { timestamp: "2026-01-02", apy: "8.0", tvl_usd: "42500000" },
//   ...
// ]

What’s Next

Once you’ve picked gtUSDa (or another vault), move to the deposit flow.

Deposit Your First Dollar

Use the SDK to deposit 1,000 USDC into gtUSDa on Base.

Vault API Reference

Full vault listing, detail, metrics, timeseries, and events endpoints.