# Avalanche API reference guide

# Start building on Avalanche using the JSON-RPC Avalanche API

This page is a collection of JSON-RPC API call examples for the Avalanche API using:

Information

The management API namespaces admin_ and personal_ are not exposed.

# What is Avalanche protocol?

Avalanche (opens new window) is an EVM-compatible protocol focused on speed and scalability.

# Avalanche C-chain

Avalanche allows anyone to create their own tailor-made application-specific blockchains, supporting multiple custom virtual machines.

The C-Chain uses the Ethereum Virtual Machine and is compatible with all essential Ethereum tooling.

Find useful Avalanche tools in the Chainstack docs.

# What is the Avalanche API

The Avalanche API allows developers to communicate with the Avalanche blockchain to build applications.

To read data from and send transactions to the Avalanche blockchain, an application must connect to an Avalanche RPC node.

When communicating with an Avalanche RPC node, the Avalanche client implements a JSON-RPC specification, a communication protocol allowing one to make remote calls and execute them as if they were made locally.

# How to start using the Avalanche API

To use the Avalanche API, you need access to an Avalanche RPC node.

Follow these steps to sign up on Chainstack, deploy an Avalanche RPC node, and find your endpoint credentials:

  1. Sign up with Chainstack.
  2. Deploy a node.
  3. View node access and credentials.

Now you are ready to connect to the Avalanche blockchain and use the Avalanche API to build.

The best way to use the Avalanche API is to use a web3 library such as Web3.js (opens new window) if using JavaScript or Web3.py (opens new window) using Python.

A web3 library makes using the Avalanche API to communicate with the Avalanche blockchain easy and efficient.

# Install web3 libraries

You will need to install the web3 libraries to be able to use them.

# Install Web3.js

Web3.js (opens new window) is a JavaScript library that allows you to communicate with an EVM node through HTTP and WebSocket.

To install, run:

npm install web3

# Install Web3.py

Web3.py (opens new window) is a Python library that allows you to communicate with an EVM node through HTTP and WebSocket.

To install, run:

pip install web3

# Install Eth.rb

Eth.rb (opens new window) is a Ruby gem that allows you to communicate with an EVM node through HTTP.

To install, run:

gem install eth