> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cosmos.network/llms.txt
> Use this file to discover all available pages before exploring further.

# Get /v2/tx/status

> Get the status of the specified transaction and any subsequent IBC or Axelar transfers if routing assets cross chain. The transaction must have previously been submitted to either the /submit or /track endpoints.



## OpenAPI

````yaml swagger get /v2/tx/status
openapi: 3.0.0
info:
  title: Skip Go API
  description: >-
    Simple APIs to build seamless cross-chain products that do more with fewer
    transactions. For devs with all levels of cross-chain experience.
  version: 0.1.0
servers:
  - url: https://api.skip.build
    description: Production
  - url: https://api.dev.skip.build
    description: Development
  - url: http://localhost:8080
    description: Local
security: []
tags:
  - name: Info
    description: APIs that return general information useful for a variety of operations
  - name: Fungible
    description: >-
      APIs swaps, transfers, and contract calls within the IBC/Cosmos Ecosystem,
      EVM ecosystem, and between them, including automatic DEX aggregation,
      bridge routing, and denom recommendation. Typical usage is /route to
      generate routing info and quotes, followed by /msgs to generate msgs for
      signing
  - name: Transaction
    description: >-
      APIs for broadcasting transactions within the IBC/Cosmos ecosystem, EVM
      ecosystem, and between them, and tracking their status and any subsequent
      transfers if routing assets cross chain. Typical usage is /submit to
      broadcast a transaction, followed by /status to query its status
paths:
  /v2/tx/status:
    get:
      tags:
        - Transaction
      description: >-
        Get the status of the specified transaction and any subsequent IBC or
        Axelar transfers if routing assets cross chain. The transaction must
        have previously been submitted to either the /submit or /track
        endpoints.
      operationId: status
      parameters:
        - in: query
          name: tx_hash
          required: true
          schema:
            type: string
          description: Hex encoded hash of the transaction to query for
          example: EEC65138E6A7BDD047ED0D4BBA249A754F0BBBC7AA976568C4F35A32CD7FB8EB
        - in: query
          name: chain_id
          required: true
          schema:
            type: string
          description: Chain ID of the transaction
          example: cosmoshub-4
      responses:
        '200':
          description: >-
            The status of the transaction and any subsequent ibc or Axelar
            transfers.
          content:
            application/json:
              examples:
                Transfer from Cosmoshub to Avalanche:
                  value:
                    transfers:
                      - state: STATE_COMPLETED_SUCCESS
                        transfer_sequence:
                          - ibc_transfer:
                              from_chain_id: cosmoshub-4
                              to_chain_id: osmosis-1
                              state: TRANSFER_SUCCESS
                              packet_txs:
                                send_tx:
                                  chain_id: cosmoshub-4
                                  tx_hash: >-
                                    EEC65138E6A7BDD047ED0D4BBA249A754F0BBBC7AA976568C4F35A32CD7FB8EB
                                  explorer_link: >-
                                    https://www.mintscan.io/cosmos/transactions/EEC65138E6A7BDD047ED0D4BBA249A754F0BBBC7AA976568C4F35A32CD7FB8EB
                                  on_chain_at: '2023-11-13T02:59:53Z'
                                receive_tx:
                                  chain_id: osmosis-1
                                  tx_hash: >-
                                    F513DDCB7BDFEE74AF07F67881D6778A3710C88EEAEBDA95E726E52C7B5E6BD3
                                  explorer_link: >-
                                    https://www.mintscan.io/osmosis/transactions/F513DDCB7BDFEE74AF07F67881D6778A3710C88EEAEBDA95E726E52C7B5E6BD3
                                  on_chain_at: '2023-11-13T03:00:07Z'
                                acknowledge_tx:
                                  chain_id: cosmoshub-4
                                  tx_hash: >-
                                    67E19B010FED8688C1B476EE4E1E627111158527C531742FB3D54A7399E40789
                                  explorer_link: >-
                                    https://www.mintscan.io/cosmos/transactions/67E19B010FED8688C1B476EE4E1E627111158527C531742FB3D54A7399E40789
                                  on_chain_at: '2023-11-13T03:00:19Z'
                                timeout_tx: null
                                error: null
                          - axelar_transfer:
                              from_chain_id: osmosis-1
                              to_chain_id: '43114'
                              type: AXELAR_TRANSFER_SEND_TOKEN
                              state: AXELAR_TRANSFER_SUCCESS
                              txs:
                                send_token_txs:
                                  send_tx:
                                    chain_id: osmosis-1
                                    tx_hash: >-
                                      F513DDCB7BDFEE74AF07F67881D6778A3710C88EEAEBDA95E726E52C7B5E6BD3
                                    explorer_link: >-
                                      https://www.mintscan.io/osmosis/transactions/F513DDCB7BDFEE74AF07F67881D6778A3710C88EEAEBDA95E726E52C7B5E6BD3
                                  confirm_tx: null
                                  execute_tx:
                                    chain_id: '43114'
                                    tx_hash: >-
                                      0x0f2c793c8fe522efd7bcd38e1e666f02fb516782799ddd26d8d7a4e8a5b71dc8
                                    explorer_link: >-
                                      https://snowtrace.io/tx/0x0f2c793c8fe522efd7bcd38e1e666f02fb516782799ddd26d8d7a4e8a5b71dc8
                                  error: null
                              axelar_scan_link: >-
                                https://axelarscan.io/transfer/F513DDCB7BDFEE74AF07F67881D6778A3710C88EEAEBDA95E726E52C7B5E6BD3
                        next_blocking_transfer: null
                        transfer_asset_release:
                          chain_id: '43114'
                          denom: wavax-wei
                          released: true
                        error: null
                  summary: >-
                    Transfer with swap of Atom from Cosmoshub to wavax on
                    Avalanche
                Multiple Transfers:
                  value:
                    transfers:
                      - state: STATE_COMPLETED_SUCCESS
                        transfer_sequence:
                          - ibc_transfer:
                              from_chain_id: osmosis-1
                              to_chain_id: cosmoshub-4
                              state: TRANSFER_SUCCESS
                              packet_txs:
                                send_tx:
                                  chain_id: osmosis-1
                                  tx_hash: >-
                                    19444D7C23B4C1FB96649EFECA5CCBDF88A6937D6EFDAFD41B96B3CE7BAC12B0
                                  explorer_link: >-
                                    https://www.mintscan.io/osmosis/transactions/19444D7C23B4C1FB96649EFECA5CCBDF88A6937D6EFDAFD41B96B3CE7BAC12B0
                                  on_chain_at: '2023-11-13T02:59:53Z'
                                receive_tx:
                                  chain_id: cosmoshub-4
                                  tx_hash: >-
                                    3CEEA7B7042AC5C3CBC287BB5D0B7E427AB0640922D2D991E9DBB9D34385C247
                                  explorer_link: >-
                                    https://www.mintscan.io/cosmos/transactions/3CEEA7B7042AC5C3CBC287BB5D0B7E427AB0640922D2D991E9DBB9D34385C247
                                  on_chain_at: '2023-11-13T03:00:07Z'
                                acknowledge_tx:
                                  chain_id: osmosis-1
                                  tx_hash: >-
                                    E6E402D88C8CFF1101F6FA583054E12D05ACD906DB5BA7249E1B6E22ECD3BC78
                                  explorer_link: >-
                                    https://www.mintscan.io/osmosis/transactions/E6E402D88C8CFF1101F6FA583054E12D05ACD906DB5BA7249E1B6E22ECD3BC78
                                  on_chain_at: '2023-11-13T03:00:19Z'
                                timeout_tx: null
                                error: null
                          - ibc_transfer:
                              from_chain_id: cosmoshub-4
                              to_chain_id: juno-1
                              state: TRANSFER_SUCCESS
                              packet_txs:
                                send_tx:
                                  chain_id: cosmoshub-4
                                  tx_hash: >-
                                    3CEEA7B7042AC5C3CBC287BB5D0B7E427AB0640922D2D991E9DBB9D34385C247
                                  explorer_link: >-
                                    https://www.mintscan.io/cosmos/transactions/3CEEA7B7042AC5C3CBC287BB5D0B7E427AB0640922D2D991E9DBB9D34385C247
                                  on_chain_at: '2023-11-13T02:59:53Z'
                                receive_tx:
                                  chain_id: juno-1
                                  tx_hash: >-
                                    66BB827E38BD7B9071A855444BCA871447DF90830AA57891F92983B5CC8946B3
                                  explorer_link: >-
                                    https://www.mintscan.io/juno/transactions/66BB827E38BD7B9071A855444BCA871447DF90830AA57891F92983B5CC8946B3
                                  on_chain_at: '2023-11-13T03:00:07Z'
                                acknowledge_tx:
                                  chain_id: cosmoshub-4
                                  tx_hash: >-
                                    83E95C18C78CD298C3B6C5DDB6F766DEFB2083BF3A91D6C7CD739FE0ADAF29AF
                                  explorer_link: >-
                                    https://www.mintscan.io/cosmos/transactions/83E95C18C78CD298C3B6C5DDB6F766DEFB2083BF3A91D6C7CD739FE0ADAF29AF
                                  on_chain_at: '2023-11-13T03:00:19Z'
                                timeout_tx: null
                                error: null
                              next_blocking_transfer: null
                              transfer_asset_release:
                                chain_id: juno-1
                                denom: >-
                                  ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9
                                released: true
                              error: null
                      - state: STATE_COMPLETED_SUCCESS
                        transfer_sequence:
                          - ibc_transfer:
                              from_chain_id: osmosis-1
                              to_chain_id: cosmoshub-4
                              state: TRANSFER_SUCCESS
                              packet_txs:
                                send_tx:
                                  chain_id: osmosis-1
                                  tx_hash: >-
                                    19444D7C23B4C1FB96649EFECA5CCBDF88A6937D6EFDAFD41B96B3CE7BAC12B0
                                  explorer_link: >-
                                    https://www.mintscan.io/osmosis/transactions/19444D7C23B4C1FB96649EFECA5CCBDF88A6937D6EFDAFD41B96B3CE7BAC12B0
                                  on_chain_at: '2023-11-13T02:59:53Z'
                                receive_tx:
                                  chain_id: cosmoshub-4
                                  tx_hash: >-
                                    3CEEA7B7042AC5C3CBC287BB5D0B7E427AB0640922D2D991E9DBB9D34385C247
                                  explorer_link: >-
                                    https://www.mintscan.io/cosmos/transactions/3CEEA7B7042AC5C3CBC287BB5D0B7E427AB0640922D2D991E9DBB9D34385C247
                                  on_chain_at: '2023-11-13T03:00:07Z'
                                acknowledge_tx:
                                  chain_id: osmosis-1
                                  tx_hash: >-
                                    F8C661B9F25CC908C85C61BADBE66D4B51650CA839360C385BFF2D9A475B97E9
                                  explorer_link: >-
                                    https://www.mintscan.io/osmosis/transactions/F8C661B9F25CC908C85C61BADBE66D4B51650CA839360C385BFF2D9A475B97E9
                                  on_chain_at: '2023-11-13T03:00:19Z'
                                timeout_tx: null
                                error: null
                          - ibc_transfer:
                              from_chain_id: cosmoshub-4
                              to_chain_id: canto_7700-1
                              state: TRANSFER_SUCCESS
                              packet_txs:
                                send_tx:
                                  chain_id: cosmoshub-4
                                  tx_hash: >-
                                    3CEEA7B7042AC5C3CBC287BB5D0B7E427AB0640922D2D991E9DBB9D34385C247
                                  explorer_link: >-
                                    https://www.mintscan.io/cosmos/transactions/3CEEA7B7042AC5C3CBC287BB5D0B7E427AB0640922D2D991E9DBB9D34385C247
                                  on_chain_at: '2023-11-13T02:59:53Z'
                                receive_tx:
                                  chain_id: canto_7700-1
                                  tx_hash: >-
                                    4CAB58C09868091B93F1D1C7A45E423C48C312DC2C0F8482F01EA9469EB1E1B5
                                  explorer_link: >-
                                    https://www.mintscan.io/juno/transactions/4CAB58C09868091B93F1D1C7A45E423C48C312DC2C0F8482F01EA9469EB1E1B5
                                  on_chain_at: '2023-11-13T03:00:07Z'
                                acknowledge_tx:
                                  chain_id: cosmoshub-4
                                  tx_hash: >-
                                    BC195283E22406CAD84393B9442F9D29018AE51E4BEF59055599A23B10702898
                                  explorer_link: >-
                                    https://www.mintscan.io/cosmos/transactions/BC195283E22406CAD84393B9442F9D29018AE51E4BEF59055599A23B10702898
                                  on_chain_at: '2023-11-13T03:00:19Z'
                                timeout_tx: null
                                error: null
                              next_blocking_transfer: null
                              transfer_asset_release:
                                chain_id: canto_7700-1
                                denom: >-
                                  ibc/9117A26BA81E29FA4F78F57DC2BD90CD3D26848101BA880445F119B22A1E254E
                                released: true
                              error: null
                  summary: >-
                    Multiple transfers of Atom from Osmosis to Juno and from
                    Osmosis to Canto
                Transfer from Noble to Ethereum via CCTP:
                  value:
                    transfers:
                      - state: STATE_COMPLETED_SUCCESS
                        transfer_sequence:
                          - cctp_transfer:
                              from_chain_id: noble-1
                              to_chain_id: '1'
                              state: CCTP_TRANSFER_RECEIVED
                              txs:
                                send_tx:
                                  chain_id: noble-1
                                  tx_hash: >-
                                    8D87951B3D6EC4B3915CC4C035C48664B97D5964224940A2178A642B5FE83E8B
                                  explorer_link: >-
                                    https://www.mintscan.io/noble/txs/8D87951B3D6EC4B3915CC4C035C48664B97D5964224940A2178A642B5FE83E8B
                                  on_chain_at: '2023-11-13T02:59:53Z'
                                receive_tx:
                                  chain_id: '1'
                                  tx_hash: >-
                                    0xf9b23f873107fe631ba2880a322510ab9a43e15e46dfcacfcdfd75fb66765a7d
                                  explorer_link: >-
                                    https://etherscan.io/tx/0xf9b23f873107fe631ba2880a322510ab9a43e15e46dfcacfcdfd75fb66765a7d
                                  on_chain_at: '2023-11-13T03:00:07Z'
                        next_blocking_transfer: null
                        transfer_asset_release:
                          chain_id: '1'
                          denom: uusdc
                          released: true
                        error: null
              schema:
                $ref: '#/components/schemas/StatusTxResponse'
        '404':
          description: The specified tx was not found.
          content:
            application/json:
              example:
                code: 5
                message: tx not found
                details: []
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              example:
                code: 2
                message: internal server error
                details: []
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    StatusTxResponse:
      type: object
      required:
        - state
        - transfer_sequence
      properties:
        transfers:
          type: array
          items:
            $ref: '#/components/schemas/TransferStatus'
          description: >-
            Transfer status for all transfers initiated by the transaction in
            the order they were initiated.
        state:
          $ref: '#/components/schemas/TransactionState'
          description: >-
            The overall state reflecting the end-to-end status of all transfers
            initiated by the original transaction.
        next_blocking_transfer:
          description: >-
            Details about the next transfer in the sequence that is preventing
            further progress, if any.
          nullable: true
          properties:
            transfer_sequence_index:
              type: integer
          type: object
        transfer_asset_release:
          $ref: '#/components/schemas/TransferAssetRelease'
        error:
          description: >-
            Details about any error encountered during the transaction or its
            subsequent transfers.
          allOf:
            - $ref: '#/components/schemas/StatusError'
          nullable: true
        transfer_sequence:
          description: >-
            **DEPRECATED.** This field provides a flat list of all transfer
            events. For a more structured and detailed status of each transfer
            leg, including its individual events, please use the 'transfers'
            array instead. This field may be removed in a future version.
          deprecated: true
          type: array
          items:
            $ref: '#/components/schemas/TransferEvent'
        status:
          type: string
          description: >-
            A high-level status indicator for the transaction's completion
            state.
          example: STATE_COMPLETED
    Error:
      properties:
        code:
          allOf:
            - $ref: '#/components/schemas/GRPCStatusCode'
          description: Error code
        details:
          description: Additional error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
        message:
          description: Error message
          type: string
      type: object
    TransferStatus:
      properties:
        state:
          $ref: '#/components/schemas/TransactionState'
        transfer_sequence:
          description: Lists any IBC and Axelar transfers as they are seen.
          items:
            $ref: '#/components/schemas/TransferEvent'
          type: array
        next_blocking_transfer:
          description: >-
            Indicates which entry in the `transfer_sequence` field that the
            transfer is blocked on. Will be null if there is no blocked
            transfer.
          nullable: true
          properties:
            transfer_sequence_index:
              description: >-
                The index of the entry in the `transfer_sequence` field that the
                transfer is blocked on.
              type: integer
          type: object
        transfer_asset_release:
          $ref: '#/components/schemas/TransferAssetRelease'
        error:
          allOf:
            - $ref: '#/components/schemas/StatusError'
              nullable: true
      type: object
    TransactionState:
      description: >
        Transaction state:

        * `STATE_SUBMITTED` - The initial transaction has been submitted to Skip
        Go API but not observed on chain yet

        * `STATE_PENDING` - The initial transaction has been observed on chain,
        and there are still pending actions

        * `STATE_COMPLETED_SUCCESS` - The route has completed successfully and
        the user has their tokens on the destination. (indicated by
        `transfer_asset_release`)

        * `STATE_COMPLETED_ERROR` - The route errored somewhere and the user has
        their tokens unlocked in one of their wallets. Their tokens are either
        on the source chain, an intermediate chain, or the destination chain but
        as the wrong asset.

        (Again, `transfer_asset_release` indicates where the tokens are)

        * `STATE_ABANDONED` - Tracking for the transaction has been abandoned.
        This happens if the cross-chain  sequence of actions stalls for more
        than 10 minutes or if the initial transaction does not get observed in a
        block for 5 minutes.

        * `STATE_PENDING_ERROR` - The overall transaction will fail, pending
        error propagation
      enum:
        - STATE_SUBMITTED
        - STATE_PENDING
        - STATE_ABANDONED
        - STATE_COMPLETED_SUCCESS
        - STATE_COMPLETED_ERROR
        - STATE_PENDING_ERROR
      type: string
    TransferAssetRelease:
      description: Indicates location and denom of transfer asset release.
      type: object
      properties:
        chain_id:
          description: The chain ID of the chain that the transfer asset is released on.
          type: string
        denom:
          description: The denom of the asset that is released.
          type: string
        amount:
          description: The amount of the asset that is released.
          type: string
          nullable: true
        released:
          description: >-
            Indicates whether assets have been released and are accessible. The
            assets may still be in transit.
          type: boolean
    StatusError:
      properties:
        details:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/TransactionExecutionErrorDetails'
        message:
          description: Error message
          type: string
        type:
          $ref: '#/components/schemas/StatusErrorType'
      type: object
    TransferEvent:
      type: object
      properties:
        ibc_transfer:
          $ref: '#/components/schemas/IBCTransferInfo'
        axelar_transfer:
          $ref: '#/components/schemas/AxelarTransferInfo'
        cctp_transfer:
          $ref: '#/components/schemas/CCTPTransferInfo'
        hyperlane_transfer:
          $ref: '#/components/schemas/HyperlaneTransferInfo'
        op_init_transfer:
          $ref: '#/components/schemas/OPInitTransferInfo'
        stargate_transfer:
          $ref: '#/components/schemas/StargateTransferInfo'
        go_fast_transfer:
          $ref: '#/components/schemas/GoFastTransferInfo'
        eureka_transfer:
          $ref: '#/components/schemas/EurekaTransferInfo'
        layer_zero_transfer:
          $ref: '#/components/schemas/LayerZeroTransferInfo'
    GRPCStatusCode:
      description: >-
        grpc status codes as defined
        [here](https://grpc.github.io/grpc/core/md_doc_statuscodes.html)
      type: number
    ErrorDetail:
      type: object
      properties:
        reason:
          description: >
            Error detail:

            * `LOW_INFO_ERROR` - Not enough asset pricing information to
            determine the price safety of the route.

            * `BAD_PRICE_ERROR` - The execution price of the route deviates
            significantly from the current market price.

            * `HIGH_LOSS_ERROR` - The route would result in a USD loss exceeding
            the configured threshold and has been blocked.
          enum:
            - LOW_INFO_ERROR
            - BAD_PRICE_ERROR
            - HIGH_LOSS_ERROR
          type: string
    TransactionExecutionErrorDetails:
      properties:
        code:
          description: Error code
          type: number
        message:
          description: Error message
          type: string
      type: object
    StatusErrorType:
      description: >
        Packet error types:

        * `STATUS_ERROR_UNKNOWN` - Unknown error

        * `STATUS_ERROR_TRANSACTION_EXECUTION` - Error was encountered during
        transaction execution

        * `STATUS_ERROR_INDEXING` - Error was encountered while indexing the
        transaction and packet data

        * `STATUS_ERROR_TRANSFER` - The transfer failed to complete successfully
      enum:
        - STATUS_ERROR_UNKNOWN
        - STATUS_ERROR_TRANSACTION_EXECUTION
        - STATUS_ERROR_INDEXING
        - STATUS_ERROR_TRANSFER
      type: string
    IBCTransferInfo:
      required:
        - to_chain_id
        - packet_txs
        - from_chain_id
        - state
      properties:
        to_chain_id:
          description: Chain ID of the destination chain
          type: string
        packet_txs:
          $ref: '#/components/schemas/Packet'
        from_chain_id:
          description: Chain ID of the source chain
          type: string
        state:
          $ref: '#/components/schemas/TransferState'
      type: object
    AxelarTransferInfo:
      type: object
      required:
        - to_chain_id
        - from_chain_id
        - state
        - txs
      properties:
        axelar_scan_link:
          description: Link to the transaction on the Axelar Scan explorer
          type: string
        to_chain_id:
          description: Chain ID of the destination chain
          type: string
        from_chain_id:
          description: Chain ID of the source chain
          type: string
        state:
          $ref: '#/components/schemas/AxelarTransferState'
        txs:
          oneOf:
            - type: object
              properties:
                contract_call_with_token_txs:
                  $ref: '#/components/schemas/ContractCallWithTokenTxs'
            - $ref: '#/components/schemas/SendTokenTxs'
        type:
          $ref: '#/components/schemas/AxelarTransferType'
    CCTPTransferInfo:
      properties:
        to_chain_id:
          description: Chain ID of the destination chain
          type: string
        from_chain_id:
          description: Chain ID of the source chain
          type: string
        state:
          $ref: '#/components/schemas/CCTPTransferState'
        txs:
          $ref: '#/components/schemas/CCTPTransferTxs'
      type: object
    HyperlaneTransferInfo:
      required:
        - from_chain_id
        - to_chain_id
        - state
        - txs
      properties:
        from_chain_id:
          description: Chain ID of the source chain
          type: string
        to_chain_id:
          description: Chain ID of the destination chain
          type: string
        state:
          $ref: '#/components/schemas/HyperlaneTransferState'
        txs:
          $ref: '#/components/schemas/HyperlaneTransferTransactions'
      type: object
    OPInitTransferInfo:
      required:
        - to_chain_id
        - from_chain_id
        - state
        - txs
      properties:
        to_chain_id:
          description: Chain ID of the destination chain
          type: string
        from_chain_id:
          description: Chain ID of the source chain
          type: string
        state:
          $ref: '#/components/schemas/OPInitTransferState'
        txs:
          $ref: '#/components/schemas/OPInitTransferTxs'
      type: object
    StargateTransferInfo:
      properties:
        from_chain_id:
          description: Chain ID of the source chain
          type: string
        to_chain_id:
          description: Chain ID of the destination chain
          type: string
        state:
          $ref: '#/components/schemas/StargateTransferState'
        txs:
          $ref: '#/components/schemas/StargateTransferTxs'
      type: object
    GoFastTransferInfo:
      type: object
      required:
        - from_chain_id
        - to_chain_id
        - state
        - txs
      properties:
        from_chain_id:
          description: Chain Id of the source chain
          type: string
        to_chain_id:
          description: Chain Id of the destination chain
          type: string
        state:
          $ref: '#/components/schemas/GoFastTransferState'
        txs:
          $ref: '#/components/schemas/GoFastTransferTxs'
        error_message:
          description: Error message if the transfer failed post-fill
          type: string
          nullable: true
    EurekaTransferInfo:
      required:
        - from_chain_id
        - to_chain_id
        - state
        - packet_txs
      properties:
        from_chain_id:
          description: Chain ID of the source chain
          type: string
        to_chain_id:
          description: Chain ID of the destination chain
          type: string
        state:
          $ref: '#/components/schemas/TransferState'
        packet_txs:
          $ref: '#/components/schemas/Packet'
      type: object
    LayerZeroTransferInfo:
      required:
        - from_chain_id
        - to_chain_id
        - state
        - txs
      properties:
        from_chain_id:
          description: Chain ID of the source chain
          type: string
        to_chain_id:
          description: Chain ID of the destination chain
          type: string
        state:
          $ref: '#/components/schemas/LayerZeroTransferState'
        txs:
          $ref: '#/components/schemas/LayerZeroTransferTransactions'
      type: object
    Packet:
      properties:
        acknowledge_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        error:
          allOf:
            - $ref: '#/components/schemas/PacketError'
          nullable: true
        receive_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        send_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        timeout_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
      type: object
    TransferState:
      description: >
        Transfer state:

        * `TRANSFER_UNKNOWN` - Transfer state is not known.

        * `TRANSFER_PENDING` - The send packet for the transfer has been
        committed and the transfer is pending.

        * `TRANSFER_RECEIVED` - The transfer packet has been received by the
        destination chain. It can still fail and revert if it is part of a
        multi-hop PFM transfer.

        * `TRANSFER_SUCCESS` - The transfer has been successfully completed and
        will not revert.

        * `TRANSFER_FAILURE`- The transfer has failed.
      enum:
        - TRANSFER_UNKNOWN
        - TRANSFER_PENDING
        - TRANSFER_RECEIVED
        - TRANSFER_SUCCESS
        - TRANSFER_FAILURE
      type: string
    AxelarTransferState:
      description: >
        Axelar transfer state:

        * `AXELAR_TRANSFER_UNKNOWN` - Unknown error

        * `AXELAR_TRANSFER_PENDING_CONFIRMATION` - Axelar transfer is pending
        confirmation

        * `AXELAR_TRANSFER_PENDING_RECEIPT` - Axelar transfer is pending receipt
        at destination

        * `AXELAR_TRANSFER_SUCCESS` - Axelar transfer succeeded and assets have
        been received

        * `AXELAR_TRANSFER_FAILURE` - Axelar transfer failed
      enum:
        - AXELAR_TRANSFER_UNKNOWN
        - AXELAR_TRANSFER_PENDING_CONFIRMATION
        - AXELAR_TRANSFER_PENDING_RECEIPT
        - AXELAR_TRANSFER_SUCCESS
        - AXELAR_TRANSFER_FAILURE
      type: string
    ContractCallWithTokenTxs:
      properties:
        approve_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        confirm_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        error:
          allOf:
            - $ref: '#/components/schemas/ContractCallWithTokenError'
          nullable: true
        execute_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        gas_paid_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        send_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
      type: object
    SendTokenTxs:
      properties:
        confirm_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        error:
          allOf:
            - $ref: '#/components/schemas/SendTokenError'
          nullable: true
        execute_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        send_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
      type: object
    AxelarTransferType:
      description: >
        Axelar transfer type:

        * `AXELAR_TRANSFER_CONTRACT_CALL_WITH_TOKEN` - GMP contract call with
        token transfer type

        * `AXELAR_TRANSFER_SEND_TOKEN` - Send token transfer type
      enum:
        - AXELAR_TRANSFER_CONTRACT_CALL_WITH_TOKEN
        - AXELAR_TRANSFER_SEND_TOKEN
      type: string
    CCTPTransferState:
      description: >
        CCTP transfer state:

        * `CCTP_TRANSFER_UNKNOWN` - Unknown error

        * `CCTP_TRANSFER_SENT` - The burn transaction on the source chain has
        executed

        * `CCTP_TRANSFER_PENDING_CONFIRMATION` - CCTP transfer is pending
        confirmation by the cctp attestation api

        * `CCTP_TRANSFER_CONFIRMED` - CCTP transfer has been confirmed by the
        cctp attestation api

        * `CCTP_TRANSFER_RECEIVED` - CCTP transfer has been received at the
        destination chain
      enum:
        - CCTP_TRANSFER_UNKNOWN
        - CCTP_TRANSFER_SENT
        - CCTP_TRANSFER_PENDING_CONFIRMATION
        - CCTP_TRANSFER_CONFIRMED
        - CCTP_TRANSFER_RECEIVED
      type: string
    CCTPTransferTxs:
      properties:
        send_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        receive_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
      type: object
    HyperlaneTransferState:
      description: >
        Hyperlane transfer state:

        * `HYPERLANE_TRANSFER_UNKNOWN` - Unknown error

        * `HYPERLANE_TRANSFER_SENT` - The Hyperlane transfer transaction on the
        source chain has executed

        * `HYPERLANE_TRANSFER_FAILED` - The Hyperlane transfer failed

        * `HYPERLANE_TRANSFER_RECEIVED` - The Hyperlane transfer has been
        received at the destination chain
      enum:
        - HYPERLANE_TRANSFER_UNKNOWN
        - HYPERLANE_TRANSFER_SENT
        - HYPERLANE_TRANSFER_FAILED
        - HYPERLANE_TRANSFER_RECEIVED
      type: string
    HyperlaneTransferTransactions:
      properties:
        send_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        receive_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
      type: object
    OPInitTransferState:
      description: >
        OPInit transfer state:

        * `OPINIT_TRANSFER_UNKNOWN` - Unknown error

        * `OPINIT_TRANSFER_SENT` - The deposit transaction on the source chain
        has executed

        * `OPINIT_TRANSFER_RECEIVED` - OPInit transfer has been received at the
        destination chain
      enum:
        - OPINIT_TRANSFER_UNKNOWN
        - OPINIT_TRANSFER_SENT
        - OPINIT_TRANSFER_RECEIVED
      type: string
    OPInitTransferTxs:
      properties:
        send_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        receive_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
      type: object
    StargateTransferState:
      description: >
        Stargate transfer state:

        * `STARGATE_TRANSFER_UNKNOWN` - Unknown error

        * `STARGATE_TRANSFER_SENT` - The Stargate transfer transaction on the
        source chain has executed

        * `STARGATE_TRANSFER_PENDING_CONFIRMATION` - Stargate transfer is
        pending confirmation

        * `STARGATE_TRANSFER_CONFIRMED` - Stargate transfer has been confirmed

        * `STARGATE_TRANSFER_RECEIVED` - Stargate transfer has been received at
        the destination chain

        * `STARGATE_TRANSFER_FAILED` - Stargate transfer failed
      enum:
        - STARGATE_TRANSFER_UNKNOWN
        - STARGATE_TRANSFER_SENT
        - STARGATE_TRANSFER_PENDING_CONFIRMATION
        - STARGATE_TRANSFER_CONFIRMED
        - STARGATE_TRANSFER_RECEIVED
        - STARGATE_TRANSFER_FAILED
      type: string
    StargateTransferTxs:
      properties:
        send_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        receive_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        error_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
      type: object
    GoFastTransferState:
      description: >
        GoFast transfer state:

        * `GO_FAST_TRANSFER_UNKNOWN` - Unknown state

        * `GO_FAST_TRANSFER_SENT` - Order submitted on source chain

        * `GO_FAST_POST_ACTION_FAILED` - Order filled, but subsequent action
        (e.g., swap) failed

        * `GO_FAST_TRANSFER_TIMEOUT` - Order timed out

        * `GO_FAST_TRANSFER_FILLED` - Order filled on destination chain

        * `GO_FAST_TRANSFER_REFUNDED` - Order refunded
      enum:
        - GO_FAST_TRANSFER_UNKNOWN
        - GO_FAST_TRANSFER_SENT
        - GO_FAST_POST_ACTION_FAILED
        - GO_FAST_TRANSFER_TIMEOUT
        - GO_FAST_TRANSFER_FILLED
        - GO_FAST_TRANSFER_REFUNDED
      type: string
    GoFastTransferTxs:
      properties:
        order_submitted_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        order_filled_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        order_refunded_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        order_timeout_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
      type: object
    LayerZeroTransferState:
      description: >
        LayerZero transfer state:

        * `LAYER_ZERO_TRANSFER_UNKNOWN` - Unknown error

        * `LAYER_ZERO_TRANSFER_SENT` - The transaction on the source chain has
        executed

        * `LAYER_ZERO_TRANSFER_WAITING_FOR_COMPOSE` - The transfer has been
        delivered to the destination chain but there is an additional lz_compose
        transaction that still needs to be delivered before marking this
        transfer as LAYER_ZERO_TRANSFER_RECEIVED

        * `LAYER_ZERO_TRANSFER_RECEIVED` - The transfer has been received at the
        destination chain

        * `LAYER_ZERO_TRANSFER_FAILED` - The transfer has failed
      enum:
        - LAYER_ZERO_TRANSFER_UNKNOWN
        - LAYER_ZERO_TRANSFER_SENT
        - LAYER_ZERO_TRANSFER_WAITING_FOR_COMPOSE
        - LAYER_ZERO_TRANSFER_RECEIVED
        - LAYER_ZERO_TRANSFER_FAILED
      type: string
    LayerZeroTransferTransactions:
      properties:
        send_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        receive_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        compose_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
        error_tx:
          allOf:
            - $ref: '#/components/schemas/ChainTransaction'
          nullable: true
    ChainTransaction:
      required:
        - explorer_link
      properties:
        chain_id:
          description: Chain ID the packet event occurs on
          type: string
        explorer_link:
          description: Link to the transaction on block explorer
          type: string
        tx_hash:
          description: Hash of the transaction the packet event occurred in
          type: string
        on_chain_at:
          description: >-
            RFC3339 formatted UTC timestamp of when the transaction landed on
            chain
          type: string
      type: object
    PacketError:
      properties:
        details:
          oneOf:
            - nullable: true
            - $ref: '#/components/schemas/AcknowledgementErrorDetails'
        message:
          description: Error message
          type: string
        type:
          $ref: '#/components/schemas/PacketErrorType'
      type: object
    ContractCallWithTokenError:
      properties:
        message:
          description: Error message
          type: string
        type:
          $ref: '#/components/schemas/ContractCallWithTokenErrorType'
      type: object
    SendTokenError:
      properties:
        message:
          description: Error message
          type: string
        type:
          $ref: '#/components/schemas/SendTokenErrorType'
      type: object
    AcknowledgementErrorDetails:
      properties:
        code:
          description: Error code
          type: number
        message:
          description: Error message
          type: string
      type: object
    PacketErrorType:
      description: |
        Packet error type:
        * `PACKET_ERROR_UNKNOWN` - Unknown error
        * `PACKET_ERROR_ACKNOWLEDGEMENT` - Packet acknowledgement error
        * `PACKET_ERROR_TIMEOUT` - Packet timed out
      enum:
        - PACKET_ERROR_UNKNOWN
        - PACKET_ERROR_ACKNOWLEDGEMENT
        - PACKET_ERROR_TIMEOUT
      type: string
    ContractCallWithTokenErrorType:
      description: >
        ContractCallWithToken errors:

        * `CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERROR` - Error occurred during the
        execute transaction
      enum:
        - CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERROR
      type: string
    SendTokenErrorType:
      description: >
        SendToken error types:

        * `SEND_TOKEN_EXECUTION_ERROR` - Error occurred during the execute
        transaction
      enum:
        - SEND_TOKEN_EXECUTION_ERROR
      type: string

````