Skip to main content
POST
/
withdraw
/
open
/
otc
/
api
/
order
/
create
Create OTC Withdrawal Order
curl --request POST \
  --url https://openplatform.gateapi.io/withdraw/open/otc/api/order/create \
  --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 '
{
  "quoteToken": "<string>",
  "bankAccountId": "<string>",
  "cryptoCurrency": "<string>",
  "fiatCurrency": "<string>",
  "cryptoAmount": "<string>",
  "fiatAmount": "<string>",
  "type": "<string>",
  "clientOrderId": "<string>"
}
'
{
  "code": "<string>",
  "status": "<string>",
  "errorMessage": "<string>",
  "data": {
    "orderId": "<string>",
    "status": "<string>",
    "cryptoCurrency": "<string>",
    "fiatCurrency": "<string>",
    "cryptoAmount": "<string>",
    "fiatAmount": "<string>",
    "fiatRate": "<string>",
    "bankAccountId": "<string>",
    "clientOrderId": "<string>",
    "type": "<string>",
    "createTime": 123,
    "updateTime": 123,
    "errMsg": "<string>",
    "tradeFee": "<string>",
    "finalFiatAmount": "<string>",
    "bankSlipInfo": "<string>",
    "promCode": "<string>"
  }
}

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.

Overview

This page documents the POST /withdraw/open/otc/api/order/create endpoint. The full schema, parameters, and examples are rendered from the linked OpenAPI definition above.

Notes

Usage Guidance

  • Create the order with a fresh quote token.
  • Make sure the bank account used in the request is already approved and available for settlement.
  • Store the expected fiat amount, trade fee fields, and final settlement information for reconciliation.
  • Use callback plus detail query rather than relying on creation response alone.

Headers

X-GatePay-Certificate-ClientId
string
required

Merchant application client ID used to identify the calling app.

X-GatePay-Signature
string
required

HMAC signature generated from the request according to GatePay signing rules.

X-GatePay-Timestamp
string
required

Unix timestamp used for replay protection and signature verification.

X-GatePay-Nonce
string
required

Random nonce used together with the timestamp to prevent replay attacks.

Body

application/json
quoteToken
string
required

Quote token returned by the quote API.

bankAccountId
string
required

Destination bank account ID for fiat settlement.

cryptoCurrency
string
required

Cryptocurrency being sold. Currently supported: USDT, USDC.

fiatCurrency
string
required

Fiat currency to be settled out. Currently supported: USD.

cryptoAmount
string
required

Crypto amount for the withdrawal order.

fiatAmount
string
required

Expected fiat settlement amount.

type
string
required

Order type. Use SELL for off-ramp.

clientOrderId
string
required

Merchant-defined unique order ID.

Response

200 - application/json

Success

code
string

Business response code.

status
string

Top-level request status.

errorMessage
string

Error message when the request fails.

data
object

Order detail payload.