Fetches list of ERC20, ERC721 and ERC1155 tokens and metadata in any wallet.

Sequence Indexer GetTokenBalances Method:

  • Request: POST /rpc/Indexer/GetTokenBalances
  • Content-Type: application/json
  • Body (in JSON):
    • accountAddress (string) — the wallet account address
    • includeMetadata (boolean - optional - default: false) — toggle token metadata to be included in the response
    • metadataOptions (object - optional) — additional options for metadata
      • verifiedOnly (boolean - optional) — return only contracts which are ‘verified’ to help reduce spam
      • includeContracts ([]string - optional) — list of specific contract addresses to always be included, even if verifiedOnly is enabled.
    • includeCollectionTokens (boolean - optional - default: true) — toggle to represent ERC721 / ERC1155 tokens as a single summary item in the response
curl -X POST -H "Content-Type: application/json" -H "X-Access-Key: AQAAAAAAAF_JvPALhBthL7VGn6jV0YDqaFY" https://polygon-indexer.sequence.app/rpc/Indexer/GetTokenBalances -d '{ "accountAddress": "0x8e3E38fe7367dd3b52D1e281E4e8400447C8d8B9", "includeMetadata": true }'

PRO TIP: fetching ERC721/1155 token IDs

You’ll notice that, by default, GetTokenBalances will return at most one token instance from each contract. In order to fetch ERC721/1155 token balances, you must pass the contractAddress to the GetTokenBalances method. This will return all of the tokens owned by accountAddress from the specified contractAddress. See section below for more information.

Fetch token IDs, balances and metadata of ERC721 and ERC1155 collections.

Sequence Indexer GetTokenBalances Method:

  • Request: POST /rpc/Indexer/GetTokenBalances
  • Content-Type: application/json
  • Body (in JSON):
    • accountAddress (string) — the wallet account address
    • contractAddress (string) — the contract address of the ERC721 / ERC1155 collection
    • includeMetadata (boolean - optional - default: false) — toggle token metadata to be included in the response
    • metadataOptions (object - optional) — additional options for metadata
      • verifiedOnly (boolean - optional) — return only contracts which are ‘verified’ to help reduce spam
      • includeContracts ([]string - optional) — list of specific contract addresses to always be included, even if verifiedOnly is enabled.

Example: GetTokenBalances of a contract + account address on Polygon using an PROJECT_ACCESS_KEY

curl -X POST -H "Content-Type: application/json" -H "X-Access-Key: PROJECT_ACCESS_KEY" https://polygon-indexer.sequence.app/rpc/Indexer/GetTokenBalances -d '{ "contractAddress": "0x631998e91476DA5B870D741192fc5Cbc55F5a52E", "accountAddress": "0x8e3E38fe7367dd3b52D1e281E4e8400447C8d8B9", "includeMetadata": true }'