Skip to main content
POST
/
transfer
/
open
/
institution
/
v1
/
pay
/
transfer
Create Transfer
curl --request POST \
  --url https://openplatform.gateapi.io/transfer/open/institution/v1/pay/transfer \
  --header 'Content-Type: application/json' \
  --header 'X-GatePay-Certificate-ClientId: <x-gatepay-certificate-clientid>' \
  --header 'X-GatePay-Nonce: <x-gatepay-nonce>' \
  --header 'X-GatePay-On-Behalf-Of: <x-gatepay-on-behalf-of>' \
  --header 'X-GatePay-Signature: <x-gatepay-signature>' \
  --header 'X-GatePay-Timestamp: <x-gatepay-timestamp>' \
  --data '
{
  "merchantBatchNo": "1234565454511231",
  "accountId": "1979044675",
  "currency": "USDT",
  "amount": "1"
}
'
{
  "status": "SUCCESS",
  "code": "000000",
  "errorMessage": "",
  "data": {
    "merchantBatchNo": "1234565454511231",
    "status": "PAID",
    "fromAccountId": "2124267192",
    "toAccountId": "1979044675",
    "currency": "USDT",
    "amount": "1",
    "createTime": 1763455435851
  }
}

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 /transfer/open/institution/v1/pay/transfer endpoint. The full schema, parameters, and examples are rendered from the linked OpenAPI definition above.

Notes

  • Authentication uses the standard GatePay signed headers.
  • This dedicated institution endpoint requires X-GatePay-On-Behalf-Of, which identifies the initiating account for this transfer and can be either an institution account ID or a sub-account ID.
  • In the request body, accountId means the recipient account ID.
  • In the current version, this endpoint returns the final execution result synchronously and no longer requires status polling through the detail endpoint.
  • For shared signing rules, see /api-reference/version/100/en/common/securityAndSignature.

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-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"

X-GatePay-Signature
string
required

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

X-GatePay-On-Behalf-Of
string
required

Required delegated subject header. Provide the initiating account ID for this transaction. It can be an institution account ID or a sub-account ID.

Body

application/json
merchantBatchNo
string
required

Unique batch ID from the merchant.

accountId
string
required

Recipient account ID.

currency
string
required

Transfer currency.

amount
string
required

Transfer amount.

Response

200 - application/json

Success

status
string
Example:

"SUCCESS"

code
string
Example:

"000000"

errorMessage
string
data
object

Synchronous execution result. Returns the final status and core result fields directly after successful submission.