> ## 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 Deposit Order

> Create an OTC fiat deposit order.

## Overview

This page documents the `POST /open/otc/api/recharge` 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 standard merchant endpoint.
* For shared signing rules, see [/api-reference/version/100/en/common/securityAndSignature](/api-reference/version/100/en/common/securityAndSignature).

## Usage Guidance

* Call this endpoint only after a valid OTC quote has been obtained.
* Persist both `clientOrderId` and `orderId` for later reconciliation.
* The returned bank information should be treated as settlement instructions and stored together with the order snapshot.
* Do not treat order creation itself as payment completion. The actual fiat remittance and confirmation step still need to happen.


## OpenAPI

````yaml /api-reference/version/100/en/openapi/otc-fiat-openapi.json POST /open/otc/api/recharge
openapi: 3.1.0
info:
  title: GatePay OTC Fiat API
  description: Reference for OTC fiat withdrawal and deposit APIs.
  version: 2.1.0
servers:
  - url: https://openplatform.gateapi.io
security: []
paths:
  /open/otc/api/recharge:
    post:
      summary: Create OTC Deposit Order
      description: Create an OTC fiat deposit order.
      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/DepositCreateRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DepositOrderResponse'
components:
  parameters:
    X-GatePay-Certificate-ClientId:
      name: X-GatePay-Certificate-ClientId
      in: header
      required: true
      schema:
        type: string
      description: Merchant application client ID used to identify the calling app.
    X-GatePay-Signature:
      name: X-GatePay-Signature
      in: header
      required: true
      schema:
        type: string
      description: >-
        HMAC signature generated from the request according to GatePay signing
        rules.
    X-GatePay-Timestamp:
      name: X-GatePay-Timestamp
      in: header
      required: true
      schema:
        type: string
      description: Unix timestamp used for replay protection and signature verification.
    X-GatePay-Nonce:
      name: X-GatePay-Nonce
      in: header
      required: true
      schema:
        type: string
      description: Random nonce used together with the timestamp to prevent replay attacks.
  schemas:
    DepositCreateRequest:
      type: object
      properties:
        quoteToken:
          type: string
          description: Quote token returned by the quote API.
        bankAccountId:
          type: string
          description: Merchant bank account ID used for remittance.
        cryptoCurrency:
          type: string
          description: 'Cryptocurrency to receive. Currently supported: USDT, USDC.'
        fiatCurrency:
          type: string
          description: 'Fiat currency to remit. Currently supported: USD.'
        cryptoAmount:
          type: string
          description: Cryptocurrency amount to be credited.
        fiatAmount:
          type: string
          description: Fiat amount to be paid.
        type:
          type: string
          description: Order type. Use BUY for on-ramp.
        clientOrderId:
          type: string
          description: Merchant-defined unique order ID.
        promCode:
          type: string
          description: Optional promotion code.
      required:
        - quoteToken
        - bankAccountId
        - cryptoCurrency
        - fiatCurrency
        - cryptoAmount
        - fiatAmount
        - type
        - clientOrderId
      example:
        quoteToken: qt_01JXYZABCDEF
        bankAccountId: ba_123456789
        cryptoCurrency: USDT
        fiatCurrency: USD
        cryptoAmount: '1088.42'
        fiatAmount: '1000'
        type: BUY
        clientOrderId: merchant-otc-deposit-20260415-001
    DepositOrderResponse:
      type: object
      properties:
        code:
          type: string
          description: Business response code.
        message:
          type: string
          description: Business response message.
        status:
          type: string
          description: Top-level request status.
        data:
          type: object
          properties:
            orderId:
              type: string
              description: Gate OTC order ID.
            status:
              type: string
              description: Current deposit order status.
            createTime:
              type: integer
              description: Order creation timestamp.
            clientOrderId:
              type: string
              description: Merchant-defined order ID.
            gate_bank_info:
              type: object
              properties:
                bankName:
                  type: string
                  description: Collection bank name.
                bankAccountName:
                  type: string
                  description: Collection bank account holder name.
                countryId:
                  type: integer
                  description: Country ID of the collection bank.
                country_name:
                  type: string
                  description: Country name of the collection bank.
                address:
                  type: string
                  description: Bank address.
                iban:
                  type: string
                  description: Collection IBAN or account number.
                swift:
                  type: string
                  description: Collection SWIFT or BIC code.
                remittanceLineNumber:
                  type: string
                  description: Bank routing or remittance line number.
                agentBankName:
                  type: string
                  description: Agent bank name if applicable.
                agentBankSwift:
                  type: string
                  description: Agent bank SWIFT if applicable.
                transfer_remark:
                  type: string
                  description: Required remittance remark or payment reference.
              description: Gate OTC collection bank information.
            promoCode:
              type: string
              description: Promotion code passed at order creation, if any.
          description: Deposit order payload.
      example:
        code: '0'
        message: success
        status: success
        data:
          orderId: '71347515709194240'
          status: PENDING
          createTime: 1768973860523
          clientOrderId: merchant-otc-deposit-20260415-001
          promoCode: ''
          gate_bank_info:
            bankName: Bank of Example
            bankAccountName: Gate Pay OTC Collection
            countryId: 44
            country_name: United Kingdom
            address: 1 Example Street, London
            iban: GB11AAAA22223333444455
            swift: ABCDEFGHXXX
            remittanceLineNumber: '021000021'
            agentBankName: ''
            agentBankSwift: ''
            transfer_remark: ORDER 71347515709194240

````