Ava Labs EVM Balances API

Find information about balances on EVM-compatible chains, such as the Avalanche C-Chain.

Operations 5

GET /v1/chains/{chainId}/addresses/{address}/balances:getNative Get native token balance #
GET /v1/chains/{chainId}/addresses/{address}/balances:listErc20 List ERC-20 balances #
GET /v1/chains/{chainId}/addresses/{address}/balances:listErc721 List ERC-721 balances #
GET /v1/chains/{chainId}/addresses/{address}/balances:listErc1155 List ERC-1155 balances #
GET /v1/chains/{chainId}/addresses/{address}/balances:listCollectibles List collectible (ERC-721/ERC-1155) balances #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ava-labs-evm-balances-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ava-labs-evm-balances-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Data EVM Balances API
  description: The Data API provides web3 application developers with multi-chain data related to Avalanche's primary network, Avalanche subnets, and Ethereum. With Data API, you can easily build products that leverage real-time and historical transaction and transfer history, native and token balances, and various types of token metadata. The API is in Beta and may be subject to change.</br></br>If you have feedback or feature requests for the API, please submit them <a href="https://portal.productboard.com/dndv9ahlkdfye4opdm8ksafi/tabs/4-glacier-api">here</a>. Bug reports can be submitted <a href="https://docs.google.com/forms/d/e/1FAIpQLSeJQrcp7QoNiqozMDKrVJGX5wpU827d3cVTgF8qa7t_J1Pb-g/viewform">here</a>, and any potential security issues can be reported <a href="https://immunefi.com/bounty/avalabs">here</a>.
  version: 1.0.0
  contact: {}
servers:
- url: https://glacier-api.avax.network
security:
- apiKey: []
- {}
tags:
- name: EVM Balances
  description: Find information about balances on EVM-compatible chains, such as the Avalanche C-Chain.
paths:
  /v1/chains/{chainId}/addresses/{address}/balances:getNative:
    get:
      operationId: getNativeBalance
      x-speakeasy-group: data.evm.address.balances
      x-speakeasy-name-override: getNative
      x-execution-weight: medium
      summary: Get native token balance
      description: 'Gets native token balance of a wallet address.


        Balance at a given block can be retrieved with the `blockNumber` parameter.'
      parameters:
      - name: blockNumber
        required: false
        in: query
        description: The block number, if not defined the block number will be the latest block.
        example: '6479329'
        schema:
          type: string
      - name: chainId
        required: true
        in: path
        description: A supported evm chain id or blockchain id. Use the `/chains` endpoint to get a list of supported chain ids.
        example: '43114'
        schema:
          type: string
      - name: address
        required: true
        in: path
        description: A wallet address.
        example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F'
        schema:
          type: string
      - name: currency
        required: false
        in: query
        description: The currency that return values should use. Defaults to USD.
        example: usd
        schema:
          $ref: '#/components/schemas/CurrencyCode'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetNativeBalanceResponse'
        '400':
          description: "Bad requests generally mean the client has passed invalid \n    or malformed parameters. Error messages in the response could help in \n    evaluating the error."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
        '401':
          description: "When a client attempts to access resources that require \n    authorization credentials but the client lacks proper authentication \n    in the request, the server responds with 401."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
        '403':
          description: "When a client attempts to access resources with valid\n    credentials but doesn't have the privilege to perform that action, \n    the server responds with 403."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Forbidden'
        '404':
          description: "The error is mostly returned when the client requests\n    with either mistyped URL, or the passed resource is moved or deleted, \n    or the resource doesn't exist."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        '429':
          description: "This error is returned when the client has sent too many,\n    and has hit the rate limit."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequests'
        '500':
          description: "The error is a generic server side error that is \n    returned for any uncaught and unexpected issues on the server side. \n    This should be very rare, and you may reach out to us if the problem \n    persists for a longer duration."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
        '502':
          description: "This is an internal error indicating invalid response \n      received by the client-facing proxy or gateway from the upstream server."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGateway'
        '503':
          description: "The error is returned for certain routes on a particular\n    Subnet. This indicates an internal problem with our Subnet node, and may \n    not necessarily mean the Subnet is down or affected."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailable'
      tags:
      - EVM Balances
      x-codeSamples:
      - lang: javascript
        label: JavaScript
        source: "import { Avalanche } from \"@avalanche-sdk/chainkit\";\n\nconst avalanche = new Avalanche({\n  chainId: \"43114\",\n});\n\nasync function run() {\n  const result = await avalanche.data.evm.address.balances.getNative({\n    blockNumber: \"6479329\",\n    address: \"0x71C7656EC7ab88b098defB751B7401B5f6d8976F\",\n    currency: \"usd\",\n  });\n\n  console.log(result);\n}\n\nrun();"
  /v1/chains/{chainId}/addresses/{address}/balances:listErc20:
    get:
      operationId: listErc20Balances
      x-speakeasy-group: data.evm.address.balances
      x-speakeasy-name-override: listErc20
      x-speakeasy-pagination:
        type: cursor
        inputs:
        - name: pageToken
          in: parameters
          type: cursor
        outputs:
          nextCursor: $.nextPageToken
      x-execution-weight: medium
      summary: List ERC-20 balances
      description: 'Lists ERC-20 token balances of a wallet address.


        Balance at a given block can be retrieved with the `blockNumber` parameter.


        Balance for specific contracts can be retrieved with the `contractAddresses` parameter.'
      parameters:
      - name: blockNumber
        required: false
        in: query
        description: The block number, if not defined the block number will be the latest block.
        example: '6479329'
        schema:
          type: string
      - name: pageToken
        required: false
        in: query
        description: A page token, received from a previous list call. Provide this to retrieve the subsequent page.
        schema:
          type: string
      - name: pageSize
        required: false
        in: query
        description: The maximum number of items to return. The minimum page size is 1. The maximum pageSize is 500.
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 500
        example: '10'
      - name: filterSpamTokens
        required: false
        in: query
        description: whether to filter out spam tokens from the response. Default is true.
        schema:
          default: true
          type: boolean
      - name: chainId
        required: true
        in: path
        description: A supported evm chain id or blockchain id. Use the `/chains` endpoint to get a list of supported chain ids.
        example: '43114'
        schema:
          type: string
      - name: address
        required: true
        in: path
        description: A wallet address.
        example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F'
        schema:
          type: string
      - name: contractAddresses
        required: false
        in: query
        description: A comma separated list of contract addresses to filter by.
        example: 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7, 0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB
        schema:
          type: string
      - name: currency
        required: false
        in: query
        description: The currency that return values should use. Defaults to USD.
        example: usd
        schema:
          $ref: '#/components/schemas/CurrencyCode'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListErc20BalancesResponse'
        '400':
          description: "Bad requests generally mean the client has passed invalid \n    or malformed parameters. Error messages in the response could help in \n    evaluating the error."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
        '401':
          description: "When a client attempts to access resources that require \n    authorization credentials but the client lacks proper authentication \n    in the request, the server responds with 401."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
        '403':
          description: "When a client attempts to access resources with valid\n    credentials but doesn't have the privilege to perform that action, \n    the server responds with 403."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Forbidden'
        '404':
          description: "The error is mostly returned when the client requests\n    with either mistyped URL, or the passed resource is moved or deleted, \n    or the resource doesn't exist."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        '429':
          description: "This error is returned when the client has sent too many,\n    and has hit the rate limit."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequests'
        '500':
          description: "The error is a generic server side error that is \n    returned for any uncaught and unexpected issues on the server side. \n    This should be very rare, and you may reach out to us if the problem \n    persists for a longer duration."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
        '502':
          description: "This is an internal error indicating invalid response \n      received by the client-facing proxy or gateway from the upstream server."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGateway'
        '503':
          description: "The error is returned for certain routes on a particular\n    Subnet. This indicates an internal problem with our Subnet node, and may \n    not necessarily mean the Subnet is down or affected."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailable'
      tags:
      - EVM Balances
      x-codeSamples:
      - lang: javascript
        label: JavaScript
        source: "import { Avalanche } from \"@avalanche-sdk/chainkit\";\n\nconst avalanche = new Avalanche({\n  chainId: \"43114\",\n});\n\nasync function run() {\n  const result = await avalanche.data.evm.address.balances.listErc20({\n    blockNumber: \"6479329\",\n    pageSize: 10,\n    address: \"0x71C7656EC7ab88b098defB751B7401B5f6d8976F\",\n    contractAddresses: \"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7, 0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB\",\n    currency: \"usd\",\n  });\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
  /v1/chains/{chainId}/addresses/{address}/balances:listErc721:
    get:
      operationId: listErc721Balances
      x-speakeasy-group: data.evm.address.balances
      x-speakeasy-name-override: listErc721
      x-speakeasy-pagination:
        type: cursor
        inputs:
        - name: pageToken
          in: parameters
          type: cursor
        outputs:
          nextCursor: $.nextPageToken
      x-execution-weight: medium
      summary: List ERC-721 balances
      description: 'Lists ERC-721 token balances of a wallet address.


        Balance for a specific contract can be retrieved with the `contractAddress` parameter.'
      parameters:
      - name: pageToken
        required: false
        in: query
        description: A page token, received from a previous list call. Provide this to retrieve the subsequent page.
        schema:
          type: string
      - name: pageSize
        required: false
        in: query
        description: The maximum number of items to return. The minimum page size is 1. The maximum pageSize is 500.
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 500
        example: '10'
      - name: chainId
        required: true
        in: path
        description: A supported evm chain id or blockchain id. Use the `/chains` endpoint to get a list of supported chain ids.
        example: '43114'
        schema:
          type: string
      - name: address
        required: true
        in: path
        description: A wallet address.
        example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F'
        schema:
          type: string
      - name: contractAddress
        required: false
        in: query
        description: A contract addresses to filter by.
        example: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7'
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListErc721BalancesResponse'
        '400':
          description: "Bad requests generally mean the client has passed invalid \n    or malformed parameters. Error messages in the response could help in \n    evaluating the error."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
        '401':
          description: "When a client attempts to access resources that require \n    authorization credentials but the client lacks proper authentication \n    in the request, the server responds with 401."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
        '403':
          description: "When a client attempts to access resources with valid\n    credentials but doesn't have the privilege to perform that action, \n    the server responds with 403."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Forbidden'
        '404':
          description: "The error is mostly returned when the client requests\n    with either mistyped URL, or the passed resource is moved or deleted, \n    or the resource doesn't exist."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        '429':
          description: "This error is returned when the client has sent too many,\n    and has hit the rate limit."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequests'
        '500':
          description: "The error is a generic server side error that is \n    returned for any uncaught and unexpected issues on the server side. \n    This should be very rare, and you may reach out to us if the problem \n    persists for a longer duration."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
        '502':
          description: "This is an internal error indicating invalid response \n      received by the client-facing proxy or gateway from the upstream server."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGateway'
        '503':
          description: "The error is returned for certain routes on a particular\n    Subnet. This indicates an internal problem with our Subnet node, and may \n    not necessarily mean the Subnet is down or affected."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailable'
      tags:
      - EVM Balances
      x-codeSamples:
      - lang: javascript
        label: JavaScript
        source: "import { Avalanche } from \"@avalanche-sdk/chainkit\";\n\nconst avalanche = new Avalanche({\n  chainId: \"43114\",\n});\n\nasync function run() {\n  const result = await avalanche.data.evm.address.balances.listErc721({\n    pageSize: 10,\n    address: \"0x71C7656EC7ab88b098defB751B7401B5f6d8976F\",\n    contractAddress: \"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7\",\n  });\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
  /v1/chains/{chainId}/addresses/{address}/balances:listErc1155:
    get:
      operationId: listErc1155Balances
      x-speakeasy-group: data.evm.address.balances
      x-speakeasy-name-override: listErc1155
      x-speakeasy-pagination:
        type: cursor
        inputs:
        - name: pageToken
          in: parameters
          type: cursor
        outputs:
          nextCursor: $.nextPageToken
      x-execution-weight: medium
      summary: List ERC-1155 balances
      description: 'Lists ERC-1155 token balances of a wallet address.


        Balance at a given block can be retrieved with the `blockNumber` parameter.


        Balance for a specific contract can be retrieved with the `contractAddress` parameter.'
      parameters:
      - name: blockNumber
        required: false
        in: query
        description: The block number, if not defined the block number will be the latest block.
        example: '6479329'
        schema:
          type: string
      - name: pageToken
        required: false
        in: query
        description: A page token, received from a previous list call. Provide this to retrieve the subsequent page.
        schema:
          type: string
      - name: pageSize
        required: false
        in: query
        description: The maximum number of items to return. The minimum page size is 1. The maximum pageSize is 500.
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 500
        example: '10'
      - name: chainId
        required: true
        in: path
        description: A supported evm chain id or blockchain id. Use the `/chains` endpoint to get a list of supported chain ids.
        example: '43114'
        schema:
          type: string
      - name: address
        required: true
        in: path
        description: A wallet address.
        example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F'
        schema:
          type: string
      - name: contractAddress
        required: false
        in: query
        description: A contract addresses to filter by.
        example: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7'
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListErc1155BalancesResponse'
        '400':
          description: "Bad requests generally mean the client has passed invalid \n    or malformed parameters. Error messages in the response could help in \n    evaluating the error."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
        '401':
          description: "When a client attempts to access resources that require \n    authorization credentials but the client lacks proper authentication \n    in the request, the server responds with 401."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
        '403':
          description: "When a client attempts to access resources with valid\n    credentials but doesn't have the privilege to perform that action, \n    the server responds with 403."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Forbidden'
        '404':
          description: "The error is mostly returned when the client requests\n    with either mistyped URL, or the passed resource is moved or deleted, \n    or the resource doesn't exist."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        '429':
          description: "This error is returned when the client has sent too many,\n    and has hit the rate limit."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequests'
        '500':
          description: "The error is a generic server side error that is \n    returned for any uncaught and unexpected issues on the server side. \n    This should be very rare, and you may reach out to us if the problem \n    persists for a longer duration."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
        '502':
          description: "This is an internal error indicating invalid response \n      received by the client-facing proxy or gateway from the upstream server."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGateway'
        '503':
          description: "The error is returned for certain routes on a particular\n    Subnet. This indicates an internal problem with our Subnet node, and may \n    not necessarily mean the Subnet is down or affected."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailable'
      tags:
      - EVM Balances
      x-codeSamples:
      - lang: javascript
        label: JavaScript
        source: "import { Avalanche } from \"@avalanche-sdk/chainkit\";\n\nconst avalanche = new Avalanche({\n  chainId: \"43114\",\n});\n\nasync function run() {\n  const result = await avalanche.data.evm.address.balances.listErc1155({\n    blockNumber: \"6479329\",\n    pageSize: 10,\n    address: \"0x71C7656EC7ab88b098defB751B7401B5f6d8976F\",\n    contractAddress: \"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7\",\n  });\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
  /v1/chains/{chainId}/addresses/{address}/balances:listCollectibles:
    get:
      operationId: listCollectibleBalances
      x-speakeasy-group: data.evm.address.balances
      x-speakeasy-name-override: listCollectibles
      x-speakeasy-pagination:
        type: cursor
        inputs:
        - name: pageToken
          in: parameters
          type: cursor
        outputs:
          nextCursor: $.nextPageToken
      x-execution-weight: medium
      summary: List collectible (ERC-721/ERC-1155) balances
      description: 'Lists ERC-721 and ERC-1155 token balances of a wallet address.


        Balance for a specific contract can be retrieved with the `contractAddress` parameter.'
      parameters:
      - name: pageToken
        required: false
        in: query
        description: A page token, received from a previous list call. Provide this to retrieve the subsequent page.
        schema:
          type: string
      - name: pageSize
        required: false
        in: query
        description: The maximum number of items to return. The minimum page size is 1. The maximum pageSize is 500.
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 500
        example: '10'
      - name: chainId
        required: true
        in: path
        description: A supported evm chain id or blockchain id. Use the `/chains` endpoint to get a list of supported chain ids.
        example: '43114'
        schema:
          type: string
      - name: address
        required: true
        in: path
        description: A wallet address.
        example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F'
        schema:
          type: string
      - name: contractAddress
        required: false
        in: query
        description: A contract addresses to filter by.
        example: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7'
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCollectibleBalancesResponse'
        '400':
          description: "Bad requests generally mean the client has passed invalid \n    or malformed parameters. Error messages in the response could help in \n    evaluating the error."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
        '401':
          description: "When a client attempts to access resources that require \n    authorization credentials but the client lacks proper authentication \n    in the request, the server responds with 401."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
        '403':
          description: "When a client attempts to access resources with valid\n    credentials but doesn't have the privilege to perform that action, \n    the server responds with 403."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Forbidden'
        '404':
          description: "The error is mostly returned when the client requests\n    with either mistyped URL, or the passed resource is moved or deleted, \n    or the resource doesn't exist."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
        '429':
          description: "This error is returned when the client has sent too many,\n    and has hit the rate limit."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequests'
        '500':
          description: "The error is a generic server side error that is \n    returned for any uncaught and unexpected issues on the server side. \n    This should be very rare, and you may reach out to us if the problem \n    persists for a longer duration."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
        '502':
          description: "This is an internal error indicating invalid response \n      received by the client-facing proxy or gateway from the upstream server."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGateway'
        '503':
          description: "The error is returned for certain routes on a particular\n    Subnet. This indicates an internal problem with our Subnet node, and may \n    not necessarily mean the Subnet is down or affected."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailable'
      tags:
      - EVM Balances
      x-codeSamples:
      - lang: javascript
        label: JavaScript
        source: "import { Avalanche } from \"@avalanche-sdk/chainkit\";\n\nconst avalanche = new Avalanche({\n  chainId: \"43114\",\n});\n\nasync function run() {\n  const result = await avalanche.data.evm.address.balances.listCollectibles({\n    pageSize: 10,\n    address: \"0x71C7656EC7ab88b098defB751B7401B5f6d8976F\",\n    contractAddress: \"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7\",\n  });\n\n  for await (const page of result) {\n    console.log(page);\n  }\n}\n\nrun();"
components:
  schemas:
    BadGateway:
      type: object
      properties:
        message:
          description: The error message describing the reason for the exception
          oneOf:
          - type: string
          - type: array
            items:
              type: string
        statusCode:
          type: number
          description: The HTTP status code of the response
          examples:
          - 502
        error:
          type: string
          description: The type of error
          examples:
          - Bad Gateway
      required:
      - message
      - statusCode
      - error
    ListErc721BalancesResponse:
      type: object
      properties:
        nextPageToken:
          type: string
          description: A token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted or empty, there are no subsequent pages.
        nativeTokenBalance:
          description: The native token balance for the address.
          allOf:
          - $ref: '#/components/schemas/NativeTokenBalance'
        erc721TokenBalances:
          description: The list of ERC-721 token balances for the address.
          type: array
          items:
            $ref: '#/components/schemas/Erc721TokenBalance'
      required:
      - nativeTokenBalance
      - erc721TokenBalances
    Erc1155TokenMetadata:
      type: object
      properties:
        indexStatus:
          examples:
          - indexed
          $ref: '#/components/schemas/NftTokenMetadataStatus'
        metadataLastUpdatedTimestamp:
          type: number
        name:
          type: string
        symbol:
          type: string
        imageUri:
          type: string
        description:
          type: string
        animationUri:
          type: string
        externalUrl:
          type: string
        background:
          type: string
        decimals:
          type: number
        properties:
          type: string
      required:
      - indexStatus
    Unauthorized:
      type: object
      properties:
        message:
          description: The error message describing the reason for the exception
          oneOf:
          - type: string
          - type: array
            items:
              type: string
        statusCode:
          type: number
          description: The HTTP status code of the response
          examples:
          - 401
        error:
          type: string
          description: The type of error
          examples:
          - Unauthorized
      required:
      - message
      - statusCode
      - error
    ServiceUnavailable:
      type: object
      properties:
        message:
          description: The error message describing the reason for the exception
          oneOf:
          - type: string
          - type: array
            items:
              type: string
        statusCode:
          type: number
          description: The HTTP status code of the response
          examples:
          - 503
        error:
          type: string
          description: The type of error
          examples:
          - Service Unavailable
      required:
      - message
      - statusCode
      - error
    Erc721TokenMetadata:
      type: object
      properties:
        indexStatus:
          examples:
          - indexed
          $ref: '#/components/schemas/NftTokenMetadataStatus'
        metadataLastUpdatedTimestamp:
          type: number
        name:
          type: string
        symbol:
          type: string
        imageUri:
          type: string
        description:
          type: string
        animationUri:
          type: string
        externalUrl:
          type: string
        background:
          type: string
        attributes:
          type: string
      required:
      - indexStatus
    CurrencyCode:
      type: string
      description: ISO 4217 currency code.
      enum:
      - usd
      - eur
      - aud
      - cad
      - chf
      - clp
      - cny
      - czk
      - dkk
      - gbp
      - hkd
      - huf
      - jpy
   

# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ava-labs/refs/heads/main/openapi/ava-labs-evm-balances-api-openapi.yml