> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gate.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Withdrawal

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

## Overview

This page documents the `POST /withdraw/open/institution/v1/pay/create/payouts` endpoint. The full schema, parameters, and examples are rendered from the linked OpenAPI definition above.

## Notes

* Authentication uses the standard GatePay signed headers.
* This page documents the institution-path variant of the same API.
* Institution requests must include `X-GatePay-On-Behalf-Of` to indicate the initiating account context for the delegated request.
* For shared signing rules, see [/api-reference/version/100/en/common/securityAndSignature](/api-reference/version/100/en/common/securityAndSignature).

## Institution Notes

* Institutional requests must include `X-GatePay-On-Behalf-Of` to specify the institutional sub-account to operate on.


## OpenAPI

````yaml /api-reference/version/100/en/openapi/institution/withdraw-openapi.json POST /payment/open/institution/v1/pay/withdraw
openapi: 3.1.0
info:
  title: GatePay Withdrawal & Wallet API
  version: 1.0.0
  description: >-
    OpenAPI 3.1 specification for GatePay withdrawal and wallet APIs, based on
    the English withdrawal documentation. It covers batch withdrawals,
    withdrawal status query, supported chains by currency, total balance query,
    and withdrawal fee query.
servers:
  - url: https://openplatform.gateapi.io
    description: Production
security: []
paths:
  /payment/open/institution/v1/pay/withdraw:
    post:
      tags:
        - withdraw
      summary: Place withdrawal order
      description: >-
        Create a batch withdrawal order. The merchant submits one batch ID with
        multiple withdrawal sub-orders.
      operationId: createWithdrawBatch
      parameters:
        - $ref: '#/components/parameters/X-GatePay-Certificate-ClientId'
        - $ref: '#/components/parameters/X-GatePay-Signature'
        - $ref: '#/components/parameters/X-GatePay-Timestamp'
        - $ref: '#/components/parameters/X-GatePay-Nonce'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WithdrawCreateRequest'
            examples:
              default:
                summary: Place a batch withdrawal order
                value:
                  batch_id: '237394559478075350'
                  channel_id: '123456'
                  withdraw_list:
                    - merchant_withdraw_id: M137394559478075550
                      currency: USDT
                      amount: '1'
                      chain: ETH
                      address: '0x1234567890abcdef'
                      memo: Payment for services-1
                      fee_type: 1
                    - merchant_withdraw_id: M137394559478075551
                      currency: USDT
                      amount: '0.001'
                      chain: ETH
                      address: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
                      memo: Payment for services-1
                      fee_type: 0
      responses:
        '200':
          description: Withdrawal batch created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WithdrawCreateResponse'
              examples:
                success:
                  summary: Successful response
                  value:
                    status: SUCCESS
                    code: '000000'
                    errorMessage: ''
                    data:
                      batch_id: '237394559478075550'
components:
  parameters:
    X-GatePay-Certificate-ClientId:
      name: X-GatePay-Certificate-ClientId
      in: header
      required: true
      description: >-
        The clientId assigned when the merchant registers an application in the
        Gate merchant console.
      schema:
        type: string
        example: 4186d0c6-6a35-55a9-8dc6-5312769dbff8
    X-GatePay-Signature:
      name: X-GatePay-Signature
      in: header
      required: true
      description: >-
        Request signature. GatePay uses this signature to verify whether the
        request is valid.
      schema:
        type: string
    X-GatePay-Timestamp:
      name: X-GatePay-Timestamp
      in: header
      required: true
      description: >-
        UTC timestamp in milliseconds when the request is generated. GatePay
        will not process requests where the difference from the receive time
        exceeds 10 seconds.
      schema:
        type: string
        example: '1672905655498'
    X-GatePay-Nonce:
      name: X-GatePay-Nonce
      in: header
      required: true
      description: >-
        Random string. Must comply with HTTP header rules; recommended length is
        within 32 characters, composed of digits and letters.
      schema:
        type: string
        example: '9578'
  schemas:
    WithdrawCreateRequest:
      type: object
      description: Request body for placing a batch withdrawal order.
      properties:
        batch_id:
          type: string
          description: >-
            A unique ID generated by the merchant, composed of uppercase and
            lowercase letters, numbers, and underscores, max length 32
            characters.
        withdraw_list:
          type: array
          description: Details of each withdrawal sub-order.
          items:
            $ref: '#/components/schemas/WithdrawItem'
        channel_id:
          type: string
          description: Client name.
      required:
        - batch_id
        - withdraw_list
    WithdrawCreateResponse:
      type: object
      description: Response body for placing a batch withdrawal order.
      properties:
        status:
          type: string
          description: API response result, SUCCESS or FAIL.
        code:
          type: string
          description: Response error code.
        errorMessage:
          type: string
          description: Error description.
        data:
          type: object
          properties:
            batch_id:
              type: string
              description: Unique batch ID generated by the merchant.
      required:
        - status
        - code
    WithdrawItem:
      type: object
      description: Details of a withdrawal sub-order.
      properties:
        merchant_withdraw_id:
          type: string
          description: >-
            Unique ID for the sub-order generated by the merchant, composed of
            uppercase and lowercase letters, numbers, and underscores, max
            length 32 characters.
        amount:
          type: string
          format: decimal
          description: >-
            Withdrawal amount for each transaction, precision max length 6
            digits; exceeding 6 digits will be truncated.
        currency:
          type: string
          description: Withdrawal currency.
        chain:
          type: string
          description: Blockchain network.
        address:
          type: string
          description: Withdrawal address.
        memo:
          type: string
          description: >-
            For transfers on the TON network, the transfer remark is required,
            filling it when not required may cause the transfer to fail, and the
            maximum length is 128 characters.
        fee_type:
          type: integer
          description: >-
            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.

            Default Behavior:

            If unspecified, the default method is Internal Charge.

            Type Enumeration:

            0 – Internal Charge

            1 – External Charge
      required:
        - merchant_withdraw_id
        - amount
        - currency
        - chain
        - address
        - memo
        - fee_type

````