Avalanche EVM Chains API

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

OpenAPI Specification

avalanche-evm-chains-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Data AVAX Supply EVM Chains 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://data-api.avax.network
security:
- apiKey: []
- {}
tags:
- name: EVM Chains
  description: Find information about indexed EVM-compatible chains, such as the Avalanche C-Chain.
paths:
  /v1/address/{address}/chains:
    get:
      operationId: listAddressChains
      x-speakeasy-group: data.evm.address.chains
      x-speakeasy-name-override: list
      summary: List all chains associated with a given address
      description: Lists the chains where the specified address has participated in transactions or ERC token transfers, either as a sender or receiver. The data is refreshed every 15 minutes.
      parameters:
      - name: address
        required: true
        in: path
        description: A wallet address.
        example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F'
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAddressChainsResponse'
        '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 Chains
  /v1/chains:
    get:
      operationId: supportedChains
      x-speakeasy-name-override: list
      x-speakeasy-group: data.evm.chains
      x-execution-weight: free
      summary: List chains
      description: Lists the AvaCloud supported EVM-compatible chains. Filterable by network.
      parameters:
      - name: network
        required: false
        in: query
        description: Either mainnet or testnet/fuji.
        example: mainnet
        schema:
          $ref: '#/components/schemas/Network'
      - name: feature
        required: false
        in: query
        description: Filter by feature.
        example: nftIndexing
        schema:
          $ref: '#/components/schemas/ApiFeature'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListChainsResponse'
        '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 Chains
  /v1/chains/{chainId}:
    get:
      operationId: getChainInfo
      x-speakeasy-name-override: get
      x-speakeasy-group: data.evm.chains
      x-execution-weight: free
      summary: Get chain information
      description: Gets chain information for the EVM-compatible chain if supported by AvaCloud.
      parameters:
      - 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
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetChainResponse'
        '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 Chains
  /v1/chains/address/{address}:
    get:
      operationId: getAddressChains
      x-speakeasy-group: data.evm.chains
      x-execution-weight: free
      summary: ''
      description: '**[Deprecated]** Gets a list of all chains where the address was either a sender or receiver in a transaction or ERC transfer. The list is currently updated every 15 minutes.


        ⚠️ **This operation will be removed in a future release.  Please use /v1/address/:address/chains endpoint instead** .'
      deprecated: true
      parameters:
      - name: address
        required: true
        in: path
        description: A wallet address.
        example: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F'
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAddressChainsResponse'
        '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 Chains
  /v1/chains/allTransactions:
    get:
      operationId: listAllLatestTransactions
      x-speakeasy-pagination:
        type: cursor
        inputs:
        - name: pageToken
          in: parameters
          type: cursor
        outputs:
          nextCursor: $.nextPageToken
      x-speakeasy-group: data.evm.chains
      x-execution-weight: free
      summary: ''
      description: '**[Deprecated]** Lists the latest transactions for all supported EVM chains. Filterable by status.


        ⚠️ **This operation will be removed in a future release.  Please use /v1/transactions endpoint instead** .'
      deprecated: true
      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 100.
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 100
        example: '10'
      - name: network
        required: false
        in: query
        description: Either mainnet or testnet/fuji.
        example: mainnet
        schema:
          $ref: '#/components/schemas/Network'
      - name: status
        required: false
        in: query
        description: A status filter for listed transactions.
        schema:
          $ref: '#/components/schemas/TransactionStatus'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListNativeTransactionsResponse'
        '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 Chains
  /v1/chains/allBlocks:
    get:
      operationId: listAllLatestBlocks
      x-speakeasy-pagination:
        type: cursor
        inputs:
        - name: pageToken
          in: parameters
          type: cursor
        outputs:
          nextCursor: $.nextPageToken
      x-speakeasy-group: data.evm.chains
      x-execution-weight: free
      summary: ''
      description: '**[Deprecated]** Lists the latest blocks for all supported EVM chains. Filterable by network.


        ⚠️ **This operation will be removed in a future release.  Please use /v1/blocks endpoint instead** .'
      deprecated: true
      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 100.
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 100
        example: '10'
      - name: network
        required: false
        in: query
        description: Either mainnet or testnet/fuji.
        example: mainnet
        schema:
          $ref: '#/components/schemas/Network'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListEvmBlocksResponse'
        '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 Chains
