Skip to main content

Making RPC Calls Using Avalanche SDK

In this guide, you will learn how to make JSON-RPC calls to Avalanche’s chains using the Avalanche SDK Client, a TypeScript SDK that provides comprehensive tools to interact with all Avalanche chains (P-Chain, X-Chain, C-Chain) and various APIs, including wallet functionality for transaction signing and management.

Prerequisites

Before you begin, make sure you have the following:
  • Node.js (v14+) installed on your machine
  • Basic familiarity with TypeScript/JavaScript and the command line
  • Access to an Avalanche node endpoint (public or private)

Step 1: Install Dependencies

Create a new project and install the required packages:

Step 2: Create the Avalanche Client

Create a new file called avalancheClient.ts to set up the Avalanche SDK client:

Step 3: P-Chain Operations

Create a file called pChainOperations.ts to demonstrate P-Chain operations:

Step 4: X-Chain Operations

Create a file called xChainOperations.ts for X-Chain operations:

Step 5: Wallet Operations

Create a file called walletOperations.ts to demonstrate wallet functionality:

Step 6: Cross-Chain Transfers

Create a file called crossChainTransfers.ts for cross-chain transfer examples:

Step 7: Advanced Transport Configuration

The SDK supports multiple transport types for different use cases:

Using Environment Variables

For production use, store sensitive data in environment variables:

Conclusion

The Avalanche SDK provides a comprehensive set of tools for interacting with the Avalanche network:
  • Multi-Chain Support: Complete API coverage for P-Chain, X-Chain, and C-Chain
  • Wallet Functionality: Transaction signing, account management, and cross-chain transfers
  • Type Safety: Full TypeScript support with auto-completion
  • Transport Flexibility: HTTP, WebSocket, and fallback options for different use cases
  • Built on Viem: Full compatibility with viem functionality
For more examples and detailed documentation: