Skip to main content
The Gauntlet SDK is the entry point for building on-chain integrations with Gauntlet. It handles vault discovery, deposit and withdrawal transaction building, user balance queries, and attribution — so you don’t need to write low-level contract calls. Use it to:
  • discover and filter vaults by chain and protocol
  • prepare deposits and withdrawals with automatic approval handling
  • query live user positions (pending, active, and queued withdrawals)
  • carry attribution context on every transaction

Two 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. 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.
import { GauntletClient } from '@gauntlet-xyz/sdk'
import { createWalletClient, http, createPublicClient } from 'viem'
import { base } from 'viem/chains'

const client = new GauntletClient({
  evmClients: {
    [base.id]: createPublicClient({ chain: base, transport: http(process.env.RPC_URL_BASE!) }),
  },
  wallet: createWalletClient({
    account,
    chain: base,
    transport: http(process.env.RPC_URL_BASE!),
  }),
})
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 live vault metrics (APY, TVL, share price) and user portfolio history, use the Gauntlet REST API directly.

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.