Skip to main content

Client SDK

Client SDK The main Avalanche client SDK for interacting with Avalanche nodes and building blockchain applications. Features:
  • Complete API coverage for P-Chain, X-Chain, and C-Chain
  • Full viem compatibility - anything you can do with viem works here
  • TypeScript-first design with full type safety
  • Abstractions over the JSON-RPC API to make your life easier
  • Wallet integration and transaction management
  • First-class APIs for interacting with Smart Contracts
  • Retrieve balances and UTXOs for addresses
  • Build, sign, and issue transactions to any chain
  • Perform cross-chain transfers between X, P and C chains
  • Add validators and delegators
  • Create subnets and blockchains, convert subnets to L1s
The SDK is currently available in TypeScript, with more languages coming soon. If you are interested in a language that is not listed, please reach out to us in the #dev-tools channel in the Avalanche Discord.

SDK Installation

npm add @avalanche-sdk/client

SDK Example Usage

import { createAvalancheClient } from '@avalanche-sdk/client'
import { avalanche } from '@avalanche-sdk/client/chains'

const client = createAvalancheClient({
  chain: avalanche,
  transport: {
    type: "http"
  }
})

// Get account balance
const balance = await client.getBalance({ 
  address: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
})

Refer to the code samples provided for each route to see examples of how to use them in the SDK. Explore routes here Data API, Metrics API & Webhooks API.
I