---
title: "List withdrawal statuses"
method: POST
path: "/withdraw/status/batch"
tags: ["Fund"]
---

# List withdrawal statuses

`POST /withdraw/status/batch`

Returns withdrawals owned by the authenticated merchant whose creation times fall within the inclusive Unix-second range. Requires `fund.withdraw` permission.

Results are ordered by `created_at` descending. `page` defaults to 1 and `page_size` defaults to 20 with a maximum of 100. A range with no matching withdrawals returns HTTP 200 with an empty `withdrawals` array. Invalid time ranges or pagination values return HTTP 400.

## Headers

- `Date` string
- `Authorization` string
- `Digest` string

## Request body

- ListWithdrawStatusesRequest
  - `start_time` integer, required — Inclusive withdrawal creation start time, as a Unix timestamp in seconds.
  - `end_time` integer, required — Inclusive withdrawal creation end time, as a Unix timestamp in seconds. Must be greater than or equal to `start_time`.
  - `page` integer — Page number.
  - `page_size` integer — Number of withdrawals per page.

## Response `200`

Standard response envelope with paginated withdrawal statuses

- union
  - ListWithdrawStatusesEnvelope
    - `code` 0, required — Business code. `0` means success.
    - `message` string, required — Response message.
    - `data` ListWithdrawStatusesResponse, required
      - `withdrawals` WithdrawalStatusListItem[], required — Matching withdrawal statuses ordered by creation time descending.
        - `request_id` string, uuid, required — Withdrawal request ID.
        - `created_at` integer, required — Withdrawal creation time, as a Unix timestamp in seconds.
        - `status` 'pending' | 'processing' | 'completed' | 'failed', required — Current withdrawal status.
        - `amount` string — Total amount deducted from the source account.
        - `fee` string — Legacy Gas fee field. New integrations should use `gas_fee` and `gas_fee_currency`.
        - `actual_amount` string — Actual amount sent on-chain in `token_type`.
        - `transaction_hash` string — On-chain transaction hash. Empty before submission.
        - `chain` string — Public chain name.
        - `token_type` string — Token type sent on-chain.
        - `source_currency` string — Source account currency.
        - `gas_fee` string — Customer-facing Gas fee charged for the withdrawal.
        - `gas_fee_currency` string — Currency of `gas_fee`.
        - `fx_fee` string — FX fee charged for a cross-currency withdrawal; zero for same-currency withdrawals.
        - `fx_fee_currency` string — Currency of `fx_fee`.
        - `fee_paid_by` 'PAYER' | 'BENEFICIARY' — Fee liability, either `PAYER` or `BENEFICIARY`.
      - `total` integer, required — Total number of withdrawals matching the time range.
      - `page` integer, required — Current page number.
      - `page_size` integer, required — Number of withdrawals requested per page.
      - `total_pages` integer, required — Total number of pages. Zero when no withdrawals match.
  - ErrorEnvelope
    - `code` integer, required — Non-zero business error code.
    - `message` string, required — Error details.
    - `data` object, nullable, required — Error responses return null.

## Other responses

- `400` — Invalid time range or pagination values
- `401` — HMAC gateway validation or application authentication failed
- `403` — API key permission, IP whitelist, or endpoint policy rejected the request
- `500` — The withdrawal list could not be processed because of an internal or downstream failure

## Changes

- **2026-08-25** `e4576a9f0506` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/infini/apis/infini-fund-api/changes/withdraw/status/batch/post.md)

---

[API](https://skmtc.dev/infini/apis/infini-fund-api.md) · [All operations](https://skmtc.dev/infini/apis/infini-fund-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/infini/infini-fund-api/revisions/a77090a3bdd5/schema)
