openapi: 3.1.0 info: title: Data AVAX Supply Teleporter 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.

If you have feedback or feature requests for the API, please submit them here. Bug reports can be submitted here, and any potential security issues can be reported here. version: 1.0.0 contact: {} servers: - url: https://data-api.avax.network security: - apiKey: [] - {} tags: - name: Teleporter description: Find information about Teleporter transactions. paths: /v1/teleporter/messages/{messageId}: get: operationId: getTeleporterMessage x-speakeasy-group: data.teleporter x-execution-weight: medium summary: '' description: '**[Deprecated]** Gets a teleporter message by message ID. ⚠️ **This operation will be removed in a future release. Please use /v1/icm/messages/:messageId endpoint instead** .' deprecated: true parameters: - name: messageId required: true in: path description: The message ID of the teleporter message. example: acf1c8b06f9aec48e9fcbefbbe576ae8a7ca3b327fcae111396e7cc99956674d schema: type: string responses: '200': description: Successful response content: application/json: schema: oneOf: - $ref: '#/components/schemas/PendingTeleporterMessage' - $ref: '#/components/schemas/DeliveredTeleporterMessage' - $ref: '#/components/schemas/DeliveredSourceNotIndexedTeleporterMessage' discriminator: propertyName: status mapping: pending: '#/components/schemas/PendingTeleporterMessage' delivered: '#/components/schemas/DeliveredTeleporterMessage' delivered_source_not_indexed: '#/components/schemas/DeliveredSourceNotIndexedTeleporterMessage' '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: - Teleporter /v1/teleporter/messages: get: operationId: listTeleporterMessages x-speakeasy-pagination: type: cursor inputs: - name: pageToken in: parameters type: cursor outputs: nextCursor: $.nextPageToken x-speakeasy-group: data.teleporter x-execution-weight: medium summary: '' description: '**[Deprecated]** Lists teleporter messages. Ordered by timestamp in descending order. ⚠️ **This operation will be removed in a future release. Please use /v1/icm/messages 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: sourceBlockchainId required: false in: query description: The base58 encoded blockchain ID or evm chain ID of the source chain that the teleporter message was sent from. example: 2D8RG4UpSXbPbvPCAWppNJyqTG2i2CAXSkTgmTBBvs7GKNZjsY schema: type: string - name: destinationBlockchainId required: false in: query description: The base58 encoded blockchain ID or evm chain ID of the destination chain that the teleporter message was sent to. example: yH8D7ThNJkxmtkuv2jgBa4P1Rn3Qpr4pPr7QYNfcdoS6k6HWp schema: type: string - name: blockchainId required: false in: query description: The base58 encoded blockchain ID of either source or destination chain that one teleporter message interacts with. schema: type: string - name: to required: false in: query description: The address of the recipient of the teleporter message. example: '0x664A4Be5Af2cFc824F9C0914CbAc4703396Da2DC' schema: type: string - name: from required: false in: query description: The address of the sender of the teleporter message. example: '0x321eDA69247566D662178feE695C7026c604Cd94' schema: type: string - 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/ListTeleporterMessagesResponse' '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: - Teleporter /v1/teleporter/addresses/{address}/messages: get: operationId: listTeleporterMessagesByAddress x-speakeasy-group: data.teleporter x-execution-weight: medium summary: '' description: '**[Deprecated]** Lists teleporter messages by address. Ordered by timestamp in descending order. ⚠️ **This operation will be removed in a future release. Please use /v1/icm/addresses/:address/messages 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: address required: true in: path description: An EVM address. example: '0x8578AE7723751446B196bD5124e1bF57B40EB7Bc' schema: type: string - 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/ListTeleporterMessagesResponse' '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: - Teleporter 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 CurrencyCode: type: string description: ISO 4217 currency code. enum: - usd - eur - aud - cad - chf - clp - cny - czk - dkk - gbp - hkd - huf - jpy - nzd IcmReceipt: type: object properties: receivedMessageNonce: type: string relayerRewardAddress: type: string required: - receivedMessageNonce - relayerRewardAddress Money: type: object properties: currencyCode: examples: - usd $ref: '#/components/schemas/CurrencyCode' value: type: number description: Monetary value in base 10 decimals. examples: - '42.42' required: - currencyCode - value DeliveredSourceNotIndexedIcmMessage: type: object properties: messageId: type: string icmContractAddress: type: string sourceBlockchainId: type: string destinationBlockchainId: type: string sourceEvmChainId: type: string destinationEvmChainId: type: string messageNonce: type: string from: type: string to: type: string data: type: string messageExecuted: type: boolean receipts: type: array items: $ref: '#/components/schemas/IcmReceipt' receiptDelivered: type: boolean rewardDetails: $ref: '#/components/schemas/IcmRewardDetails' destinationTransaction: $ref: '#/components/schemas/IcmDestinationTransaction' status: type: string enum: - delivered_source_not_indexed required: - messageId - icmContractAddress - sourceBlockchainId - destinationBlockchainId - sourceEvmChainId - destinationEvmChainId - messageNonce - from - to - messageExecuted - receipts - receiptDelivered - rewardDetails - destinationTransaction - status 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 TeleporterReceipt: type: object properties: receivedMessageNonce: type: string relayerRewardAddress: type: string required: - receivedMessageNonce - relayerRewardAddress TeleporterSourceTransaction: type: object properties: txHash: type: string timestamp: type: number gasSpent: type: string required: - txHash - timestamp - gasSpent DeliveredSourceNotIndexedTeleporterMessage: type: object properties: messageId: type: string teleporterContractAddress: type: string sourceBlockchainId: type: string destinationBlockchainId: type: string sourceEvmChainId: type: string destinationEvmChainId: type: string messageNonce: type: string from: type: string to: type: string data: type: string messageExecuted: type: boolean receipts: type: array items: $ref: '#/components/schemas/TeleporterReceipt' receiptDelivered: type: boolean rewardDetails: $ref: '#/components/schemas/TeleporterRewardDetails' destinationTransaction: $ref: '#/components/schemas/TeleporterDestinationTransaction' status: type: string enum: - delivered_source_not_indexed required: - messageId - teleporterContractAddress - sourceBlockchainId - destinationBlockchainId - sourceEvmChainId - destinationEvmChainId - messageNonce - from - to - messageExecuted - receipts - receiptDelivered - rewardDetails - destinationTransaction - status 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 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 PendingTeleporterMessage: type: object properties: messageId: type: string teleporterContractAddress: type: string sourceBlockchainId: type: string destinationBlockchainId: type: string sourceEvmChainId: type: string destinationEvmChainId: type: string messageNonce: type: string from: type: string to: type: string data: type: string messageExecuted: type: boolean receipts: type: array items: $ref: '#/components/schemas/TeleporterReceipt' receiptDelivered: type: boolean rewardDetails: $ref: '#/components/schemas/TeleporterRewardDetails' sourceTransaction: $ref: '#/components/schemas/TeleporterSourceTransaction' status: type: string enum: - pending required: - messageId - teleporterContractAddress - sourceBlockchainId - destinationBlockchainId - sourceEvmChainId - destinationEvmChainId - messageNonce - from - to - messageExecuted - receipts - receiptDelivered - rewardDetails - sourceTransaction - status 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 ListTeleporterMessagesResponse: 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. messages: type: array items: oneOf: - $ref: '#/components/schemas/PendingTeleporterMessage' - $ref: '#/components/schemas/DeliveredTeleporterMessage' - $ref: '#/components/schemas/DeliveredSourceNotIndexedIcmMessage' discriminator: propertyName: status mapping: pending: '#/components/schemas/PendingTeleporterMessage' delivered: '#/components/schemas/DeliveredTeleporterMessage' delivered_source_not_indexed: '#/components/schemas/DeliveredSourceNotIndexedIcmMessage' required: - messages 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 TeleporterRewardDetails: type: object properties: address: type: string description: A wallet or contract address in mixed-case checksum encoding. examples: - '0x71C7656EC7ab88b098defB751B7401B5f6d8976F' 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 ercType: type: string enum: - ERC-20 price: description: The token price, if available. allOf: - $ref: '#/components/schemas/Money' value: type: string required: - address - name - symbol - decimals - ercType - value TeleporterDestinationTransaction: type: object properties: txHash: type: string timestamp: type: number gasSpent: type: string rewardRedeemer: type: string delivererAddress: type: string required: - txHash - timestamp - gasSpent - rewardRedeemer - delivererAddress IcmRewardDetails: type: object properties: address: type: string description: A wallet or contract address in mixed-case checksum encoding. examples: - '0x71C7656EC7ab88b098defB751B7401B5f6d8976F' 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 ercType: type: string enum: - ERC-20 price: description: The token price, if available. allOf: - $ref: '#/components/schemas/Money' value: type: string required: - address - name - symbol - decimals - ercType - value TooManyRequests: 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: - 429 error: type: string description: The type of error examples: - Too Many Requests required: - message - statusCode - error DeliveredTeleporterMessage: type: object properties: messageId: type: string teleporterContractAddress: type: string sourceBlockchainId: type: string destinationBlockchainId: type: string sourceEvmChainId: type: string destinationEvmChainId: type: string messageNonce: type: string from: type: string to: type: string data: type: string messageExecuted: type: boolean receipts: type: array items: $ref: '#/components/schemas/TeleporterReceipt' receiptDelivered: type: boolean rewardDetails: $ref: '#/components/schemas/TeleporterRewardDetails' sourceTransaction: $ref: '#/components/schemas/TeleporterSourceTransaction' destinationTransaction: $ref: '#/components/schemas/TeleporterDestinationTransaction' status: type: string enum: - delivered required: - messageId - teleporterContractAddress - sourceBlockchainId - destinationBlockchainId - sourceEvmChainId - destinationEvmChainId - messageNonce - from - to - messageExecuted - receipts - receiptDelivered - rewardDetails - sourceTransaction - destinationTransaction - status BadRequest: 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: - 400 error: type: string description: The type of error examples: - Bad Request required: - message - statusCode - error Network: type: string enum: - mainnet - fuji - testnet IcmDestinationTransaction: type: object properties: txHash: type: string timestamp: type: number gasSpent: type: string rewardRedeemer: type: string delivererAddress: type: string required: - txHash - timestamp - gasSpent - rewardRedeemer - delivererAddress securitySchemes: apiKey: type: apiKey in: header name: x-glacier-api-key description: Api keys provide higher access to rate limits. To obtain an api key, sign up for an account at https://build.avax.network/console/utilities/data-api-keys. x-speakeasy-retries: strategy: backoff backoff: initialInterval: 500 maxInterval: 60000 maxElapsedTime: 120000 exponent: 1.5 statusCodes: - 5XX retryConnectionErrors: true x-speakeasy-globals: parameters: - $ref: '#/components/parameters/GlobalParamChainId' - $ref: '#/components/parameters/GlobalParamNetwork' x-execution-weight-values: free: 1 large: 50 medium: 20 none: 0 small: 10 xl: 100 xxl: 200 x-rpc-method-execution-weights: eth_accounts: free eth_blockNumber: small eth_call: small eth_coinbase: small eth_chainId: free eth_gasPrice: small eth_getBalance: small eth_getBlockByHash: small eth_getBlockByNumber: small eth_getBlockTransactionCountByNumber: medium eth_getCode: medium eth_getLogs: xxl eth_getStorageAt: medium eth_getTransactionByBlockNumberAndIndex: medium eth_getTransactionByHash: small eth_getTransactionCount: small eth_getTransactionReceipt: small eth_signTransaction: medium eth_sendTransaction: medium eth_sign: medium eth_sendRawTransaction: small eth_syncing: free net_listening: free net_peerCount: medium net_version: free web3_clientVersion: small web3_sha3: small eth_newPendingTransactionFilter: medium eth_maxPriorityFeePerGas: small eth_baseFee: small rpc_modules: free eth_getChainConfig: small eth_feeConfig: small eth_getActivePrecompilesAt: small x-speakeasy-webhooks: security: type: signature headerName: x-signature signatureTextEncoding: base64 algorithm: hmac-sha256