---
title: "Place withdrawal order"
method: POST
path: "/v1/pay/withdraw"
tags: ["withdraw"]
---

# Place withdrawal order

`POST /v1/pay/withdraw`

Create a batch withdrawal order. The merchant submits one batch ID with multiple withdrawal sub-orders.

## Headers

- `X-GatePay-Certificate-ClientId` string, required
- `X-GatePay-Signature` string, required
- `X-GatePay-Timestamp` string, required
- `X-GatePay-Nonce` string, required

## Request body

- WithdrawCreateRequest — Request body for placing a batch withdrawal order.
  - `batch_id` string, required — A unique ID generated by the merchant, composed of uppercase and lowercase letters, numbers, and underscores, max length 32 characters.
  - `withdraw_list` WithdrawItem[], required — Details of each withdrawal sub-order.
    - `merchant_withdraw_id` string, required — Unique ID for the sub-order generated by the merchant, composed of uppercase and lowercase letters, numbers, and underscores, max length 32 characters.
    - `amount` string, decimal, required — Withdrawal amount per order. Must be greater than 0. Accepts string or number; more than 8 decimal places are truncated to 8.
    - `currency` string, required — Withdrawal currency.
    - `chain` string, required — Blockchain network.
    - `address` string, required — Withdrawal address.
    - `memo` string — Transfer memo. Optional; when provided, max length is 128. Some chains (e.g. TON) may require it at business level; filling when unused may cause failure.
    - `fee_type` integer, required — Withdrawal Fee Charge Methods: *Internal Charge: The fee is deducted directly from the withdrawal amount. The user receives the withdrawal amount minus the fee. *External Charge: The fee is deducted from the account balance. The user receives the full withdrawal amount. *When External Charge (main account is charged) is selected, the withdrawal fee for the sub-account is deducted from the main account balance. Default Behavior: If unspecified, the default method is Internal Charge. Type Enumeration: 0 – Internal Charge 1 – External Charge 2 – External Charge (main account is charged)
  - `channel_id` string — Client name.

## Response `200`

Withdrawal batch created

- WithdrawCreateResponse — Response body for placing a batch withdrawal order.
  - `status` string, required — API response result, SUCCESS or FAIL.
  - `code` string, required — Response error code.
  - `errorMessage` string — Error description.
  - `data` object
    - `batch_id` string — Unique batch ID generated by the merchant.

---

[API](https://skmtc.net/gate/apis/gatepay-withdrawal-wallet-api.md) · [All operations](https://skmtc.net/gate/apis/gatepay-withdrawal-wallet-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gate/gatepay-withdrawal-wallet-api/revisions/2c8a39daf986/schema)
