Skip to main content
The Gauntlet SDK is the entry point for building integrations with Gauntlet. It handles vault discovery, live vault metrics, deposit and withdrawal transaction building, user balance and activity queries, and attribution — so you don’t need to write low-level contract calls or raw API requests. Use it to:
  • discover and filter vaults by chain and protocol
  • read live vault metrics (TVL, APY, share price) and their history
  • prepare deposits and withdrawals with automatic approval handling
  • read live Aera sync/async token capabilities before showing an action
  • quote Aera instant withdrawals and pin the quote bounds into the transaction
  • query live user positions (pending, active, and queued withdrawals) and PnL
  • track a wallet’s deposit/withdrawal lifecycle and wait for async settlement
  • carry attribution context on every transaction

Three Paths, One Client

Vault discovery — the SDK reads from a bundled vault manifest to give you typed access to all supported vaults, their deployments, accepted tokens, and deposit modes. No network request required. Data pathclient.api is a typed client for the Gauntlet REST API: live vault metrics and timeseries, user positions with PnL, the wallet activity log, aggregate TVL, and token prices. Response types are generated from the API’s OpenAPI spec, so they cannot drift from the server. No RPC required. Transaction path — the SDK communicates on-chain via your RPC URLs to read allowances and vault state, then returns pre-encoded transaction objects you sign and submit. Uses your viem PublicClient and WalletClient.
Signing stays entirely in your stack — the SDK never touches private keys. The wallet you provide is used to determine the sender account for allowance checks; you sign the resulting steps yourself. For Aera instant withdrawals, call getAeraTokenModeSupport first. Its sync flags include the live V2 solving gate and are false while that gate pauses the provisioner/token pair. When syncRedeem is true, call getSyncWithdrawQuote with exactly one of amount, shares, or entireAmount: true, then pass that quote as syncWithdrawQuote to getWithdrawTx. The builder validates that the quote still belongs to the same vault, chain, token, account, slippage, and request. If transaction slippage is omitted, the builder uses the quote’s value; an explicit value must match. entireAmount quotes require an explicit account because quoting does not require a wallet. Transaction building always uses wallet.account; if you also pass account, it must match the wallet. shares and entireAmount quotes with slippageBps: 10000 are rejected because they would produce minTokensOut: 0. Using an embedded wallet? @gauntlet-xyz/sdk/privy sets up a fully configured client from a Privy wallet in one call — see the reference. If you only need data — no transactions — construct the client with just an API key and use client.api:

Go Deeper

Installation

Install the SDK and configure your project.

Examples

Deposits, withdrawals, balance queries, and error handling.

Reference

Constructor, methods, result shapes, and errors.

Deposit Your First Dollar

The full integration guide with SDK and API confirmation.