Skip to main content
POST
/
v1
/
pay
/
withdraw
Place withdrawal order
curl --request POST \
  --url https://openplatform.gateapi.io/v1/pay/withdraw \
  --header 'Content-Type: application/json' \
  --header 'X-GatePay-Certificate-ClientId: <x-gatepay-certificate-clientid>' \
  --header 'X-GatePay-Nonce: <x-gatepay-nonce>' \
  --header 'X-GatePay-Signature: <x-gatepay-signature>' \
  --header 'X-GatePay-Timestamp: <x-gatepay-timestamp>' \
  --data '
{
  "batch_id": "237394559478075350",
  "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
    }
  ]
}
'
{
  "status": "SUCCESS",
  "code": "000000",
  "errorMessage": "",
  "data": {
    "batch_id": "237394559478075550"
  }
}

Overview

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

Notes

Headers

X-GatePay-Certificate-ClientId
string
required

The clientId assigned when the merchant registers an application in the Gate merchant console.

Example:

"4186d0c6-6a35-55a9-8dc6-5312769dbff8"

X-GatePay-Signature
string
required

Request signature. GatePay uses this signature to verify whether the request is valid.

X-GatePay-Timestamp
string
required

UTC timestamp in milliseconds when the request is generated. GatePay will not process requests where the difference from the receive time exceeds 10 seconds.

Example:

"1672905655498"

X-GatePay-Nonce
string
required

Random string. Must comply with HTTP header rules; recommended length is within 32 characters, composed of digits and letters.

Example:

"9578"

Body

application/json

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
object[]
required

Details of each withdrawal sub-order.

channel_id
string

Client name.

Response

200 - application/json

Withdrawal batch created

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