> For the complete documentation index, see [llms.txt](/llms.txt).

# Avalanche (C-Chain) quickstart

This quickstart guide will help you set up and make calls on Avalanche C-Chain using the Infura endpoints.

Don't have an Infura account? Sign up for our free plan and start using the Avalanche C-Chain network!

[Sign up](https://app.infura.io/register)

## Prerequisites[​](#prerequisites "Direct link to Prerequisites")

Ensure you have an [API key](/developer-tools/dashboard/get-started/create-api/) with the Avalanche C-Chain network enabled.

## Make calls[​](#make-calls "Direct link to Make calls")

### curl[​](#curl "Direct link to curl")

Run the following command in your terminal, replacing `<YOUR-API-KEY>` with your actual Infura API key:

```
curl https://avalanche-mainnet.infura.io/v3/<YOUR-API-KEY> \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "method": "eth_blockNumber", "params": [], "id": 1}'

```

### Node (JavaScript)[​](#node-javascript "Direct link to Node (JavaScript)")

In these examples, you'll use [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) as your package manager.

#### Node Fetch[​](#node-fetch "Direct link to Node Fetch")

1. In your project folder, install the `node-fetch` package using npm:  
```  
npm i node-fetch  
```
2. Create your JavaScript file and copy the following code:  
Replace `<YOUR-API-KEY>` with your actual Infura API key.  
index.js  
```  
import fetch from 'node-fetch'  
fetch('https://avalanche-mainnet.infura.io/v3/<YOUR-API-KEY>', {  
  method: 'POST',  
  headers: {  
    'Content-Type': 'application/json',  
  },  
  body: JSON.stringify({  
    jsonrpc: '2.0',  
    method: 'eth_blockNumber',  
    params: [],  
    id: 1,  
  }),  
})  
  .then(response => response.json())  
  .then(data => {  
    console.log(data)  
  })  
  .catch(error => {  
    console.error(error)  
  })  
```
3. Run the code using the following command:  
```  
node index.js  
```

#### Axios[​](#axios "Direct link to Axios")

1. In your project folder, install the `axios` package using npm:  
```  
npm i axios  
```
2. Create your JavaScript file and copy the following code:  
Replace `<YOUR-API-KEY>` with your actual Infura API key.  
index.js  
```  
const axios = require('axios')  
axios  
  .post('https://avalanche-mainnet.infura.io/v3/<YOUR-API-KEY>', {  
    jsonrpc: '2.0',  
    method: 'eth_blockNumber',  
    params: [],  
    id: 1,  
  })  
  .then(response => {  
    console.log(response.data)  
  })  
  .catch(error => {  
    console.error(error)  
  })  
```
3. Run the code using the following command:  
```  
node index.js  
```

#### Ethers[​](#ethers "Direct link to Ethers")

1. In your project folder, install the `ethers` package using npm:  
```  
npm install ethers  
```
2. Create your JavaScript file and copy the following code:  
Replace `<YOUR-API-KEY>` with your actual Infura API key.  
index.js  
```  
const ethers = require('ethers')  
const provider = new ethers.providers.JsonRpcProvider(  
  'https://avalanche-mainnet.infura.io/v3/<YOUR-API-KEY>'  
)  
provider  
  .getBlockNumber()  
  .then(blockNumber => {  
    console.log(blockNumber)  
  })  
  .catch(error => {  
    console.error(error)  
  })  
```
3. Run the code using the following command:  
```  
node index.js  
```

### Python[​](#python "Direct link to Python")

1. In your project folder, install the `requests` library:  
```  
pip install requests  
```
2. Create your Python file and copy the following code:  
Replace `<YOUR-API-KEY>` with your actual Infura API key.  
index.py  
```  
import requests  
import json  
url = "https://avalanche-mainnet.infura.io/v3/<YOUR-API-KEY>"  
payload = {  
  "jsonrpc": "2.0",  
  "method": "eth_blockNumber",  
  "params": [],  
  "id": 1  
}  
headers = {"content-type": "application/json"}  
response = requests.post(url, data=json.dumps(payload), headers=headers).json()  
print(response)  
```
3. Run the code using the following command:  
```  
python index.py  
```

## Next steps[​](#next-steps "Direct link to Next steps")

Now that you have successfully made a call to Avalanche C-Chain, you can explore more functionalities and APIs provided by Infura. Here are some suggestions:

- **Explore other Avalanche C-Chain APIs**: Infura supports a wide range of APIs. You can find more information in the [JSON-RPC API method documentation](/services/reference/avalanche-c-chain/json-rpc-methods/).
- **Try out different networks**: Infura supports multiple networks including Ethereum, Linea, Polygon, Optimism, and more.
- **Monitor your usage**: Monitor your usage on the [Infura dashboard](/developer-tools/dashboard/how-to/dashboard-stats/) to ensure you're not hitting your rate limits.

Remember, the MetaMask community is here to help. If you have any questions or run into any issues, check out the [MetaMask community](https://community.metamask.io/) for help and answers to common questions.
