---
updatedAt: 2026-06-07T11:27:11.000Z
agentTools:
  projectIndex: https://docs.honeycoin.app/llms.txt
---

# Validate OTP

This endpoint validates a deposit transaction that requires an OTP (One-Time Password) confirmation. It is typically used for mobile money collections (e.g., XOF) that involve an additional layer of authorization.

Use this endpoint only when a transaction has already been created and Honeycoin 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 instead.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "honeycoin-v3-api-official",
    "version": "1.0.4"
  },
  "servers": [
    {
      "url": "https://api-v2.honeycoin.app"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header",
        "x-bearer-format": "bearer"
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/api/b2b/fiat/deposit/{transactionId}/validate-otp": {
      "post": {
        "summary": "Validate OTP",
        "description": "This endpoint validates a deposit transaction that requires OTP confirmation after charge initiation. Use it only when Honeycoin 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": "{\n    \"success\": true,\n    \"message\": \"OTP validated successfully.\",\n    \"transactionId\": \"pA7dbAjcXr9CZrG5\"\n}"
                  }
                },
                "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
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```