---
title: "Get multi exchange status"
method: GET
path: "/exchanges/multi/{multiId}"
tags: ["Exchanges"]
---

# Get multi exchange status

`GET /exchanges/multi/{multiId}`

Returns the status of all orders belonging to a multi exchange group.

## Path parameters

- `multiId` string, required

## Response `200`

Success

- MultiExchangeStatusResult — Response for GET /exchanges/multi/{multiId} — all orders that made it to the DB
  - `multiId` string, required
  - `orders` MultiExchangeStatusItem[], required
    - union
      - OrderV2PublicResponse
        - `swapName` string, required
        - `fixed` boolean
        - `refundAddress` string
        - `houdiniId` string, required
        - `created` string, date-time, required
        - `modified` string, date-time
        - `depositAddress` string, required — The CEX deposit address where the user must send funds
        - `receiverAddress` string, required
        - `anonymous` boolean, required
        - `expires` string, date-time, required
        - `status` -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8, required — - **-2** Order is being initialized (label: INITIALIZING) - **-1** Order initialized (label: NEW) - **0** Waiting for deposit confirmation (label: WAITING) - **1** Deposit is being confirmed (label: CONFIRMING) - **2** Exchange is in progress (label: EXCHANGING) - **3** Order is going through anonymization (label: ANONYMIZING) - **4** Order completed successfully (label: FINISHED) - **5** Order has expired (label: EXPIRED) - **6** Order failed (label: FAILED) - **7** Order was refunded (label: REFUNDED) - **8** Order was deleted (label: DELETED)
        - `inAmount` number, double, required
        - `inSymbol` string, required
        - `outAmount` number, double, required
        - `outSymbol` string, required
        - `depositTag` string — Memo/tag required when depositing funds for assets that use one
        - `notified` boolean, required
        - `eta` number, double, required — ETA time, depending on swap
        - `inAmountUsd` number, double, required — USD value of the input amount at order creation time.
        - `outAmountUsd` number, double, required
        - `multiId` string, required
        - `inCreated` string, date-time, required
        - `id` string, required
        - `nonRefundable` boolean
        - `metadata` unknown
        - `isDex` boolean, required
        - `orderFinishedReceived` string, date-time, required
        - `actionRequired` boolean, required
        - `outToken` Token, required
          - `icon` string, required
          - `id` string, required
          - `address` string, nullable
          - `chain` string, required
          - `decimals` number, double
          - `symbol` string
          - `name` string
          - `created` string, date-time, required
          - `modified` string, date-time
          - `chainData` Chain, required
            - `icon` string, required
            - `addressValidation` string, required
            - `tokenAddressValidation` string, required
            - `id` string, required
            - `created` string, date-time, required
            - `modified` string, date-time
            - `name` string, required
            - `shortName` string, required
            - `memoNeeded` boolean, nullable
            - `hashUrl` string
            - `explorerUrl` string, required
            - `addressUrl` string, required
            - `priority` number, double
            - `kind` string, required
            - `chainId` number, double, nullable
            - `enabled` boolean, required
            - `shortNameV1` string, required
          - `description` string, nullable
          - `mainnet` boolean
          - `enabled` boolean
          - `unverified` boolean
          - `hasDex` boolean
          - `hasCex` boolean
          - `hasSelfPrivate` boolean — Indicates if token supports private (self-to-self) swaps. Stored field computed when token is saved. True when token has CEX support AND at least 2 enabled CEX swap provider mappings.
          - `cexTokenId` string
          - `rank` number, double, nullable
          - `cgId` string, nullable
          - `marketCapChange24h` number, double — 24h market cap change percentage from CoinGecko.
          - `circulatingSupply` number, double — Token circulating supply from CoinGecko.
          - `price` number, double, nullable
          - `marketCap` number, double, nullable
          - `volume` number, double, nullable
          - `fdv` number, double, nullable
          - `change` number, double, nullable
          - `priority` number, double, nullable
          - `warningMessage` string
        - `inToken` Token, required
          - `icon` string, required
          - `id` string, required
          - `address` string, nullable
          - `chain` string, required
          - `decimals` number, double
          - `symbol` string
          - `name` string
          - `created` string, date-time, required
          - `modified` string, date-time
          - `chainData` Chain, required
            - `icon` string, required
            - `addressValidation` string, required
            - `tokenAddressValidation` string, required
            - `id` string, required
            - `created` string, date-time, required
            - `modified` string, date-time
            - `name` string, required
            - `shortName` string, required
            - `memoNeeded` boolean, nullable
            - `hashUrl` string
            - `explorerUrl` string, required
            - `addressUrl` string, required
            - `priority` number, double
            - `kind` string, required
            - `chainId` number, double, nullable
            - `enabled` boolean, required
            - `shortNameV1` string, required
          - `description` string, nullable
          - `mainnet` boolean
          - `enabled` boolean
          - `unverified` boolean
          - `hasDex` boolean
          - `hasCex` boolean
          - `hasSelfPrivate` boolean — Indicates if token supports private (self-to-self) swaps. Stored field computed when token is saved. True when token has CEX support AND at least 2 enabled CEX swap provider mappings.
          - `cexTokenId` string
          - `rank` number, double, nullable
          - `cgId` string, nullable
          - `marketCapChange24h` number, double — 24h market cap change percentage from CoinGecko.
          - `circulatingSupply` number, double — Token circulating supply from CoinGecko.
          - `price` number, double, nullable
          - `marketCap` number, double, nullable
          - `volume` number, double, nullable
          - `fdv` number, double, nullable
          - `change` number, double, nullable
          - `priority` number, double, nullable
          - `warningMessage` string
        - `inStatus` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10, required — - **0** New swap - **1** Waiting for confirmation - **2** Being confirmed - **3** Exchange in progress - **4** Sending to destination - **5** Swap completed - **6** Swap failed - **7** Swap refunded - **8** Verifying swap - **9** Swap expired - **10** Fallback mode
        - `outStatus` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10, required — - **0** New swap - **1** Waiting for confirmation - **2** Being confirmed - **3** Exchange in progress - **4** Sending to destination - **5** Swap completed - **6** Swap failed - **7** Swap refunded - **8** Verifying swap - **9** Swap expired - **10** Fallback mode
        - `outTransactionOutHash` string, required
        - `displayStatus` 'WAITING_FOR_DEPOSIT' | 'DEPOSIT_DETECTED' | 'EXCHANGE_IN_PROGRESS' | 'SENDING_TO_INTERMEDIARY' | 'REACHED_INTERMEDIARY' | 'INITIATING_SECOND_EXCHANGE' | 'SECOND_EXCHANGE_IN_PROGRESS' | 'SENDING_TO_RECEIVER' | 'SWAP_COMPLETED' | 'EXPIRED' | 'FAILED' | 'REFUNDED' | 'DELETED', required
        - `receiverTag` string, nullable — Memo/tag required when receiving funds for assets that use one
      - MultiExchangeDeletedOrder — Minimal order tombstone returned for stale or deleted multi-exchange orders
        - `houdiniId` string, required
        - `status` 8, required
  - `txHash` string — On-chain transaction hash once the EVM bundle is confirmed; null until then
  - `bundleStatus` string — Status of the most recent bundle record: pending | submitted | confirmed | failed | withdrawn. Absent when no bundle has been built yet (or for non-EVM multiswaps).
  - `failureReason` string — Why the bundle failed; only set when bundleStatus is "failed"

## Other responses

- `404` — Not found
- `422` — Validation Failed
- `500` — Internal Server Error

---

[API](https://skmtc.net/houdiniswap/apis/houdiniswap-backend.md) · [All operations](https://skmtc.net/houdiniswap/apis/houdiniswap-backend/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/houdiniswap/houdiniswap-backend/versions/2063dbc88d59/schema)
