Free Ethereum RPC
Documentation

Documentation for Ethereum, Xdai, Binance Smart Chain, Optimism, Solana, Polygon, and Fantom RPCs across multiple software languages, libraries and SDKs including cURL, Python, Ruby and JavaScript.

Get started with Ethereum development using these docs - send suggestions for improvements to hi@quicknode.com.

Contents

QuickNode Ethereum RPC Overview

At QuickNode, we run Ethereum RPC endpoints. In aggregate we serve more than 50 billion requests every month. To make it easier for developers to integrate with QuickNode, we've created this documentation that shows how to call RPC methods using libraries in Python, Ruby, JavaScript, cURL and WSCat.

With QuickNode, you either have a dedicated endpoint which is always serving traffic from the same location as designated when you booted the endpoint or you get access to our global network which always routes to the nearest available endpoint.

Authentication Options

Token Authentication - By default, all endpoints created on QuickNode are protected by a token in the URL which looks something like this:

Please note the / at the end of the URL. Without it, you will receive 404 errors.

Approved Referrer List - For endpoints on the shared network, you are able to add a list of approved referrers. This requires any HTTP request to send a Referrer header or any WebSocket request to send a Origin header populated with one of the referrers you entered into our user panel.

Disabling Token Authentication - You can also disable the token authentication completely in your security settings for a given endpoint. This will allow anyone to make requests to the endpoint without the token.

If you're running a dedicated endpoint, you cannot disable token authentication or roll your token - so be careful where you share your endpoint URL!

Rolling Authentication Token - You can also roll your authentication token over in your security settings - when you do this, the previous authentication token will be immediately revoked/disabled, so please be careful with this.

Installing Web3 SDKs

cURL

Most *nix based systems have cURL support out of the box. cURL is a command line tool and library for transferring data with URLs. Check if you have it by running the following:

curl -h

Web3.py

Web3.py is a Python library for interacting with Ethereum. If you'd like to use it, please be sure to install it like so:

pip install web3

Ethers.js

At QuickNode we prefer ethers.js as our JS library for interacting with JSON-RPCs when possible. Ethers aims to be a complete and compact library for interacting with the Ethereum Blockchain and its ecosystem. If you'd like to use it, please be sure to install it like so:

npm install --save ethers

Web3.js

There is also Web3.js - it's a collection of libraries that allow you to interact with a local or remote ethereum node using HTTP, IPC or WebSocket. If you'd like to use it, please be sure to install it like so:

npm install web3

Ethereum.rb

The goal of ethereum.rb is to make interacting with ethereum blockchain from ruby as fast and easy as possible. If you'd like to use it, please be sure to install it like so:

gem install ethereum.rb

Network support

Network WSS HTTPS
Ropsten
Kovan
Rinkeby
Goerli 🚫 🚫
Mainnet