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