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.
🍪
We use cookies to keep otp.com running and secure. With your consent, we'd also like
to use analytics cookies to understand how the site is used. See our Privacy Policy
for details.
Strictly necessary
Required for the site and dashboard to function. Always on.