> For the complete documentation index, see [llms.txt](https://docs.anchored.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.anchored.finance/trading-api/cash-operations/operation-status.md).

# Operation Status

Shared fields for deposit and withdrawal detail responses.

Cash operations can be instant or queued depending on Cashier buffers. See [buffer-mechanism.md](/trading-api/cash-operations/buffer-mechanism.md) for the buffer mechanism explanation.

## Response shape

`TradingCashOperationDetailRespDto`:

| Field                 | Type          | Description                |
| --------------------- | ------------- | -------------------------- |
| `mappingStatus`       | string / null | TX mapping status.         |
| `operationStatus`     | string / null | On-chain operation status. |
| `mapping`             | object        | Mapping record.            |
| `depositOperation`    | object / null | Deposit details.           |
| `withdrawalOperation` | object / null | Withdrawal details.        |

## depositOperation fields

| Field          | Type          | Description                                 |
| -------------- | ------------- | ------------------------------------------- |
| `operationId`  | string        | Deposit operation ID.                       |
| `userAddress`  | string        | User address.                               |
| `tokenAddress` | string        | Token address.                              |
| `status`       | string        | Operation status.                           |
| `isInstant`    | boolean       | Whether the operation used instant buffers. |
| `amount`       | number        | Token amount.                               |
| `creditAmount` | number        | `mUSD` amount.                              |
| `feeAmount`    | number        | Fee amount.                                 |
| `createTxHash` | string        | Creation tx.                                |
| `settleTxHash` | string / null | Settlement tx.                              |

## withdrawalOperation fields

| Field                | Type          | Description                                  |
| -------------------- | ------------- | -------------------------------------------- |
| `operationId`        | string        | Withdrawal operation ID.                     |
| `userAddress`        | string        | User address.                                |
| `tokenAddress`       | string        | Token address.                               |
| `status`             | string        | Operation status.                            |
| `isInstant`          | boolean       | Whether the operation used instant buffers.  |
| `creditAmount`       | number        | `mUSD` amount deducted.                      |
| `amount`             | number        | Token amount to pay out.                     |
| `feeAmount`          | number        | Fee amount.                                  |
| `failedPayoutAmount` | number / null | Token amount that failed to pay out, if any. |
| `createTxHash`       | string        | Creation tx.                                 |
| `settleTxHash`       | string / null | Settlement tx.                               |

`isInstant` indicates whether the operation used Cashier buffers. Queued operations can remain `processing` until final cash settlement completes.

## Status enums

| operationStatus | Description |
| --------------- | ----------- |
| `requested`     | Requested.  |
| `processing`    | Processing. |
| `settled`       | Settled.    |
| `closed`        | Closed.     |

`mappingStatus` reuses order mapping statuses — see [reference/enums.md](/trading-api/reference/enums.md).

## Query endpoints

| Operation | List                           | Detail                                       |
| --------- | ------------------------------ | -------------------------------------------- |
| Deposit   | `GET /api/v1/cash/deposits`    | `GET /api/v1/cash/deposits/{operationId}`    |
| Withdraw  | `GET /api/v1/cash/withdrawals` | `GET /api/v1/cash/withdrawals/{operationId}` |

After self-submit, poll by `operationId` once the indexer backfills it from `txHash`.
