v1 is live. One endpoint. One job. Read the quickstart →
v1 · OTP-only For developers shipping login flows

Send OTP emails without
setting up a domain.

One API key, one endpoint. vipvap sends verification codes from a domain we already trust — so your signup and login flows work today, not after a week of DNS configuration.

Sending infrastructure warm No SMTP setup No DNS setup 50 free emails / month
~/signup-flow · send OTP
● rec
# one call, one code delivered $ curl -X POST /v1/send \ -H "Authorization: Bearer vp_live_a4f…" \ -H "Content-Type: application/json" \ -d '{ "recipient": "alice@acme.com", "code": "418917", "brand_name": "Acme" }' # ✓ 200 OK — 184ms — delivered { "id": "snd_3f2a9b", "status": "delivered", "from": "Acme <notify@vipvap.com>", "subject": "Acme: your verification code", "expires_in_minutes": 10 }
Inboxes that already trust us

There's a lot of infrastructure behind one email.

Adding email verification or 2FA to your app usually means setting up SMTP, configuring SPF/DKIM/DMARC, and warming up a sending reputation — before you've sent a single real code. For one message type, that's a lot of infrastructure.

See how vipvap removes it →
Domain setup $0
SMTP config $0
Mailbox warm-up $0
DNS records $0 forever
How it works

Three steps. First one takes thirty seconds.

No domain, no verification wait, no DNS detour. Sign up, grab a key, send a code.

1

Sign up, get a key

Create an account, verify your email with a one-time code, and your first API key is generated on the same screen.

~30 seconds
2

Call /v1/send

One HTTPS POST. Pass the recipient, the code, and — if you want — a brand name override for this single send.

3 lines of code
3

It lands

Sent from vipvap's pre-warmed domain. The From line and subject show your brand, not ours.

typical < 2s
The constraint is the pitch

One message type.
One reputation to protect.

Most email tools try to do everything: receipts, alerts, newsletters, marketing. Every message type has a different reputation profile, and that's why general-purpose ESPs can't promise deliverability for any one of them. vipvap does one thing, and that narrow focus is what makes near-100% delivery viable.

One message shape, end to end

Recipient and code. That's it. We optimize the templates, the routing, the retry logic, the suppression list — all for OTP only. An attacker with a stolen key can't pivot us into a phishing platform; the API literally won't accept anything else.

Read the security note →
"recipient": "alice@acme.com"
"code": "418917"
"brand_name": "Acme"
·"subject": "hi alice click here"
·"html": "<script>…</script>"
·"attachment": "invoice.pdf"
400 invalid_code — only OTP-shaped strings accepted.

Hard caps, no overages

Send past your cap and the endpoint refuses the call with a 429. No surprise invoices, no quiet overflow into next month, no shared-pool surprises. What you see in the dashboard is what gets delivered.

This period
1,847
OTPs sent on Launch plan
Quota left
153
Refills in 12 days
Branding without the DNS work

Your brand, in the inbox.
Our domain, in the headers.

Without vipvap
From
noreply@yourapp.com
Subject
Verification code

Setup required: domain, DNS records, mailbox warmup, monitoring.

With vipvap
From
Acme <notify@vipvap.com>
Subject
Acme: your verification code

Setup required: one HTTP call. Configure from the dashboard.

Production

The full send call, all four languages.

Copy-paste. No SDK, no client library. The endpoint is a plain HTTPS POST with JSON in, JSON out.

# Production send
curl -X POST https://api.vipvap.com/v1/send \
  -H "Authorization: Bearer vp_live_a4f2…" \
  -H "Content-Type: application/json" \
  -d '{
    "recipient":  "alice@acme.com",
    "code":       "418917",
    "brand_name": "Acme"
  }'

# Response
{
  "id":      "snd_3f2a9b",
  "status":  "delivered",
  "to":      "alice@acme.com",
  "from":    "Acme <notify@vipvap.com>",
  "subject": "Acme: your verification code",
  "expires_in_minutes": 10,
  "quota_remaining":    1949
}
Pricing

Three tiers.
Hard caps. No overages.

See the full plan comparison →
Starter
50 OTP emails a month. Enough to test your integration end-to-end.
$0/forever
  • 50 emails / month
  • 1 API key
  • Send logs + delivery timeline
  • Branding config + live preview
Start free
Scale
For heavier volumes, multiple products, or teams.
$49/month
  • 25,000 OTP emails / month
  • 25 API keys
  • Team accounts (up to 5 seats)
  • Per-key usage breakdowns
  • Priority delivery path
Start free, upgrade later

50 free OTP emails to test your integration. See the full plan comparison →

Won't a shared domain get blocked?

The risk with shared sending domains is real — but it's manageable when the only thing they send is OTP. Mailbox providers reward predictable, repetitive, low-complaint traffic. One message type, one template, one reputation to protect, monitoring and abuse enforcement on top.

Read the full Security & Deliverability note →

FAQ

Common questions, plain answers.

Can I use my own domain?

Not in v1. The whole point is the absence of DNS work — adding custom domains reintroduces the setup that vipvap exists to remove. Every team we talk to wants this constraint lifted eventually; if that's you, the Launch plan's higher volume and per-account webhook are the ways to scale today.

Can I customize the code length and format?

Yes. Pick 4–8 digits, or alphanumeric (no 0/O/1/I/L to avoid confusion). Set the expiry window per account. The brand panel shows a live preview of the rendered email.

What if I need other email types — receipts, alerts?

vipvap deliberately does one message type. If you need transactional email for receipts, you'll keep using your existing mail provider. Most teams pair vipvap with their existing setup: vipvap for OTP, anything else where they already were.

How fast is delivery?

Sub-second median for the queued → sent hop. End-to-end to recipient inbox depends on their provider — typically 1–4 seconds for major mailbox providers.

What SDKs exist?

None in v1, by design. The endpoint is a plain HTTPS POST with JSON in, JSON out. Adding languages is straightforward, but we want to ship the right thing — not five thin wrappers in five languages.

What happens if I misuse it?

vipvap enforces OTP-only at the content layer — the API will not send anything that doesn't look like a one-time password. Accounts that try to bypass this (impersonation, bulk marketing, anything non-OTP) are suspended. See the Security page.

Ship OTP flows tonight.
Add the API key tomorrow.

One endpoint, one job, zero SMTP setup. Pick a tier when you outgrow the free quota.

Get your API key