> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zerocash.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Validate OTP

> This endpoint validates a deposit transaction that requires OTP confirmation after charge initiation. Use it only when Zerocash returns or sends stepRequired: "otp". For provider-required OTPs that must be collected before creating the ch



## OpenAPI

````yaml POST /api/b2b/fiat/deposit/{transactionId}/validate-otp
openapi: 3.1.0
info:
  title: Zerocash API
  version: 1.0.0
  description: >-
    The Zerocash API lets you collect payments (charges) and disburse funds
    (payouts) across supported markets through a single, unified integration.
servers:
  - url: https://api.zerocash.tech
security:
  - bearerAuth: []
tags:
  - name: Authentication
    description: Obtain and manage API credentials.
  - name: Reference Data
    description: Look up countries, banks, operators, and rates before transacting.
  - name: Charges
    description: Collect payments from your customers.
  - name: Payouts
    description: Disburse funds to recipients.
  - name: Transactions
    description: Retrieve and reconcile transactions.
  - name: Webhooks
    description: Receive and replay real-time event notifications.
paths:
  /api/b2b/fiat/deposit/{transactionId}/validate-otp:
    post:
      tags:
        - Charges
      summary: Validate OTP
      description: >-
        This endpoint validates a deposit transaction that requires OTP
        confirmation after charge initiation. Use it only when Zerocash returns
        or sends stepRequired: "otp". For provider-required OTPs that must be
        collected before creating the charge, follow the operator-specific
        customer instructions and pass the generated code as otpCode in the
        Mobile Money Charge request.
      operationId: validate-otp
      parameters:
        - name: transactionId
          in: path
          description: The transactionId to validate.
          schema:
            type: string
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - otp
              properties:
                otp:
                  type: string
                  description: The otp sent to the user
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value:
                    success: true
                    message: OTP validated successfully.
                    transactionId: pA7dbAjcXr9CZrG5
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                    default: true
                  message:
                    type: string
                    example: OTP validated successfully.
                  transactionId:
                    type: string
                    example: pA7dbAjcXr9CZrG5
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: {}
              schema:
                type: object
                properties: {}
      deprecated: false
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````