MeraOTP developer guides

Start here

Clear steps, real API formats, and backend-only examples. Read every guide without signing in.

API v1Reviewed 27 October 2026Get integration help

Choose what you want to build

MeraOTP helps you verify an Indian mobile number with an authentication OTP. Payment Solution is a separate, optional product for creating payment links and checking payments to your own Paytm Business account. You do not need a payment plan to send OTPs.

The simplest OTP setup

  1. Create and verify your account. MeraOTP generates one account API key automatically.
  2. Add wallet credit. OTP is prepaid. Check your displayed rate and estimated sending capacity before paying.
  3. Keep the key on your backend. Store it as MERAOTP_API_KEY in your server's environment or secret store. Do not put it in public JavaScript.
  4. Send a code, then verify what the user enters. Save the returned message_id against the user's login or signup attempt. Only your backend decides when access is granted.

You do not need to register a fixed outbound IP or configure a domain before calling the API. Localhost, shared hosting, a VPS, Kubernetes and serverless backends use the same Bearer API key. Account-level security checks, abuse blocks and request limits still apply.

OTP and payments are separate. OTP usage spends prepaid credit at your account's current rate. Payment Solution requires its own active plan. The same account API key authenticates both products, but subscribing to payments is not part of OTP onboarding.

Where your code runs matters

A typical integration has three parts: the visitor's screen, your backend, and MeraOTP. The visitor submits a phone number to your backend. Your backend sends the API request with its private key. The visitor then enters the received code, and your backend asks MeraOTP to verify it.

The browser must never call the authenticated API directly with your live key. A mobile app bundle is not a safe secret store either. The same rule applies to payment creation and verification: the server owns the order amount, recipient details and final fulfilment decision.

These guides use the primary base URL https://meraotp.in/api/v1. Existing integrations using https://new.meraotp.in/api/v1 remain supported. You do not need to change a working integration just to read these guides.

Before your first real request

  • Use PHP with cURL and JSON support, or a currently supported Node.js release with built-in fetch.
  • Set your environment variable using your hosting control panel or secret manager. Never commit it to source control.
  • Use your own mobile number or someone who has requested verification. OTP sends are real, billable requests when accepted by the provider.
  • Use HTTPS for production. Do not disable certificate checks to make a failing request work.
  • For WordPress, start with the plugin guide rather than copying backend code into a public page or theme template.

Request and response examples contain fictional IDs, sample amounts and masked recipients. They do not make network requests from this documentation page. Account prices, provider availability and plan limits are always the values shown in your account.

Continue with the OTP API guide, or read how wallet credit and payment plans work.

Need a hand?

Send support the endpoint, request time, error code and a non-secret reference. Never send your API key, password, webhook secret or an OTP.

Contact developer support