Avalanche EVM Transactions API

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

OpenAPI Specification

avalanche-evm-transactions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Data AVAX Supply EVM Transactions 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 Transactions
  description: Find information about transactions on EVM-compatible chains, such as the Avalanche C-Chain.
paths:
  /v1/transactions:
    get:
      operationId: listLatestTransactionsAllChains
      x-speakeasy-group: data.evm.transactions
      x-speakeasy-name-override: listLatestAllChains
      x-speakeasy-pagination:
        type: cursor
        inputs:
        - name: pageToken
          in: parameters
          type: cursor
        outputs:
          nextCursor: $.nextPageToken
      summary: List the latest transactions across all supported EVM chains
      description: Lists the most recent transactions from all supported EVM-compatible chains. The results can be filtered based on transaction status.
      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 Transactions
  /v1/chains/{chainId}/contracts/{address}/transactions:getDeployment:
    get:
      operationId: getDeploymentTransaction
      x-speakeasy-group: data.evm.contracts
      x-execution-weight: medium
      summary: Get deployment transaction
      description: If the address is a smart contract, returns the transaction in which it was deployed.
      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
      - name: address
        required: true
        in: path
        description: Contract address on the relevant chain.
        example: '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E'
        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/GetTransactionResponse'
        '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 Transactions
  /v1/chains/{chainId}/contracts/{address}/deployments:
    get:
      operationId: listContractDeployments
      x-speakeasy-group: data.evm.address.contracts
      x-speakeasy-name-override: listDeployments
      x-speakeasy-pagination:
        type: cursor
        inputs:
        - name: pageToken
          in: parameters
          type: cursor
        outputs:
          nextCursor: $.nextPageToken
      x-execution-weight: medium
      summary: List deployed contracts
      description: Lists all contracts deployed by the given address.
      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: 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
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListContractsResponse'
        '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 Transactions
  /v1/chains/{chainId}/tokens/{address}/transfers:
    get:
      operationId: listTransfers
      x-speakeasy-group: data.evm.contracts
      x-speakeasy-pagination:
        type: cursor
        inputs:
        - name: pageToken
          in: parameters
          type: cursor
        outputs:
          nextCursor: $.nextPageToken
      x-execution-weight: medium
      summary: List ERC transfers
      description: Lists ERC transfers for an ERC-20, ERC-721, or ERC-1155 contract address.
      parameters:
      - name: startBlock
        required: false
        in: query
        description: The block range start number, inclusive. If endBlock is not defined when startBlock is defined, the end of the range will be the most recent block.
        example: '6479329'
        schema:
          type: number
      - name: endBlock
        required: false
        in: query
        description: The block range end number, exclusive. If startBlock is not defined when endBlock is defined, the start of the range will be the genesis block.
        example: '6479330'
        schema:
          type: number
      - 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: 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
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTransfersResponse'
        '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 Transactions
  /v1/chains/{chainId}/addresses/{address}/transactions:
    get:
      operationId: listTransactions
      x-speakeasy-group: data.evm.address.transactions
      x-speakeasy-name-override: list
      x-speakeasy-pagination:
        type: cursor
        inputs:
        - name: pageToken
          in: parameters
          type: cursor
        outputs:
          nextCursor: $.nextPageToken
      x-execution-weight: medium
      summary: List transactions
      description: 'Returns a list of transactions where the given wallet address had an on-chain interaction for the given chain. The ERC-20 transfers, ERC-721 transfers, ERC-1155, and internal transactions returned are only those where the input address had an interaction. Specifically, those lists only inlcude entries where the input address was the sender (`from` field) or the receiver (`to` field) for the sub-transaction. Therefore the transactions returned from this list may not be complete representations of the on-chain data. For a complete view of a transaction use the `/chains/:chainId/transactions/:txHash` endpoint.


        Filterable by block ranges.'
      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: startBlock
        required: false
        in: query
        description: The block range start number, inclusive. If endBlock is not defined when startBlock is defined, the end of the range will be the most recent block.
        example: '6479329'
        schema:
          type: number
      - name: endBlock
        required: false
        in: query
        description: The block range end number, exclusive. If startBlock is not defined when endBlock is defined, the start of the range will be the genesis block.
        example: '6479330'
        schema:
          type: number
      - 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: sortOrder
        required: false
        in: query
        example: asc
        description: The order by which to sort results. Use "asc" for ascending order, "desc" for descending order. Sorted by timestamp or the `sortBy` query parameter, if provided.
        schema:
          $ref: '#/components/schemas/SortOrder'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTransactionDetailsResponse'
        '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 Transactions
  /v2/chains/{chainId}/addresses/{address}/transactions:
    get:
      operationId: listTransactionsV2
      x-speakeasy-group: data.evm.address.transactions
      x-speakeasy-name-override: list
      x-speakeasy-pagination:
        type: cursor
        inputs:
        - name: pageToken
          in: parameters
          type: cursor
        outputs:
          nextCursor: $.nextPageToken
      x-execution-weight: medium
      summary: List transactions v2
      description: 'Returns a list of transactions where the given wallet address had an on-chain interaction for the given chain. The ERC-20 transfers (with token reputation), ERC-721  transfers, ERC-1155, and internal transactions returned are only those  where the input address had an interaction. Specifically, those lists  only inlcude entries where the input address was the sender  (`from` field) or the receiver (`to` field) for the  sub-transaction. Therefore the transactions returned from this list  may not be complete representations of the on-chain data. For a  complete view of a transaction use the  `/chains/:chainId/transactions/:txHash` endpoint.


        Filterable by block ranges.'
      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: startBlock
        required: false
        in: query
        description: The block range start number, inclusive. If endBlock is not defined when startBlock is defined, the end of the range will be the most recent block.
        example: '6479329'
        schema:
          type: number
      - name: endBlock
        required: false
        in: query
        description: The block range end number, exclusive. If startBlock is not defined when endBlock is defined, the start of the range will be the genesis block.
        example: '6479330'
        schema:
          type: number
      - name: filterSpamTokens
        required: false
        in: query
        schema:
          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: sortOrder
        required: false
        in: query
        example: asc
        description: The order by which to sort results. Use "asc" for ascending order, "desc" for descending order. Sorted by timestamp or the `sortBy` query parameter, if provided.
        schema:
          $ref: '#/components/schemas/SortOrder'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTransactionDetailsResponseV2'
        '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 Transactions
  /v1/chains/{chainId}/addresses/{address}/transactions:listNative:
    get:
      operationId: listNativeTransactions
      x-speakeasy-group: data.evm.address.transactions
      x-speakeasy-name-override: listNative
      x-speakeasy-pagination:
        type: cursor
        inputs:
        - name: pageToken
          in: parameters
          type: cursor
        outputs:
          nextCursor: $.nextPageToken
      x-execution-weight: medium
      summary: List native transactions
      description: Lists native transactions for an address. Filterable by block range.
      parameters:
      - name: startBlock
        required: false
        in: query
        description: The block range start number, inclusive. If endBlock is not defined when startBlock is defined, the end of the range will be the most recent block.
        example: '6479329'
        schema:
          type: number
      - name: endBlock
        required: false
        in: query
        description: The block range end number, exclusive. If startBlock is not defined when endBlock is defined, the start of the range will be the genesis block.
        example: '6479330'
        schema:
          type: number
      - name: pageToken
        required: false
        in: query
        description: A page token, received from a previous list call. Provide this to retrieve the subsequent page.
        schema:
      

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