Send transactional email, or hand us the whole OTP problem — we generate the code, deliver it, and verify it. No SMTP, no SDK, no expiry logic in your database.
Everything transactional email needs, and nothing it doesn't.
POST JSON with an API key. No SMTP handshake, no SDK to install, no Lambda layer.
We generate, store, expire and verify the code. Your database never holds one.
DKIM-signed and SPF-aligned. Bounced addresses are suppressed automatically.
Pass a key and a retry after a timeout is acknowledged, not delivered twice.
Buy what you need. No monthly minimum, no seat pricing, nothing expires.
One key per app, hashed at rest. Leaked keys die in five minutes.
Most in-house implementations get at least two of these wrong. All of it is handled for you, on every request.
Kept as an HMAC with a server-side secret. A six-digit SHA-256 hash is brute-forced instantly; a keyed MAC is not.
Consumed on success, dead after five wrong guesses. Compared in constant time.
60 seconds between codes, three per recipient per ten minutes. Built in, not your problem.
/v1/otp/send with an email. You get back a request id — never the code./v1/otp/verify with the request id and the code. You get {"valid": true}.One rate for everything. Sending an email costs a credit, sending a code costs a credit, verifying is free.
Credits never expire. New accounts get 200 free to try the API before paying.
Shown once. Store it in a secrets manager, not in git.