# 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:
- web3.js (opens new window)
- web3.py (opens new window)
- eth.rb (opens new window)
- cURL (opens new window)
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:
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
See also