Axelar Chains API

The Chains API from Axelar — 3 operation(s) for chains.

Operations 3

POST /chains/{chain}/events Publish on-chain events #
GET /chains/{chain}/tasks Poll transaction to be executed on chain #
GET /chains/{chain}/tasks/{taskItemID} Retrieve a transaction to be executed on-chain by id #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/axelar-chains-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

axelar-chains-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Amplifier GMP Chains API
  description: Integration layer for Amplifier chains
  version: 1.0.0
servers:
- url: https://api.axelarscan.io/api
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Chains
paths:
  /chains/{chain}/events:
    post:
      summary: Publish on-chain events
      operationId: publishEvents
      parameters:
      - $ref: '#/components/parameters/chain'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublishEventsRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublishEventsResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Chain Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Chains
  /chains/{chain}/tasks:
    get:
      summary: Poll transaction to be executed on chain
      operationId: getTasks
      parameters:
      - $ref: '#/components/parameters/chain'
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTasksResult'
        '404':
          description: Chain Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Chains
  /chains/{chain}/tasks/{taskItemID}:
    get:
      summary: Retrieve a transaction to be executed on-chain by id
      operationId: getTask
      parameters:
      - $ref: '#/components/parameters/chain'
      - $ref: '#/components/parameters/taskItemID'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTaskResult'
        '404':
          description: Chain Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Chains
