Skip to content

otp.com · faq

Frequently asked questions

Quick answers about otp.com: what it is, pricing, channels, fallback, and the MCP server. Need more depth? The docs cover it in full.

What is otp.com?

otp.com is a developer-first, self-serve OTP verification API. A single endpoint verifies users across SMS, WhatsApp, Telegram, and Email, with automatic channel fallback, and you are billed per verification sent. Every channel delivers a one-time code the user enters; on WhatsApp the user opens a wa.me link to receive the code over chat, then verifies it the same way. Pricing is public and per-country, and you can integrate over REST, official SDKs, or an MCP server for AI agents. There are no sales calls, no setup fees, and no monthly minimums.

What is OTP delivery used for?

A one-time password (OTP) is a short code you send to a user to confirm they control a phone number or email address. It is the standard way to secure sign-ups, logins, two-factor authentication, and sensitive actions such as password resets or payment confirmation. otp.com handles both sides: it delivers the code and verifies the one the user enters, so you do not build or maintain that flow yourself. WhatsApp differs only in delivery: the user opens a link to receive the code over chat, then enters it just like any other channel.

How does otp.com pricing work?

Pricing is public and per-country, and you are billed per verification sent: one charge per code, at the published rate for its country and channel. Verifying is free, however many attempts your user needs, and a resend counts as a fresh verification. Test keys run in the sandbox, where nothing is delivered and nothing is charged. There are no setup fees and no monthly minimums. New accounts start with $3 in free credits, with no credit card and no sales call required. You can estimate your cost with the calculator on the Pricing page.

Which channels does otp.com offer?

otp.com verifies over four channels: SMS, WhatsApp, Telegram, and Email. All four deliver a code the user enters; on WhatsApp the code arrives over chat after the user opens a wa.me link the send returns, then it is verified the same way as every other channel. You do not pick a channel per request: your account routing chooses it from the recipient and your configured channel order, with optional per-country overrides. The API stays a single call, and the response tells you which channel was used. See Channels & routing for details.

How does the fallback mechanism work?

If a channel does not get the code through, or the user never verifies it, a single resend call advances the same OTP to the next channel in your order and returns the new channel. You do not implement any of this logic yourself. WhatsApp is the one exception: it takes part only when it is first in your order, because the user has to open a wa.me link to start the chat, so a resend never advances into it and it is skipped if it sits further down the chain. When the channel chain is exhausted, the resend call reports that no further channel is available. See Channels & routing for details.

Is there an MCP server?

Yes. The otp.com MCP server lets an AI agent send, verify, resend, and check one-time passwords through the Model Context Protocol, using your API key. Point any MCP client (Claude Desktop, Claude Code, Cursor, or your own agent) at @otp.com/mcp with npx: there is no backend to run and no secret in your source. See the MCP server docs to set it up.