Moonbeam Blockchain Data Indexing API

Moonbeam Quick Facts

Moonbeam is an Ethereum-compatible smart contract parachain on Polkadot. Moonbeam is much more than just an EVM implementation: it’s a highly specialized Layer 1.5 chain that mirrors Ethereum’s Web3 RPC, accounts, keys, subscriptions, logs, and more. The Moonbeam platform extends the base Ethereum feature set with additional features such as on-chain governance, staking, and cross-chain integrations.

Don't Have an API Key?

Sign up to start building on Moonbeam.

Unlock millions of requests and free archive data on all chains.

Network Status

Supported Endpoints

Code Samples

Get token balances for address

GET/v1/{chainName}/address/{walletAddress}/balances_v2/

Commonly used to fetch the native, fungible (ERC20), and non-fungible (ERC721 & ERC1155) tokens held by an address. Response includes spot prices and other metadata.

Costs:

1.00 Credits

Processing:

Realtime

Path Params

The chain name eg:  eth-mainnet.
moonbeam-mainnet
The requested address. Passing in an  ENS,  RNS,  Lens Handle, or an  Unstoppable Domain resolves automatically.

Query Params

The currency to convert. Supports  USD,  CAD,  EUR,  SGD,  INR,  JPY,  VND,  CNY,  KRW,  RUB,  TRY,  NGN,  ARS,  AUD,  CHF, and  GBP.
If  true, NFTs will be included in the response.
If  true, only NFTs that have been cached will be included in the response. Helpful for faster response times.
If  true, the suspected spam tokens are removed. Supports  eth-mainnet and  matic-mainnet.
If  true, the response shape is limited to a list of collections and token ids, omitting metadata and asset information. Helpful for faster response times and wallets holding a large number of NFTs.
Show Guides
Installation
npm install @covalenthq/client-sdk
Request
import { CovalentClient } from "@covalenthq/client-sdk";

const ApiServices = async () => {
    const client = new CovalentClient("YOUR_API_KEY");
    const resp = await client.BalanceService.getTokenBalancesForWalletAddress("moonbeam-mainnet");
    console.log(resp.data);
}