components:
  schemas:
    Forbidden:
      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:
          - 403
        error:
          type: string
          description: The type of error
          examples:
          - Forbidden
      required:
      - message
      - statusCode
      - error
    TransactionStatus:
      type: string
      enum:
      - failed
      - success
    EvmBlock:
      type: object
      properties:
        chainId:
          type: string
          description: The EVM chain ID on which the block was created.
          examples:
          - '43114'
        blockNumber:
          type: string
          description: The block number on the chain.
          examples:
          - '339'
        blockTimestamp:
          type: number
          description: The block creation (proposal) timestamp in seconds
          examples:
          - 1648672486
        blockTimestampMilliseconds:
          type: number
          description: The block creation (proposal) timestamp in milliseconds. Available only after Granite upgrade.
          examples:
          - 1648672486000
        blockMinDelayExcess:
          type: number
          description: Minimum block delay in milliseconds. Available only after Granite upgrade.
          examples:
          - 7477290
        blockHash:
          type: string
          description: The block hash identifier.
          examples:
          - '0x17533aeb5193378b9ff441d61728e7a2ebaf10f61fd5310759451627dfca2e7c'
        txCount:
          type: number
          description: The number of evm transactions in the block.
        baseFee:
          type: string
          description: The base gas fee for a transaction to be included in the block.
        gasUsed:
          type: string
          description: The gas used for transactions in the block.
        gasLimit:
          type: string
          description: The total gas limit set for transactions in the block.
        gasCost:
          type: string
        parentHash:
          type: string
          description: The hash of the parent block.
        feesSpent:
          type: string
          description: The amount of fees spent/burned for transactions in the block.
        cumulativeTransactions:
          type: string
          description: The cumulative number of transactions for the chain including this block.
      required:
      - chainId
      - blockNumber
      - blockTimestamp
      - blockHash
      - txCount
      - baseFee
      - gasUsed
      - gasLimit
      - gasCost
      - parentHash
      - feesSpent
      - cumulativeTransactions
    ChainStatus:
      type: string
      description: Status of chain nodes. Chain nodes can become temporarily `UNAVAILABLE` for several reasons, such as validator stake falling below threshold. If chain nodes are `UNAVAILABLE`, requests that rely on data from the chain nodes may return 503 errors.
      enum:
      - OK
      - UNAVAILABLE
    UtilityAddresses:
      type: object
      properties:
        multicall:
          type: string
    ListChainsResponse:
      type: object
      properties:
        chains:
          type: array
          items:
            $ref: '#/components/schemas/ChainInfo'
      required:
      - chains
    ListAddressChainsResponse:
      type: object
      properties:
        indexedChains:
          type: array
          items:
            $ref: '#/components/schemas/ChainInfo'
        unindexedChains:
          type: array
          items:
            type: string
    InternalServerError:
      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:
          - 500
        error:
          type: string
          description: The type of error
          examples:
          - Internal Server Error
      required:
      - message
      - statusCode
      - error
    ApiFeature:
      type: string
      enum:
      - nftIndexing
      - webhooks
      - teleporter
    ChainInfo:
      type: object
      properties:
        chainId:
          type: string
        status:
          $ref: '#/components/schemas/ChainStatus'
        chainName:
          type: string
        description:
          type: string
        platformChainId:
          type: string
        subnetId:
          type: string
        vmId:
          type: string
        vmName:
          $ref: '#/components/schemas/VmName'
        explorerUrl:
          type: string
        rpcUrl:
          type: string
        wsUrl:
          type: string
        isTestnet:
          type: boolean
        utilityAddresses:
          $ref: '#/components/schemas/UtilityAddresses'
        networkToken:
          $ref: '#/components/schemas/NetworkToken'
        chainLogoUri:
          type: string
        private:
          type: boolean
        enabledFeatures:
          type: array
          items:
            type: string
            enum:
            - nftIndexing
            - webhooks
            - teleporter
      required:
      - chainId
      - status
      - chainName
      - description
      - vmName
      - rpcUrl
      - isTestnet
      - networkToken
    RichAddress:
      type: object
      properties:
        name:
          type: string
          description: The contract name.
          examples:
          - Wrapped AVAX
        symbol:
          type: string
          description: The contract symbol.
          examples:
          - WAVAX
        decimals:
          type: number
          description: The number of decimals the token uses. For example `6`, means to divide the token amount by `1000000` to get its user representation.
          examples:
          - 18
        logoUri:
          type: string
          description: The logo uri for the address.
          examples:
          - https://images.ctfassets.net/gcj8jwzm6086/5VHupNKwnDYJvqMENeV7iJ/fdd6326b7a82c8388e4ee9d4be7062d4/avalanche-avax-logo.svg
        address:
          type: string
          description: A wallet or contract address in mixed-case checksum encoding.
          examples:
          - '0x71C7656EC7ab88b098defB751B7401B5f6d8976F'
      required:
      - address
    ListEvmBlocksResponse:
      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.
        blocks:
          type: array
          items:
            $ref: '#/components/schemas/EvmBlock'
      required:
      - blocks
    ListNativeTransactionsResponse:
      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.
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/NativeTransaction'
      required:
      - transactions
    NotFound:
      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:
          - 404
        error:
          type: string
          description: The type of error
          examples:
          - Not Found
      required:
      - message
      - statusCode
      - error
    Unauthorized:
      type: object
      properties:
        message:
          description: The error message describing the reason for the exception
          oneOf:
          - type: string
          - type: array
            items:
              type: string
       

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/avalanche/refs/heads/main/openapi/avalanche-evm-chains-api-openapi.yml