AptosAptos Network's breakthrough technology and seamless user experience are now available on QuickNode.

Start building today!     

Free Solana RPC
Documentation

Documentation for Algorand, Aptos, Arbitrum, Arbitrum Nova, Avalanche, Base, Bitcoin, BNB Smart Chain, Celo, Ethereum, Fantom, Flow, Gnosis, Harmony, NEAR, Optimism, Polygon, Polygon zkEVM, Solana, Stacks, and TRON RPCs across multiple software languages, libraries and SDKs including cURL, Python, Ruby and JavaScript.

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

Contents

QuickNode Solana RPC Overview

At QuickNode, we run Solana RPC endpoints. In aggregate we serve 100s of billions of 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 cURL, JavaScript, Python, Ruby and any applicable Web3 SDKs.

With QuickNode, you get access to our global network which always routes your API requests to the nearest available location, ensuring low latency and fastest speeds.

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!

JWT (JSON Web Tokens) - For additional security, you can also enable JWT for each of your deployed endpoints. JWT allows for stateless authentication between you and your endpoint. Learn how to use JWT with QuickNode in this step-by-step guide.

Multiple Authentication Tokens - Create multiple authentication tokens for each of your deployed endpoints. This allows you to revoke any tokens that may be comprised, without needing to restart your non-compromised endpoint.

To roll an individual authentication token, create an additional token and then delete the previous token. Learn more about multiple authentication tokens in this QuickNode guide.

Setting up Web3 SDKs & Programming Languages

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

Solana.py

Solana.py is a Python library for interacting with Solana. It is important to note that Solana.py is community-maintained and updates may not be available at the same time as the Solana Web3 API. If you'd like to use this library, please be sure to install it and its dependencies like so:

    pip install solana cachetools

JsonRpcClient

Generate JSON-RPC requests and parse responses in Python. Install it using the following command:

    pip install jsonrpcclient

Requests

Requests is an elegant and simple HTTP library for Python, built for human beings. Install it using the following command:

    python -m pip install requests

Solana/Web3.js

Solana/Web3.js is a Json RPC library on JavaScript that is updated by the Solana Labs team. You can install it with the following command:

    npm install @solana/web3.js

Axios

Axios is a promise-based HTTP Client for node.js and the browser. On the server-side it uses the native node.js http module, while on the client (browser) it uses XMLHttpRequests. Install it using the following command:

    npm install axios

WebSocket cat (wscat)

WebSocket cat (wscat) is a simple tool for connecting to WebSocket APIs in your terminal. Install it using the following command:

    npm install -g wscat

Network support

Network WSS HTTPS
Devnet
Testnet
Mainnet

We ❤️ Feedback!

If you have any feedback or questions about this documentation, let us know. We'd love to hear from you!