βπ New to Alchemy? Get access to Alchemy for free here.
Estimated time to complete this guide: < 10 minutes
This guide assumes you already have an Alchemy account and access to our Dashboard.
1. π Create an Alchemy key
2. β Make a request
3. π€ Set up Alchemy as your client
4. π» Start building!
To use Alchemy's products, you need an API key to authenticate your requests.
You can create API keys from the dashboard. To make a new key, navigate to "Create App" as shown below:
Fill in the details under "Create App" to get your new key. You can also see apps you previously made and those made by your team here. Pull existing keys by clicking on "View Key" for any app.
You can also pull existing API keys by hovering over "Apps" and selecting one. You can "View Key" here, as well as "Edit App" to whitelist specific domains, see several developer tools, and view analytics.
You can interact with Alchemy's Ethereum infrastructure provider using JSON-RPC and curl.
For manual requests, we recommend interacting with the JSON-RPC
via POST
requests. Simply pass in the Content-Type: application/json
header and your query as the POST
body with the following fields:
jsonrpc
: The JSON-RPC versionβcurrently, only 2.0
is supported.
method
: The ETH API method. See API reference.β
params
: A list of parameters to pass to the method.
id
: The ID of your request. Will be returned by the response so you can keep track of which request a response belongs to.
Here is an example you can run from the command line to retrieve the current gas price:
curl https://eth-mainnet.alchemyapi.io/v2/demo \-X POST \-H "Content-Type: application/json" \-d '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":73}'
Replace https://eth-mainnet.alchemyapi.io/v2/demo with your own API key https://eth-mainnet.alchemyapi.io/v2/your-api-key.
Results:
{ "id": 73,"jsonrpc": "2.0","result": "0x09184e72a000" // 10000000000000 }
Below you will find how to set up or switch your current provider to Alchemy for Alchemy Web3, Web3.js, Web3.py, Web3j, and Ether.js. .
You may use other instantiations of the Web3 client and use the Alchemy URL of your choosing with a one-line configuration change. You will need to install web3 first with npm install web3
.
If you have an existing client, change your current node provider URL to an Alchemy URL with your API key: "https://eth-mainnet.alchemyapi.io/v2/your-api-key"
Note: The scripts below need to be run in a node context or saved in a file, not run from the command line.
There are tons of Web3 libraries you can integrate with Alchemy, however, we recommend using Alchemy Web3, a drop-in replacement for web3.js, built and configured to work seamlessly with Alchemy. This provides multiple advantages such as automatic retries and robust WebSocket support.
To install AlchemyWeb3.js, navigate to your project directory and run:
With Yarn:
yarn add @alch/alchemy-web3
With NPM:
npm install @alch/alchemy-web3
To interact with Alchemy's node infrastructure, run in NodeJS or add this to a JavaScript file:
const { createAlchemyWeb3 } = require("@alch/alchemy-web3");const web3 = createAlchemyWeb3("https://eth-mainnet.alchemyapi.io/v2/your-api-key");
For a more detailed explanation of import functions in JavaScript, read this!
To use the any of the libraries below, you will need to install web3 first with npm install web3
. Once you've installed web3, add any one of the below code snippets to a new JavaScript, Python, or Java file (depending on which library you choose).
See the official documentation for quick start guides and more information.
// JavaScript: web3.jsconst Web3 = require('web3');const web3 = new Web3("https://eth-mainnet.alchemyapi.io/v2/your-api-key");
See the official documentation for quick start guides and more information.
# Python: web3.pyweb3 = Web3(Web3.HTTPProvider("https://eth-mainnet.alchemyapi.io/v2/your-api-key"));
See the official documentation for quick start guides and more information.
// Java: web3jWeb3j web3 = Web3j.build(new HttpService("https://eth-mainnet.alchemyapi.io/v2/your-api-key"));
See the official documentation for quick start guides and more information.
// Ethers.jsconst url = "https://eth-mainnet.alchemyapi.io/v2/your-api-key";const customHttpProvider = new ethers.providers.JsonRpcProvider(url);
Don't know where to start? Check out these three tutorials to get more familiar with Alchemy and blockchain development:
Write a simple web3 script that gets the latest block number
Try deploying your first smart contract and get your hands dirty with some solidity programming
test your dashboard knowledge with the Dashboard Demo Appβ