components:
  schemas:
    MessageApprovedEvent:
      deprecated: true
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          meta:
            allOf:
            - $ref: '#/components/schemas/MessageApprovedEventMetadata'
            x-omitempty: true
      - properties:
          message:
            $ref: '#/components/schemas/Message'
          cost:
            $ref: '#/components/schemas/Cost'
        required:
        - message
        - cost
    GasCreditEvent:
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          messageID:
            type: string
            minLength: 1
          refundAddress:
            $ref: '#/components/schemas/Address'
          payment:
            $ref: '#/components/schemas/UnsignedToken'
        required:
        - messageID
        - refundAddress
        - payment
    CallEventMetadata:
      allOf:
      - $ref: '#/components/schemas/EventMetadata'
      - properties:
          parentMessageID:
            type:
            - string
            - 'null'
            x-omitempty: true
            minLength: 1
          parentSourceChain:
            type:
            - string
            - 'null'
            x-omitempty: true
            minLength: 1
          senderContractAddress:
            allOf:
            - $ref: '#/components/schemas/Address'
            x-omitempty: true
          sourceContext:
            $ref: '#/components/schemas/MessageContext'
    TokenID:
      type: string
    UnsignedToken:
      type: object
      properties:
        tokenID:
          allOf:
          - $ref: '#/components/schemas/TokenID'
          x-omitempty: true
        amount:
          $ref: '#/components/schemas/UnsignedBigInt'
      required:
      - amount
    CannotRouteMessageReason:
      deprecated: true
      type: string
      enum:
      - CUSTOM
      - ERROR
      x-enum-varnames:
      - CannotRouteMessageReasonCustom
      - CannotRouteMessageReasonError
    AppEventMetadata:
      allOf:
      - $ref: '#/components/schemas/EventMetadata'
      - properties:
          emittedByAddress:
            allOf:
            - $ref: '#/components/schemas/Address'
            x-omitempty: true
    MessageExecutedEventV2:
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          meta:
            allOf:
            - $ref: '#/components/schemas/MessageExecutedEventMetadata'
            x-omitempty: true
      - properties:
          crossChainID:
            $ref: '#/components/schemas/CrossChainID'
          cost:
            $ref: '#/components/schemas/Cost'
        required:
        - crossChainID
        - cost
    SignersRotatedEvent:
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          meta:
            allOf:
            - $ref: '#/components/schemas/SignersRotatedEventMetadata'
            x-omitempty: true
      - properties:
          messageID:
            type: string
            minLength: 1
        required:
        - messageID
    QuorumReachedEvent:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/VerificationStatus'
        content:
          x-go-type: json.RawMessage
      required:
      - status
      - content
    PublishEventAcceptedResult:
      allOf:
      - $ref: '#/components/schemas/PublishEventResultItemBase'
      - properties: {}
    PublishEventStatus:
      type: string
      enum:
      - ACCEPTED
      - ERROR
      x-enum-varnames:
      - PublishEventStatusAccepted
      - PublishEventStatusError
    Cost:
      anyOf:
      - $ref: '#/components/schemas/UnsignedToken'
      - $ref: '#/components/schemas/Fees'
    UnsignedBigInt:
      type: string
      pattern: ^(0|[1-9]\d*)$
    ReactToWasmEventTask:
      properties:
        height:
          type: integer
          format: int64
          minimum: 0
        event:
          $ref: '#/components/schemas/WasmEvent'
      required:
      - height
      - event
    CannotExecuteMessageEvent:
      deprecated: true
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          meta:
            allOf:
            - $ref: '#/components/schemas/CannotExecuteMessageEventMetadata'
            x-omitempty: true
      - properties:
          taskItemID:
            $ref: '#/components/schemas/TaskItemID'
          reason:
            $ref: '#/components/schemas/CannotExecuteMessageReason'
          details:
            type: string
            minLength: 1
        required:
        - taskItemID
        - reason
        - details
    Address:
      type: string
      minLength: 1
    EventMetadata:
      type: object
      properties:
        txID:
          type:
          - string
          - 'null'
          x-omitempty: true
          minLength: 1
        timestamp:
          type: string
          format: date-time
        fromAddress:
          allOf:
          - $ref: '#/components/schemas/Address'
          x-omitempty: true
        finalized:
          type:
          - boolean
          - 'null'
          x-omitempty: true
          default: true
    VerificationStatus:
      type: string
      enum:
      - SUCCEEDED_ON_SOURCE_CHAIN
      - FAILED_ON_SOURCE_CHAIN
      - NOT_FOUND_ON_SOURCE_CHAIN
      - FAILED_TO_VERIFY
      - IN_PROGRESS
      - UNKNOWN
      x-enum-varnames:
      - VerificationStatusSucceededOnSourceChain
      - VerificationStatusFailedOnSourceChain
      - VerificationStatusNotFoundOnSourceChain
      - VerificationStatusFailedToVerify
      - VerificationStatusInProgress
      - VerificationStatusUnknown
    CannotExecuteMessageReason:
      deprecated: true
      type: string
      enum:
      - INSUFFICIENT_GAS
      - ERROR
      x-enum-varnames:
      - CannotExecuteMessageReasonInsufficientGas
      - CannotExecuteMessageReasonError
    ITSInterchainTransferEvent:
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          messageID:
            type: string
            minLength: 1
          destinationChain:
            type: string
            minLength: 1
          tokenSpent:
            $ref: '#/components/schemas/InterchainTransferTokenWithID'
          sourceAddress:
            $ref: '#/components/schemas/Address'
          destinationAddress:
            type: string
            format: byte
            minLength: 1
          dataHash:
            type: string
            format: byte
            minLength: 0
        required:
        - messageID
        - destinationChain
        - tokenSpent
        - sourceAddress
        - destinationAddress
        - dataHash
    ReactToRetriablePollTask:
      properties:
        pollID:
          type: integer
          format: uint64
        broadcastID:
          $ref: '#/components/schemas/BroadcastID'
        invokedContractAddress:
          $ref: '#/components/schemas/Address'
        requestPayload:
          $ref: '#/components/schemas/WasmRequest'
        quorumReachedEvents:
          type: array
          items:
            $ref: '#/components/schemas/QuorumReachedEvent'
      required:
      - pollID
      - broadcastID
      - invokedContractAddress
      - requestPayload
      - quorumReachedEvents
    EventType:
      type: string
      enum:
      - GAS_CREDIT
      - GAS_REFUNDED
      - CALL
      - MESSAGE_APPROVED
      - MESSAGE_EXECUTED
      - MESSAGE_EXECUTED/V2
      - CANNOT_EXECUTE_MESSAGE
      - CANNOT_EXECUTE_MESSAGE/V2
      - CANNOT_ROUTE_MESSAGE
      - CANNOT_EXECUTE_TASK
      - SIGNERS_ROTATED
      - ITS/LINK_TOKEN_STARTED
      - ITS/TOKEN_METADATA_REGISTERED
      - ITS/INTERCHAIN_TOKEN_DEPLOYMENT_STARTED
      - ITS/INTERCHAIN_TRANSFER
      - ITS/INTERCHAIN_TRANSFER_RECEIVED
      - ITS/INTERCHAIN_TOKEN_DEPLOYED
      - ITS/TOKEN_MANAGER_DEPLOYED
      - ITS/LINK_TOKEN_RECEIVED
      - ITS/FLOW_LIMIT_SET
      - APP/INTERCHAIN_TRANSFER_SENT
      - APP/INTERCHAIN_TRANSFER_RECEIVED
      x-enum-varnames:
      - EventTypeGasCredit
      - EventTypeGasRefunded
      - EventTypeCall
      - EventTypeMessageApproved
      - EventTypeMessageExecuted
      - EventTypeMessageExecutedV2
      - EventTypeCannotExecuteMessage
      - EventTypeCannotExecuteMessageV2
      - EventTypeCannotRouteMessage
      - EventTypeCannotExecuteTask
      - EventTypeSignersRotated
      - EventTypeITSLinkTokenStarted
      - EventTypeITSTokenMetadataRegistered
      - EventTypeITSInterchainTokenDeploymentStarted
      - EventTypeITSInterchainTransfer
      - EventTypeITSInterchainTransferReceived
      - EventTypeITSInterchainTokenDeployed
      - EventTypeITSTokenManagerDeployed
      - EventTypeITSLinkTokenReceived
      - EventTypeITSFlowLimitSet
      - EventTypeAppInterchainTransferSent
      - EventTypeAppInterchainTransferReceived
    CannotRouteMessageEvent:
      deprecated: true
      description: 'Event emitted when a message cannot be routed. Source chain of the message is implied to be the chain from which the event is emitted.

        '
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          messageID:
            type: string
            minLength: 1
          reason:
            $ref: '#/components/schemas/CannotRouteMessageReason'
          details:
            type: string
            minLength: 1
        required:
        - messageID
        - reason
        - details
    TaskItem:
      properties:
        id:
          allOf:
          - $ref: '#/components/schemas/TaskItemID'
          x-go-name: ID
        chain:
          type: string
          minLength: 1
        timestamp:
          type: string
          format: date-time
        type:
          $ref: '#/components/schemas/TaskType'
        meta:
          $ref: '#/components/schemas/TaskMetadata'
        task:
          $ref: '#/components/schemas/Task'
      required:
      - id
      - chain
      - timestamp
      - type
      - task
    ITSFlowLimitSetEvent:
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          tokenID:
            $ref: '#/components/schemas/TokenID'
          operator:
            $ref: '#/components/schemas/Address'
          flowLimit:
            $ref: '#/components/schemas/UnsignedBigInt'
        required:
        - tokenID
        - operator
        - flowLimit
    ITSTokenMetadataRegisteredEvent:
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          messageID:
            type: string
            minLength: 1
          address:
            $ref: '#/components/schemas/Address'
          decimals:
            type: integer
            format: uint8
            minimum: 0
        required:
        - messageID
        - address
        - decimals
    AppInterchainTransferReceivedEvent:
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          meta:
            allOf:
            - $ref: '#/components/schemas/AppEventMetadata'
            x-omitempty: true
      - properties:
          messageID:
            type: string
            minLength: 1
          sourceChain:
            type: string
            minLength: 1
          sourceAddress:
            $ref: '#/components/schemas/Address'
          sender:
            type: string
            format: byte
          recipient:
            $ref: '#/components/schemas/Address'
          tokenReceived:
            $ref: '#/components/schemas/InterchainTransferTokenWithAddress'
        required:
        - messageID
        - sourceChain
        - sourceAddress
        - sender
        - recipient
        - tokenReceived
    Task:
      oneOf:
      - $ref: '#/components/schemas/ConstructProofTask'
      - $ref: '#/components/schemas/ExecuteTask'
      - $ref: '#/components/schemas/GatewayTransactionTask'
      - $ref: '#/components/schemas/ReactToWasmEventTask'
      - $ref: '#/components/schemas/RefundTask'
      - $ref: '#/components/schemas/ReactToExpiredSigningSessionTask'
      - $ref: '#/components/schemas/ReactToRetriablePollTask'
      - $ref: '#/components/schemas/VerifyTask'
    CannotExecuteTaskReason:
      type: string
      enum:
      - CUSTOM
      - ERROR
      - INSUFFICIENT_GAS
      - TX_REVERTED
      x-enum-varnames:
      - CannotExecuteTaskReasonCustom
      - CannotExecuteTaskReasonError
      - CannotExecuteTaskReasonInsufficientGas
      - CannotExecuteTaskReasonTxReverted
    InterchainTransferTokenWithID:
      type: object
      properties:
        tokenID:
          $ref: '#/components/schemas/TokenID'
        amount:
          $ref: '#/components/schemas/UnsignedBigInt'
      required:
      - tokenID
      - amount
    ITSLinkTokenReceivedEvent:
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          messageID:
            type: string
            minLength: 1
          tokenID:
            $ref: '#/components/schemas/TokenID'
          sourceChain:
            type: string
            minLength: 1
          sourceTokenAddress:
            type: string
            format: byte
            minLength: 1
          destinationTokenAddress:
            type: string
            format: byte
            minLength: 1
          tokenManagerType:
            $ref: '#/components/schemas/TokenManagerType'
        required:
        - messageID
        - tokenID
        - sourceChain
        - sourceTokenAddress
        - destinationTokenAddress
        - tokenManagerType
    CrossChainID:
      type: object
      properties:
        sourceChain:
          type: string
          minLength: 1
        messageID:
          type: string
          minLength: 1
      required:
      - sourceChain
      - messageID
    PublishEventsResult:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/PublishEventResultItem'
      required:
      - results
    RefundTask:
      properties:
        message:
          $ref: '#/components/schemas/Message'
        refundRecipientAddress:
          $ref: '#/components/schemas/Address'
        remainingGasBalance:
          $ref: '#/components/schemas/UnsignedToken'
      required:
      - message
      - refundRecipientAddress
      - remainingGasBalance
    ITSInterchainTransferReceivedEvent:
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          messageID:
            type: string
            minLength: 1
          sourceChain:
            type: string
            minLength: 1
          sourceAddress:
            type: string
            format: byte
            minLength: 1
          destinationAddress:
            $ref: '#/components/schemas/Address'
          tokenReceived:
            $ref: '#/components/schemas/InterchainTransferTokenWithID'
          dataHash:
            type: string
            format: byte
            minLength: 0
        required:
        - messageID
        - sourceChain
        - sourceAddress
        - destinationAddress
        - tokenReceived
        - dataHash
    WasmRequestWithObjectBody:
      type: object
      additionalProperties: {}
    PublishEventResultItem:
      oneOf:
      - $ref: '#/components/schemas/PublishEventAcceptedResult'
      - $ref: '#/components/schemas/PublishEventErrorResult'
      discriminator:
        propertyName: status
        mapping:
          ACCEPTED: '#/components/schemas/PublishEventAcceptedResult'
          ERROR: '#/components/schemas/PublishEventErrorResult'
    BigInt:
      type: string
      pattern: ^(0|-?[1-9]\d*)$
    Fee:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/FeeMetadata'
        id:
          type: string
          minLength: 1
          x-go-name: ID
        description:
          type: string
        token:
          $ref: '#/components/schemas/UnsignedToken'
      required:
      - id
      - token
    Message:
      type: object
      properties:
        messageID:
          type: string
          minLength: 1
        sourceChain:
          type: string
          minLength: 1
        sourceAddress:
          $ref: '#/components/schemas/Address'
        destinationAddress:
          $ref: '#/components/schemas/Address'
        payloadHash:
          type: string
          format: byte
          minLength: 1
      required:
      - messageID
      - sourceChain
      - sourceAddress
      - destinationAddress
      - payloadHash
    InterchainTokenDefinition:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          x-go-name: ID
        name:
          type: string
          minLength: 1
        symbol:
          type: string
          minLength: 1
        decimals:
          type: integer
          format: uint8
          minimum: 0
      required:
      - id
      - name
      - symbol
      - decimals
    GasRefundedEvent:
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          messageID:
            type: string
            minLength: 1
          recipientAddress:
            $ref: '#/components/schemas/Address'
          refundedAmount:
            $ref: '#/components/schemas/UnsignedToken'
          cost:
            $ref: '#/components/schemas/Cost'
        required:
        - messageID
        - recipientAddress
        - refundedAmount
        - cost
    WasmEvent:
      type: object
      properties:
        type:
          type: string
          minLength: 1
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/WasmEventAttribute'
      required:
      - type
      - attributes
    GatewayTransactionTask:
      properties:
        executeData:
          type: string
          format: byte
          minLength: 1
      required:
      - executeData
    CannotExecuteMessageEventV2:
      deprecated: true
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          meta:
            allOf:
            - $ref: '#/components/schemas/CannotExecuteMessageEventV2Metadata'
            x-omitempty: true
      - properties:
          messageID:
            type: string
            minLength: 1
          sourceChain:
            type: string
            minLength: 1
          reason:
            $ref: '#/components/schemas/CannotExecuteMessageReason'
          details:
            type: string
            minLength: 1
        required:
        - messageID
        - sourceChain
        - reason
        - details
    VerifyTask:
      properties:
        message:
          $ref: '#/components/schemas/Message'
        destinationChain:
          type: string
          minLength: 1
        payload:
          type: string
          format: byte
          minLength: 1
      required:
      - message
      - destinationChain
      - payload
    GetTasksResult:
      type: object
      properties:
        tasks:
          type: array
          items:
            $ref: '#/components/schemas/TaskItem'
      required:
      - tasks
    PublishEventResultItemBase:
      properties:
        status:
          $ref: '#/components/schemas/PublishEventStatus'
        index:
          type: integer
          minimum: 0
      required:
      - status
      - index
    TokenManagerType:
      type: string
      enum:
      - NATIVE_INTERCHAIN_TOKEN
      - MINT_BURN_FROM
      - LOCK_UNLOCK
      - LOCK_UNLOCK_FEE
      - MINT_BURN
      x-enum-varnames:
      - TokenManagerNativeInterchainToken
      - TokenManagerMintBurnFrom
      - TokenManagerLockUnlock
      - TokenManagerLockUnlockFee
      - TokenManagerMintBurn
    MessageExecutionStatus:
      deprecated: true
      type: string
      enum:
      - SUCCESSFUL
      - REVERTED
      x-enum-varnames:
      - MessageExecutionStatusSuccessful
      - MessageExecutionStatusReverted
    Fees:
      type: array
      items:
        $ref: '#/components/schemas/Fee'
    ExecuteTask:
      properties:
        message:
          $ref: '#/components/schemas/Message'
        payload:
          type: string
          format: byte
          minLength: 1
        availableGasBalance:
          $ref: '#/components/schemas/Token'
      required:
      - message
      - payload
      - availableGasBalance
    GetTaskResult:
      type: object
      properties:
        task:
          $ref: '#/components/schemas/TaskItem'
      required:
      - task
    ITSTokenManagerDeployedEvent:
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          messageID:
            type:
            - string
            - 'null'
            minLength: 1
          tokenID:
            $ref: '#/components/schemas/TokenID'
          tokenManager:
            $ref: '#/components/schemas/Address'
          tokenManagerType:
            $ref: '#/components/schemas/TokenManagerType'
        required:
        - messageID
        - tokenID
        - tokenManager
        - tokenManagerType
    CannotExecuteTaskEvent:
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          taskItemID:
            $ref: '#/components/schemas/TaskItemID'
          reason:
            $ref: '#/components/schemas/CannotExecuteTaskReason'
          details:
            type: string
            minLength: 1
          cost:
            $ref: '#/components/schemas/Cost'
        required:
        - taskItemID
        - reason
        - details
    ITSLinkTokenStartedEvent:
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          messageID:
            type: string
            minLength: 1
          tokenID:
            $ref: '#/components/schemas/TokenID'
          destinationChain:
            type: string
            minLength: 1
          sourceTokenAddress:
            type: string
            format: byte
            minLength: 1
          destinationTokenAddress:
            type: string
            format: byte
            minLength: 1
          tokenManagerType:
            $ref: '#/components/schemas/TokenManagerType'
        required:
        - messageID
        - tokenID
        - destinationChain
        - sourceTokenAddress
        - destinationTokenAddress
        - tokenManagerType
    UnsignedTokenWithRequiredID:
      type: object
      properties:
        tokenID:
          $ref: '#/components/schemas/TokenID'
        amount:
          $ref: '#/components/schemas/UnsignedBigInt'
      required:
      - tokenID
      - amount
    Token:
      type: object
      properties:
        tokenID:
          allOf:
          - $ref: '#/components/schemas/TokenID'
          x-omitempty: true
        amount:
          $ref: '#/components/schemas/BigInt'
      required:
      - amount
    TaskItemID:
      type: string
      minLength: 1
      x-go-type: uuid.UUID
      x-go-type-import:
        path: github.com/google/uuid
        name: uuid
    CannotExecuteMessageEventMetadata:
      deprecated: true
      type: object
      properties:
        fromAddress:
          allOf:
          - $ref: '#/components/schemas/Address'
          x-omitempty: true
        timestamp:
          type: string
          format: date-time
    WasmRequest:
      anyOf:
      - $ref: '#/components/schemas/WasmRequestWithObjectBody'
      - $ref: '#/components/schemas/WasmRequestWithStringBody'
    SourceChainTaskMetadata:
      description: 'Metadata attached to REFUND and VERIFY tasks. It carries values passed in the associated CALL event (if any) back to the source chain.

        '
      type: object
      properties:
        sourceContext:
          $ref: '#/components/schemas/MessageContext'
    EventBase:
      type: object
      properties:
        eventID:
          type: string
          minLength: 1
        meta:
          allOf:
          - $ref: '#/components/schemas/EventMetadata'
          x-omitempty: true
      required:
      - eventID
    MessageExecutedEvent:
      deprecated: true
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          meta:
            allOf:
            - $ref: '#/components/schemas/MessageExecutedEventMetadata'
            x-omitempty: true
      - properties:
          messageID:
            type: string
            minLength: 1
          sourceChain:
            type: string
            minLength: 1
          status:
            $ref: '#/components/schemas/MessageExecutionStatus'
          cost:
            $ref: '#/components/schemas/Cost'
        required:
        - messageID
        - sourceChain
        - status
        - cost
    PublishEventErrorResult:
      allOf:
      - $ref: '#/components/schemas/PublishEventResultItemBase'
      - properties:
          error:
            type: string
            minLength: 1
          retriable:
            type: boolean
        required:
        - error
        - retriable
    TaskMetadata:
      allOf:
      - $ref: '#/components/schemas/DestinationChainTaskMetadata'
      - $ref: '#/components/schemas/SourceChainTaskMetadata'
    AppInterchainTransferSentEvent:
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          meta:
            allOf:
            - $ref: '#/components/schemas/AppEventMetadata'
            x-omitempty: true
      - properties:
          messageID:
            type: string
            minLength: 1
          destinationChain:
            type: string
            minLength: 1
          destinationContractAddress:
            $ref: '#/components/schemas/Address'
          sender:
            $ref: '#/components/schemas/Address'
          recipient:
            type: string
            format: byte
            minLength: 1
          tokenSpent:
            $ref: '#/components/schemas/InterchainTransferTokenWithAddress'
        required:
        - messageID
        - destinationChain
        - destinationContractAddress
        - sender
        - recipient
        - tokenSpent
    WasmRequestWithStringBody:
      type: string
      minLength: 1
    SignersRotatedEventMetadata:
      allOf:
      - $ref: '#/components/schemas/EventMetadata'
      - properties:
          signersHash:
            type: string
            format: byte
            minLength: 1
          epoch:
            type: integer
            format: int64
            minimum: 0
    ITSInterchainTokenDeploymentStartedEvent:
      type: object
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          messageID:
            type: string
            minLength: 1
          destinationChain:
            type: string
            minLength: 1
          token:
            $ref: '#/components/schemas/InterchainTokenDefinition'
        required:
        - destinationChain
        - messageID
        - token
    MessageExecutedEventMetadata:
      allOf:
      - $ref: '#/components/schemas/EventMetadata'
      - properties:
          commandID:
            type:
            - string
            - 'null'
            x-omitempty: true
            minLength: 1
          childMessageIDs:
            type:
            - array
            - 'null'
            x-omitempty: true
            items:
              type: string
              minLength: 1
          revertReason:
            type:
            - string
            - 'null'
            x-omitempty: true
    MessageContext:
      type: object
      additionalProperties:
        type: string
        maxLength: 1000
      maxProperties: 10
    PublishEventsRequest:
      type: object
      properties:
        events:
          type: array
          items:
            $ref: '#/components/schemas/Event'
          minItems: 1
          maxItems: 100
      required:
      - events
    ConstructProofTask:
      properties:
        message:
          $ref: '#/components/schemas/Message'
        payload:
          type: string
          format: byte
          minLength: 1
      required:
      - message
      - payload
    WasmEventAttribute:
      type: object
      properties:
        key:
          type: string
          minLength: 1
        value:
          type: string
          minLength: 1
      required:
      - key
      - value
    DestinationChainTaskMetadata:
      description: "Metadata attached to GATEWAY_TX and REACT_TO_EXPIRED_SIGNING_SESSION tasks. \nThe property `scopedMessages` can be omitted if the task isn't associated with any message (e.g. when executing `rotateSigners` https://github.com/axelarnetwork/axelar-gmp-sdk-solidity/blob/432449d7b330ec6edf5a8e0746644a253486ca87/contracts/gateway/AxelarAmplifierGateway.sol#L103C14-L103C27).\n"
      type: object
      properties:
        sourceChainSenderContractAddress:
          allOf:
          - $ref: '#/components/schemas/Address'
          x-omitempty: true
        scopedMessages:
          type: array
          items:
            $ref: '#/components/schemas/CrossChainID'
    ReactToExpiredSigningSessionTask:
      properties:
        sessionID:
          type: integer
          format: uint64
        broadcastID:
          $ref: '#/components/schemas/BroadcastID'
        invokedContractAddress:
          $ref: '#/components/schemas/Address'
        requestPayload:
          $ref: '#/components/schemas/WasmRequest'
    

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