Skip to main content

Get started with Infura

1. Sign up to Infura

Infura is a MetaMask service that offers a comprehensive set of services to facilitate dapp and Snap development. Sign up for an account on the MetaMask Developer website.

To activate your account, verify your email address by clicking the link sent to your inbox.

API key restrictions

Based on your plan, Infura allows for the following amount of API keys:

  • Free plan - Allows one API key.
  • Developer plan - Allows up to five API keys.
  • Team plans and higher - No limit on the number of API keys.

For more information refer to the Infura pricing information.

2. View your API key

After verification, you'll be directed to the MetaMask Developer dashboard where you can view or configure your API key. Infura automatically generates the My First Key API key.

Select My First Key or the Configure link to view your API key settings.

In the All Endpoints tab that displays, all network endpoints are enabled by default, and you can view your API key.

3. Send requests

Use the API key when sending requests. The following examples interact with the Ethereum network by sending requests using HTTP:

info
  • All requests are POST requests.
  • Replace <YOUR-API-KEY> with your own unique API key.
  • We recommend using Postman if you're a Windows user.

Use a tool such as the Client Uniform Resource Locator (curl) or Postman to make requests.

3.1 Get the current block number

Retrieve the current block number.

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

You'll receive a response similar to:

{"jsonrpc": "2.0", "id": 1, "result": "0xde5fba"}

The data returned is in hexadecimal, prefixed with 0x. If you convert de5fba to decimal, the resulting number is 14573498, representing the current block number at the time the query was made.

3.2 View the Ether balance of a specified contract

Check the balance of an Ethereum smart contract.

The example code checks the latest balance of the Ethereum Proof of Stake (PoS) contract.

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

You'll receive a result similar to:

{"jsonrpc": "2.0", "id": 1, "result": "0x96c8e932f1e499c855045"}

This result is the hexadecimal value of the contract in wei (the smallest denomination of Ether).

The decimal conversion of the result is 11392978000069000000000069 wei, which equals 11392978.000069000000000069 Ether.

4. Secure your API key

Configure security settings in the Settings tab. This is optional.

For example, you can force API requests to include the API key secret and/or JSON Web Tokens (JWTs).

Settings Tab

5. View your project stats

The dashboard displays an overview of your daily request health and credit usage. Select View Stats or Stats (in the left navigation) to monitor your project request stats.

From the Stats page of the dashboard, view real-time statistics about your API usage. Optimize your app and better understand your users by reviewing your API request stats.

6. View your credit usage

The dashboard provides an overview of your daily credit usage. Select View Usage for a wider view of your credit usage.

7. Manage your account

Find additional settings in the Settings menu in the left navigation to manage your account. You can do the following: