---
title: "View status of a swap, by id."
method: GET
path: "/status-by-id"
tags: ["Status"]
---

# View status of a swap, by id.

`GET /status-by-id`

## Request

- Base URL: `https://chainflip-broker.io`
- URL: `https://chainflip-broker.io/status-by-id`
- Auth: one of:
  - API key in query parameter `apiKey`
  - API key in header `X-API-Key`

Returns a swap's current state (waiting, receiving, swapping, sending, sent, completed
or failed) with its deposit channel, deposit, fees, swap progress and payout, looked
up by the `id` that `startSwap` returned.

## Query parameters

- `apiKey` string
- `swapId` integer, required

## Response `200`

The swap status.

- ChainflipBaasStatusStatusResponse: A swap made through your broker and its current status.
  - `id` integer: The BaaS swap id, returned as `id` when the swap was started. Use it with `getStatusById`. Not the Chainflip swap id, which is `status.swapId`.
  - `platform` string: The provider that executes the swap.
  - `status` ChainflipBaasStatusSwapStatus: A swap's progress as Chainflip reports it: the deposit channel, the deposit, the swap itself and the outgoing transfers. Sections appear as the swap reaches them. Every `...At` field is a Unix time in milliseconds, every `...AtDate` field the same moment as a date, and every `...BlockIndex` field the Chainflip State Chain block and event index it happened in (`block-event`). `...Native` amounts are in the asset's smallest unit, the others in whole units.
    - `state` 'waiting' | 'receiving' | 'swapping' | 'sending' | 'sent' | 'completed' | 'failed': Where the swap is: `waiting` (no deposit yet), `receiving` (deposit seen, waiting for confirmations), `swapping`, `sending` (output scheduled), `sent` (output broadcast, waiting to be confirmed), `completed` or `failed`. A swap that was refunded in full or in part also ends as `completed`, with a `refundEgress`.
    - `swapId` string: The Chainflip swap request id, as shown on Chainflip's explorer. Absent until the deposit has been witnessed. Not the BaaS swap id used by `getStatusById`.
    - `sourceAsset` string: The asset swapped from.
    - `destinationAsset` string: The asset swapped to.
    - `destinationAddress` string: The address on the destination chain that receives the output.
    - `depositChannel` ChainflipBaasStatusDepositChannel: The deposit channel: the address the source asset is sent to, and until when it accepts deposits.
      - `id` string: The channel id, `issuedBlock-network-channelId`. Use it with `getStatusByDepositChannel`.
      - `createdAt` integer: When the channel was opened, as a Unix time in milliseconds.
      - `createdAtDate` string, date-time: `createdAt` as a date.
      - `brokerCommissionBps` integer: The submitting broker's commission in basis points, the first entry of `brokers`. Kept for compatibility; prefer `brokers`.
      - `depositAddress` string: The address on the source chain to send the source asset to.
      - `sourceChainExpiryBlock` string: The source-chain block height after which the channel stops accepting deposits.
      - `estimatedExpiryTime` integer: Chainflip's estimate of when the channel expires, as a Unix time in milliseconds.
      - `estimatedExpiryDate` string, date-time: `estimatedExpiryTime` as a date.
      - `expectedDepositAmount` number, double, nullable: The deposit amount announced when the channel was opened, in the source asset. Absent when none was.
      - `expectedDepositAmountNative` string, nullable: `expectedDepositAmount` in the source asset's smallest unit.
      - `isExpired` boolean: Whether the channel has expired. Send nothing to an expired channel.
      - `openedThroughBackend` boolean: Whether the channel was opened through Chainflip's own swap backend rather than a broker; false for channels opened through BaaS.
      - `affiliateBrokers` ChainflipBaasStatusAffiliateBroker[], nullable: The affiliates earning a commission on the swap, `brokers` without the submitting broker. Kept for compatibility; prefer `brokers`.
        - `account` string: The Chainflip account (SS58) the commission is paid to.
        - `commissionBps` integer: The commission in basis points of the swap.
      - `fillOrKillParams` ChainflipBaasStatusFillOrKillParameters: The slippage protection: if the swap cannot meet these limits within the retry window, the deposit is refunded.
        - `retryDurationBlocks` integer: How long, in State Chain blocks (6 seconds each), the swap is retried before the deposit is refunded.
        - `refundAddress` string: The address on the source chain that refunds are sent to.
        - `minimumPrice` string: The minimum accepted price: destination asset per unit of the source asset.
        - `maximumOraclePriceSlippage` integer, nullable: Maximum accepted deviation of the execution price from the oracle price, in basis points. Absent when the channel sets no oracle price guard.
      - `dcaParams` ChainflipBaasStatusDcaParameters: How a DCA swap is split.
        - `numberOfChunks` integer: The number of chunks the input is split into.
        - `chunkIntervalBlocks` integer: The State Chain blocks (6 seconds each) between two chunks.
    - `fillOrKillParams` ChainflipBaasStatusFillOrKillParameters: The slippage protection: if the swap cannot meet these limits within the retry window, the deposit is refunded.
      - `retryDurationBlocks` integer: How long, in State Chain blocks (6 seconds each), the swap is retried before the deposit is refunded.
      - `refundAddress` string: The address on the source chain that refunds are sent to.
      - `minimumPrice` string: The minimum accepted price: destination asset per unit of the source asset.
      - `maximumOraclePriceSlippage` integer, nullable: Maximum accepted deviation of the execution price from the oracle price, in basis points. Absent when the channel sets no oracle price guard.
    - `brokers` ChainflipBaasStatusAffiliateBroker[], nullable: The accounts earning a commission on the swap, in basis points: first the submitting broker, then the affiliates.
      - `account` string: The Chainflip account (SS58) the commission is paid to.
      - `commissionBps` integer: The commission in basis points of the swap.
    - `dcaParams` ChainflipBaasStatusDcaParameters: How a DCA swap is split.
      - `numberOfChunks` integer: The number of chunks the input is split into.
      - `chunkIntervalBlocks` integer: The State Chain blocks (6 seconds each) between two chunks.
    - `fallbackEgress` ChainflipBaasStatusEgress: An outgoing transfer: the output (`swapEgress`), a refund (`refundEgress`) or a transfer to the fallback address (`fallbackEgress`). Amounts are in that transfer's asset and after its egress fee.
      - `amountNative` string: The amount sent, in the asset's smallest unit.
      - `amount` number, double: The amount sent.
      - `scheduledAt` integer, nullable: When Chainflip scheduled the transfer, as a Unix time in milliseconds.
      - `scheduledAtDate` string, date-time, nullable: `scheduledAt` as a date.
      - `scheduledBlockIndex` string, nullable: The State Chain block and event the transfer was scheduled in.
      - `transactionReference` string, nullable: The transaction hash of the transfer on its chain, once broadcast.
      - `witnessedAt` integer, nullable: When Chainflip witnessed the transfer on its chain, as a Unix time in milliseconds.
      - `witnessedBlockIndex` string, nullable: The State Chain block and event the transfer was witnessed in.
      - `failure` ChainflipBaasStatusFailure: Why a deposit or transfer failed.
        - `failedAt` integer: When it failed, as a Unix time in milliseconds.
        - `failedAtDate` string, date-time: `failedAt` as a date.
        - `failedBlockIndex` string: The State Chain block and event it failed in.
        - `mode` string: What failed, for example `DEPOSIT_REJECTED`, `DEPOSIT_IGNORED`, `SENDING_FAILED` or `REFUND_OUTPUT_TOO_SMALL`. New values can appear.
        - `reason` ChainflipBaasStatusReason: Chainflip's reason for a failure.
          - `code` string: Chainflip's machine-readable failure reason, e.g. `TransactionRejectedByBroker` or `swapping.NoRefundAmountRemaining`. New values can appear.
          - `message` string: A human-readable explanation. Do not branch on it: the text can change; use `code`.
      - `failedAt` integer, nullable: When the transfer failed, as a Unix time in milliseconds.
      - `failedAtDate` string, date-time, nullable: `failedAt` as a date.
      - `failedBlockIndex` string, nullable: The State Chain block and event the transfer failed in.
      - `destinationAddress` string, nullable: Only on `fallbackEgress`: the fallback address the funds were sent to.
      - `transactionPayload` ChainflipBaasStatusTransactionPayload: The EVM transaction of a transfer whose broadcast Chainflip aborted, so it can be submitted manually.
        - `contract` string, nullable: The contract the transaction calls.
        - `value` string, nullable: The value sent with the transaction, in the chain's smallest unit (wei).
        - `chainId` string, nullable: The EVM chain id.
        - `data` string, nullable: The transaction's calldata, hex-encoded.
    - `ccmParams` ChainflipBaasStatusCcmParameters: The cross-chain message delivered to the receiver on the destination chain with the output.
      - `gasBudget` string: The gas budget for executing the message on the destination chain, as given when the swap was started.
      - `message` string: The message passed to the receiver, hex-encoded.
      - `cfParameters` string, nullable: Legacy field. Chainflip no longer sends it, so it is absent.
    - `boost` ChainflipBaasStatusBoost: Boost: liquidity providers credit a Bitcoin deposit after one confirmation instead of waiting for all of them, for a fee.
      - `maximumBoostFeeBps` integer: The maximum boost fee accepted, in basis points: the `boostFee` the swap was started with.
      - `effectiveBoostFeeBps` integer, nullable: The boost fee actually charged, in basis points; 0 when the deposit could not be boosted.
      - `boostedAt` integer, nullable: When the deposit was boosted, as a Unix time in milliseconds.
      - `boostedAtDate` string, date-time, nullable: `boostedAt` as a date.
      - `boostedBlockIndex` string, nullable: The State Chain block and event the deposit was boosted in.
      - `skippedAt` integer, nullable: When boosting failed (not enough boost liquidity at the fee), as a Unix time in milliseconds. The deposit then waits for all confirmations.
      - `skippedAtDate` string, date-time, nullable: `skippedAt` as a date.
      - `skippedBlockIndex` string, nullable: The State Chain block and event boosting failed in.
    - `estimatedDurationSeconds` number, double, nullable: Chainflip's estimate of the whole swap's duration, in seconds.
    - `estimatedDurationsSeconds` ChainflipBaasStatusEstimatedDurations: Chainflip's estimate of each step's duration, in seconds.
      - `deposit` number, double, nullable: Until the deposit is witnessed. Absent when Chainflip has no estimate for the source chain.
      - `swap` number, double, nullable: Until the swap is executed.
      - `egress` number, double, nullable: Until the output transfer is included in a block on the destination chain.
    - `sourceChainRequiredBlockConfirmations` integer, nullable: The source-chain confirmations Chainflip waits for before witnessing a deposit. Absent when Chainflip reports none for the source chain (for example Polkadot Assethub).
    - `fees` ChainflipBaasStatusPaidFee[], nullable: The fees paid so far, one entry per fee type and asset.
      - `type` 'network' | 'ingress' | 'egress' | 'broker' | 'boost' | 'liquidity' | 'refund': The fee: `network` (Chainflip's network fee), `ingress` (receiving the deposit on the source chain), `egress` (sending on the destination chain), `broker` (the broker and affiliate commissions), `boost`, `refund` (sending a refund) or `liquidity` (liquidity provider fee, only on older swaps).
      - `asset` string: The asset the fee was paid in.
      - `amountNative` string: The fee in the asset's smallest unit.
      - `amount` number, double: The fee.
    - `deposit` ChainflipBaasStatusDeposit: The deposit into the channel (or the vault), in the source asset.
      - `amountNative` string: The deposited amount in the source asset's smallest unit.
      - `amount` number, double: The deposited amount.
      - `transactionReference` string, nullable: The source-chain transaction of the deposit: the transaction hash, or for Polkadot Assethub Chainflip's `block-extrinsicIndex` reference. Use it with `getStatusByTransactionHash`.
      - `transactionConfirmations` integer, nullable: The deposit's confirmations so far, while Chainflip is still waiting for them.
      - `witnessedAt` integer, nullable: When Chainflip witnessed the deposit (or boosted it), as a Unix time in milliseconds.
      - `witnessedAtDate` string, date-time, nullable: `witnessedAt` as a date.
      - `witnessedBlockIndex` string, nullable: The State Chain block and event the deposit was witnessed in.
      - `failure` ChainflipBaasStatusFailure: Why a deposit or transfer failed.
        - `failedAt` integer: When it failed, as a Unix time in milliseconds.
        - `failedAtDate` string, date-time: `failedAt` as a date.
        - `failedBlockIndex` string: The State Chain block and event it failed in.
        - `mode` string: What failed, for example `DEPOSIT_REJECTED`, `DEPOSIT_IGNORED`, `SENDING_FAILED` or `REFUND_OUTPUT_TOO_SMALL`. New values can appear.
        - `reason` ChainflipBaasStatusReason: Chainflip's reason for a failure.
          - `code` string: Chainflip's machine-readable failure reason, e.g. `TransactionRejectedByBroker` or `swapping.NoRefundAmountRemaining`. New values can appear.
          - `message` string: A human-readable explanation. Do not branch on it: the text can change; use `code`.
      - `failedAt` integer, nullable: When the deposit was rejected or ignored, as a Unix time in milliseconds.
      - `failedAtDate` string, date-time, nullable: `failedAt` as a date.
      - `failedBlockIndex` string, nullable: The State Chain block and event the deposit was rejected or ignored in.
    - `swap` ChainflipBaasStatusSwap: The swap itself: how much of the input has been swapped and what it returned, before the egress fee.
      - `originalInputAmountNative` string: `originalInputAmount` in the source asset's smallest unit.
      - `originalInputAmount` number, double: The amount that entered the swap, in the source asset: the deposit minus the ingress and any boost fee.
      - `remainingInputAmountNative` string: `remainingInputAmount` in the source asset's smallest unit.
      - `remainingInputAmount` number, double: The input not swapped (yet), in the source asset: chunks of a DCA swap still to run, or the part refunded when the swap was aborted.
      - `swappedInputAmountNative` string: `swappedInputAmount` in the source asset's smallest unit.
      - `swappedInputAmount` number, double: The input swapped so far, in the source asset.
      - `swappedIntermediateAmountNative` string: `swappedIntermediateAmount` in USDC's smallest unit.
      - `swappedIntermediateAmount` number, double: The USDC the swap passed through, for swaps routed via USDC (neither asset is USDC); otherwise 0.
      - `swappedOutputAmountNative` string: `swappedOutputAmount` in the destination asset's smallest unit.
      - `swappedOutputAmount` number, double: The output so far, in the destination asset, before the egress fee.
      - `livePriceExecutionDeltaPercentage` number, double, nullable: Execution price against the live oracle price, in percent. Absent when Chainflip recorded no oracle delta, e.g. on swaps before October 2025.
      - `regular` ChainflipBaasStatusChunkInfo: One swap chunk: the whole input of a regular swap, or one part of a DCA swap.
        - `inputAmountNative` string: `inputAmount` in the source asset's smallest unit.
        - `inputAmount` number, double: The chunk's input, in the source asset.
        - `intermediateAmountNative` string, nullable: `intermediateAmount` in USDC's smallest unit.
        - `intermediateAmount` number, double, nullable: The USDC the chunk passed through, for swaps routed via USDC, once executed.
        - `outputAmountNative` string, nullable: `outputAmount` in the destination asset's smallest unit.
        - `outputAmount` number, double, nullable: The chunk's output, in the destination asset, once executed.
        - `scheduledAt` integer: When the chunk was scheduled, as a Unix time in milliseconds.
        - `scheduledAtDate` string, date-time: `scheduledAt` as a date.
        - `scheduledBlockIndex` string: The State Chain block and event the chunk was scheduled in.
        - `executedAt` integer, nullable: When the chunk was executed, as a Unix time in milliseconds.
        - `executedAtDate` string, date-time, nullable: `executedAt` as a date.
        - `executedBlockIndex` string, nullable: The State Chain block and event the chunk was executed in.
        - `retryCount` integer: How often the chunk was retried, for example because the minimum price was not met.
        - `latestSwapRescheduledAt` integer, nullable: When the chunk was last rescheduled (retried), as a Unix time in milliseconds.
        - `latestSwapRescheduledAtDate` string, date-time, nullable: `latestSwapRescheduledAt` as a date.
        - `latestSwapRescheduledBlockIndex` string, nullable: The State Chain block and event the chunk was last rescheduled in.
        - `latestSwapRescheduledReason` string, nullable: Why the chunk was last rescheduled (retried): a Chainflip reason such as `MinPriceViolation`, `PriceImpactLimit`, `OraclePriceSlippageExceeded`, `OraclePriceStale`, `PredecessorSwapFailure` or `SafeModeActive`. New values can appear.
        - `abortedAt` integer, nullable: When the chunk was aborted for good, as a Unix time in milliseconds.
        - `abortedAtDate` string, date-time, nullable: `abortedAt` as a date.
        - `abortedBlockIndex` string, nullable: The State Chain block and event the chunk was aborted in.
        - `abortedReason` string, nullable: Why the chunk was aborted for good (the input is then refunded); same reason names as `latestSwapRescheduledReason`.
      - `dca` ChainflipBaasStatusDca: The progress of a DCA swap, which swaps its input in chunks over time.
        - `lastExecutedChunk` ChainflipBaasStatusChunkInfo: One swap chunk: the whole input of a regular swap, or one part of a DCA swap.
          - `inputAmountNative` string: `inputAmount` in the source asset's smallest unit.
          - `inputAmount` number, double: The chunk's input, in the source asset.
          - `intermediateAmountNative` string, nullable: `intermediateAmount` in USDC's smallest unit.
          - `intermediateAmount` number, double, nullable: The USDC the chunk passed through, for swaps routed via USDC, once executed.
          - `outputAmountNative` string, nullable: `outputAmount` in the destination asset's smallest unit.
          - `outputAmount` number, double, nullable: The chunk's output, in the destination asset, once executed.
          - `scheduledAt` integer: When the chunk was scheduled, as a Unix time in milliseconds.
          - `scheduledAtDate` string, date-time: `scheduledAt` as a date.
          - `scheduledBlockIndex` string: The State Chain block and event the chunk was scheduled in.
          - `executedAt` integer, nullable: When the chunk was executed, as a Unix time in milliseconds.
          - `executedAtDate` string, date-time, nullable: `executedAt` as a date.
          - `executedBlockIndex` string, nullable: The State Chain block and event the chunk was executed in.
          - `retryCount` integer: How often the chunk was retried, for example because the minimum price was not met.
          - `latestSwapRescheduledAt` integer, nullable: When the chunk was last rescheduled (retried), as a Unix time in milliseconds.
          - `latestSwapRescheduledAtDate` string, date-time, nullable: `latestSwapRescheduledAt` as a date.
          - `latestSwapRescheduledBlockIndex` string, nullable: The State Chain block and event the chunk was last rescheduled in.
          - `latestSwapRescheduledReason` string, nullable: Why the chunk was last rescheduled (retried): a Chainflip reason such as `MinPriceViolation`, `PriceImpactLimit`, `OraclePriceSlippageExceeded`, `OraclePriceStale`, `PredecessorSwapFailure` or `SafeModeActive`. New values can appear.
          - `abortedAt` integer, nullable: When the chunk was aborted for good, as a Unix time in milliseconds.
          - `abortedAtDate` string, date-time, nullable: `abortedAt` as a date.
          - `abortedBlockIndex` string, nullable: The State Chain block and event the chunk was aborted in.
          - `abortedReason` string, nullable: Why the chunk was aborted for good (the input is then refunded); same reason names as `latestSwapRescheduledReason`.
        - `currentChunk` ChainflipBaasStatusChunkInfo: One swap chunk: the whole input of a regular swap, or one part of a DCA swap.
          - `inputAmountNative` string: `inputAmount` in the source asset's smallest unit.
          - `inputAmount` number, double: The chunk's input, in the source asset.
          - `intermediateAmountNative` string, nullable: `intermediateAmount` in USDC's smallest unit.
          - `intermediateAmount` number, double, nullable: The USDC the chunk passed through, for swaps routed via USDC, once executed.
          - `outputAmountNative` string, nullable: `outputAmount` in the destination asset's smallest unit.
          - `outputAmount` number, double, nullable: The chunk's output, in the destination asset, once executed.
          - `scheduledAt` integer: When the chunk was scheduled, as a Unix time in milliseconds.
          - `scheduledAtDate` string, date-time: `scheduledAt` as a date.
          - `scheduledBlockIndex` string: The State Chain block and event the chunk was scheduled in.
          - `executedAt` integer, nullable: When the chunk was executed, as a Unix time in milliseconds.
          - `executedAtDate` string, date-time, nullable: `executedAt` as a date.
          - `executedBlockIndex` string, nullable: The State Chain block and event the chunk was executed in.
          - `retryCount` integer: How often the chunk was retried, for example because the minimum price was not met.
          - `latestSwapRescheduledAt` integer, nullable: When the chunk was last rescheduled (retried), as a Unix time in milliseconds.
          - `latestSwapRescheduledAtDate` string, date-time, nullable: `latestSwapRescheduledAt` as a date.
          - `latestSwapRescheduledBlockIndex` string, nullable: The State Chain block and event the chunk was last rescheduled in.
          - `latestSwapRescheduledReason` string, nullable: Why the chunk was last rescheduled (retried): a Chainflip reason such as `MinPriceViolation`, `PriceImpactLimit`, `OraclePriceSlippageExceeded`, `OraclePriceStale`, `PredecessorSwapFailure` or `SafeModeActive`. New values can appear.
          - `abortedAt` integer, nullable: When the chunk was aborted for good, as a Unix time in milliseconds.
          - `abortedAtDate` string, date-time, nullable: `abortedAt` as a date.
          - `abortedBlockIndex` string, nullable: The State Chain block and event the chunk was aborted in.
          - `abortedReason` string, nullable: Why the chunk was aborted for good (the input is then refunded); same reason names as `latestSwapRescheduledReason`.
        - `executedChunks` integer: How many chunks have been executed.
        - `remainingChunks` integer: How many chunks are still to run.
    - `swapEgress` ChainflipBaasStatusEgress: An outgoing transfer: the output (`swapEgress`), a refund (`refundEgress`) or a transfer to the fallback address (`fallbackEgress`). Amounts are in that transfer's asset and after its egress fee.
      - `amountNative` string: The amount sent, in the asset's smallest unit.
      - `amount` number, double: The amount sent.
      - `scheduledAt` integer, nullable: When Chainflip scheduled the transfer, as a Unix time in milliseconds.
      - `scheduledAtDate` string, date-time, nullable: `scheduledAt` as a date.
      - `scheduledBlockIndex` string, nullable: The State Chain block and event the transfer was scheduled in.
      - `transactionReference` string, nullable: The transaction hash of the transfer on its chain, once broadcast.
      - `witnessedAt` integer, nullable: When Chainflip witnessed the transfer on its chain, as a Unix time in milliseconds.
      - `witnessedBlockIndex` string, nullable: The State Chain block and event the transfer was witnessed in.
      - `failure` ChainflipBaasStatusFailure: Why a deposit or transfer failed.
        - `failedAt` integer: When it failed, as a Unix time in milliseconds.
        - `failedAtDate` string, date-time: `failedAt` as a date.
        - `failedBlockIndex` string: The State Chain block and event it failed in.
        - `mode` string: What failed, for example `DEPOSIT_REJECTED`, `DEPOSIT_IGNORED`, `SENDING_FAILED` or `REFUND_OUTPUT_TOO_SMALL`. New values can appear.
        - `reason` ChainflipBaasStatusReason: Chainflip's reason for a failure.
          - `code` string: Chainflip's machine-readable failure reason, e.g. `TransactionRejectedByBroker` or `swapping.NoRefundAmountRemaining`. New values can appear.
          - `message` string: A human-readable explanation. Do not branch on it: the text can change; use `code`.
      - `failedAt` integer, nullable: When the transfer failed, as a Unix time in milliseconds.
      - `failedAtDate` string, date-time, nullable: `failedAt` as a date.
      - `failedBlockIndex` string, nullable: The State Chain block and event the transfer failed in.
      - `destinationAddress` string, nullable: Only on `fallbackEgress`: the fallback address the funds were sent to.
      - `transactionPayload` ChainflipBaasStatusTransactionPayload: The EVM transaction of a transfer whose broadcast Chainflip aborted, so it can be submitted manually.
        - `contract` string, nullable: The contract the transaction calls.
        - `value` string, nullable: The value sent with the transaction, in the chain's smallest unit (wei).
        - `chainId` string, nullable: The EVM chain id.
        - `data` string, nullable: The transaction's calldata, hex-encoded.
    - `refundEgress` ChainflipBaasStatusEgress: An outgoing transfer: the output (`swapEgress`), a refund (`refundEgress`) or a transfer to the fallback address (`fallbackEgress`). Amounts are in that transfer's asset and after its egress fee.
      - `amountNative` string: The amount sent, in the asset's smallest unit.
      - `amount` number, double: The amount sent.
      - `scheduledAt` integer, nullable: When Chainflip scheduled the transfer, as a Unix time in milliseconds.
      - `scheduledAtDate` string, date-time, nullable: `scheduledAt` as a date.
      - `scheduledBlockIndex` string, nullable: The State Chain block and event the transfer was scheduled in.
      - `transactionReference` string, nullable: The transaction hash of the transfer on its chain, once broadcast.
      - `witnessedAt` integer, nullable: When Chainflip witnessed the transfer on its chain, as a Unix time in milliseconds.
      - `witnessedBlockIndex` string, nullable: The State Chain block and event the transfer was witnessed in.
      - `failure` ChainflipBaasStatusFailure: Why a deposit or transfer failed.
        - `failedAt` integer: When it failed, as a Unix time in milliseconds.
        - `failedAtDate` string, date-time: `failedAt` as a date.
        - `failedBlockIndex` string: The State Chain block and event it failed in.
        - `mode` string: What failed, for example `DEPOSIT_REJECTED`, `DEPOSIT_IGNORED`, `SENDING_FAILED` or `REFUND_OUTPUT_TOO_SMALL`. New values can appear.
        - `reason` ChainflipBaasStatusReason: Chainflip's reason for a failure.
          - `code` string: Chainflip's machine-readable failure reason, e.g. `TransactionRejectedByBroker` or `swapping.NoRefundAmountRemaining`. New values can appear.
          - `message` string: A human-readable explanation. Do not branch on it: the text can change; use `code`.
      - `failedAt` integer, nullable: When the transfer failed, as a Unix time in milliseconds.
      - `failedAtDate` string, date-time, nullable: `failedAt` as a date.
      - `failedBlockIndex` string, nullable: The State Chain block and event the transfer failed in.
      - `destinationAddress` string, nullable: Only on `fallbackEgress`: the fallback address the funds were sent to.
      - `transactionPayload` ChainflipBaasStatusTransactionPayload: The EVM transaction of a transfer whose broadcast Chainflip aborted, so it can be submitted manually.
        - `contract` string, nullable: The contract the transaction calls.
        - `value` string, nullable: The value sent with the transaction, in the chain's smallest unit (wei).
        - `chainId` string, nullable: The EVM chain id.
        - `data` string, nullable: The transaction's calldata, hex-encoded.
    - `lastStateChainUpdateAt` integer, nullable: When Chainflip's status service last processed a State Chain block, as a Unix time in milliseconds. Shows how fresh this status is.
    - `lastStateChainUpdateAtDate` string, date-time, nullable: `lastStateChainUpdateAt` as a date.

## Other responses

- `400`: The request has invalid information.
- `401`: The partner does not have access.
- `404`: No swap is recorded under this API key for the given id (code `swap_unknown`), or the swap exists but its status is not available yet (code `swap_pending`).
- `500`: An error occurred.

---

[API](https://skmtc.dev/chainflip-broker/apis/chainflip-broker-as-a-service.md) · [All operations](https://skmtc.dev/chainflip-broker/apis/chainflip-broker-as-a-service/llms.txt) · [OpenAPI document](https://skmtc.dev/chainflip-broker/apis/chainflip-broker-as-a-service/revisions/3c819d79d6b9?raw)
