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://glacier-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
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
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
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:
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
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
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
IcmReceipt:
type: object
properties:
receivedMessageNonce:
type: string
relayerRewardAddress:
type: string
required:
- receivedMessageNonce
- relayerRewardAddress
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
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
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
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
TeleporterSourceTransaction:
type: object
properties:
txHash:
type: string
timestamp:
type: number
gasSpent:
type: string
required:
- txHash
- timestamp
- gasSpent
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
CurrencyCode:
type: string
description: ISO 4217 currency code.
enum:
- usd
- eur
- aud
- cad
- chf
- clp
- cny
- czk
- dkk
- gbp
- hkd
- huf
- jpy
- nzd
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
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
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
TeleporterReceipt:
type: object
properties:
receivedMessageNonce:
type: string
relayerRewardAddress:
type: string
required:
- receivedMessageNonce
- relayerRewardAddress
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
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
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
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
Network:
type: string
enum:
- mainnet
- fuji
- testnet
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
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://avacloud.io/.
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