You can get token balances across multiple chains and networks by calling the getMultichainBalances function. This function fetches cryptocurrency and token balances for wallet addresses across different chains, networks and addresses specified in the request.

Usage

import { getMultichainBalances } from '@dynamic-labs-sdk/client';

const chainBalances = await getMultichainBalances({
  balanceRequest: {
    filterSpamTokens: true, // Optional: filter out spam tokens (default: true)
    balanceRequests: [
      {
        address: "0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0",
        chain: "EVM",
        networkIds: [1, 137, 56], // Ethereum, Polygon, BNB
        whitelistedContracts: ["0x..."] // Optional: contracts to not filter out
      },
      {
        address: "CKEAuq1E7hUcrjDcu1xP6nax3YBvEhhq7qaCzDUkPNer",
        chain: "SOL",
        networkIds: [101] // Solana mainnet
      }
    ]
  }
});

Parameters

ParameterTypeDescription
balanceRequestMultichainAccountBalancesRequestThe balance request configuration

MultichainAccountBalancesRequest

ParameterTypeRequiredDescription
filterSpamTokensBooleanNoFilter out spam tokens (default: true)
balanceRequestsArrayYesArray of balance request objects

Balance Request Object

ParameterTypeRequiredDescription
addressStringYesThe wallet address
chainChainEnumYesChain type (EVM, SOL, BTC, etc.)
networkIdsArray<Number>YesArray of network IDs to query
whitelistedContractsArray<String>NoContract addresses to not filter out

Response

The function returns a Promise that resolves to chainBalances - an array of chain balance objects organized by chain and network.