> ## 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 recharge order.

## Overview

This page documents the `POST /payment/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 [/global/api-reference/version/100/en/common/securityAndSignature](/global/api-reference/version/100/en/common/securityAndSignature).

## Usage Guidance

* Call this endpoint only after a valid OTC quote has been obtained.
* Persist `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.
* **Institutional Sub-accounts**: To implement OTC deposits for institutional sub-accounts, institutional sub-account KYB certification must be completed first. For details, see: [Get Certification URL](/global/api-reference/version/100/en/endpoint/institutional/getCertificationUrl).


## OpenAPI

````yaml global/api-reference/version/100/en/openapi/otc-fiat-openapi.json POST /payment/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:
  /payment/open/otc/api/recharge:
    post:
      summary: Create OTC Recharge Order
      description: Create an OTC fiat recharge 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'
        - name: X-GatePay-On-Behalf-Of
          in: header
          required: false
          schema:
            type: string
          description: >-
            Institutional sub-account UID. Only required when an institution
            submits a request on behalf of a sub-account; not required for
            direct merchant requests.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OtcRechargeRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OtcRechargeResponse'
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: >-
        Millisecond timestamp; the difference from server time must not exceed
        30 seconds.
    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:
    OtcRechargeRequest:
      type: object
      properties:
        quoteToken:
          type: string
          description: Quote token returned by the quote API.
        bankId:
          type: string
          description: Merchant bank ID used for remittance.
        currency:
          type: string
          description: 'Cryptocurrency to receive. Currently supported: USDT, USDC.'
        amount:
          type: string
          description: Cryptocurrency amount to be credited.
        fiatCurrency:
          type: string
          description: 'Fiat currency to remit. Currently supported: USD.'
        fiatAmount:
          type: string
          description: Fiat amount to be paid.
        promoCode:
          type: string
          description: Optional promotion code.
      required:
        - quoteToken
        - bankId
        - currency
        - amount
        - fiatCurrency
        - fiatAmount
      example:
        quoteToken: qt_01JXYZABCDEF
        bankId: ba_123456789
        currency: USDT
        amount: '1088.42'
        fiatCurrency: USD
        fiatAmount: '1000'
    OtcRechargeResponse:
      type: object
      properties:
        code:
          type: string
          description: Business response code.
        status:
          type: string
          description: Top-level request status.
        errorMessage:
          type: string
          description: Error message when the request fails.
        data:
          $ref: '#/components/schemas/OtcRechargeOrder'
          description: Created deposit order payload.
    OtcRechargeOrder:
      type: object
      properties:
        orderId:
          type: string
          description: Gate OTC order ID.
        otcOrderId:
          type: string
          description: OTC order ID.
        currency:
          type: string
          description: Cryptocurrency code.
        amount:
          type: string
          description: Cryptocurrency amount.
        fiatCurrency:
          type: string
          description: Fiat currency code.
        fiatAmount:
          type: string
          description: Fiat amount.
        cfRate:
          type: string
          description: Exchange rate.
        bankId:
          type: string
          description: Bank ID.
        bankNumber:
          type: string
          description: Bank number.
        paid:
          type: boolean
          description: Whether the order has been paid.
        status:
          type: string
          description: Current order status.
        card_info:
          $ref: '#/components/schemas/OtcCardInfo'
          description: Gate OTC collection bank information.
        createTime:
          type: integer
          format: int64
          description: Order creation timestamp (epoch millis).
        promoCode:
          type: string
          description: Promotion code.
        transferRemark:
          type: string
          description: Required remittance remark.
        paymentReceiptFileUrl:
          type: string
          description: Payment receipt file URL.
        tradeFee:
          type: string
          description: Total amount of all fee items.
        feeCurrency:
          type: string
          description: Currency in which each fee item is denominated.
        feeDetail:
          type: array
          description: Fee breakdown.
          items:
            $ref: '#/components/schemas/OtcQuoteFeeDetail'
    OtcCardInfo:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: Card info record ID.
        uid:
          type: integer
          format: int64
          description: Merchant UID.
        entity:
          type: string
          description: Entity name.
        bank_account_name:
          type: string
          description: Collection bank account holder name.
        bank_name:
          type: string
          description: Collection bank name.
        bank_country:
          type: string
          description: Collection bank country.
        bank_address:
          type: string
          description: Collection bank address.
        bank_code:
          type: string
          description: Bank code.
        branch_code:
          type: string
          description: Branch code.
        iban:
          type: string
          description: Collection IBAN or account number.
        swift:
          type: string
          description: Collection SWIFT or BIC code.
        remittance_line_number:
          type: string
          description: Bank routing or remittance line number.
        agent_bank_name:
          type: string
          description: Agent bank name if applicable.
        agent_bank_swift:
          type: string
          description: Agent bank SWIFT if applicable.
        transferRemark:
          type: string
          description: Required remittance remark or payment reference.
        memo:
          type: string
          description: Memo.
        is_default:
          type: boolean
          description: Whether this is the default card.
        bank_id:
          type: string
          description: Bank ID.
    OtcQuoteFeeDetail:
      type: object
      properties:
        feeType:
          type: string
          description: >-
            Fee type: `BANK` fee charged by the bank channel, `GATE_PAY` Gate
            Pay service fee amount, `SUBSIDY` promotional amount deducted from
            charged fees.
        amount:
          type: string
          description: Amount for this fee item.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.