A throwaway address for signups, free trials, and one-off verification codes — use it instead of your real inbox. Emails land here live, then self-destruct in an hour. No ads, no tracking, no account.
No ads · No trackers · No account. Emails are deleted forever when the timer ends.
It's already live — copy it straight into any signup form.
Emails appear in real time, safely sandboxed, remote images blocked.
Everything burns after 60 minutes. Grab a new address any time.
Disposable inboxes on a real SMTP server, a deterministic wait call instead of sleeps, and OTP plus link extraction as an endpoint.
const tbx = new Otterpost({ apiKey: process.env.OTTERPOST_API_KEY });
const inbox = await tbx.createInbox({ prefix: "e2e" });
// ...point your signup form at inbox.email...
const msg = await inbox.waitForMessage({ subjectContains: "verification" });
const { otp } = await tbx.extract(msg.id);POST /v1/inboxesA fresh address in ~40 ms. Readable local parts, your own prefix, TTL up to 24 hours.
GET /v1/inboxes/:id/waitLong-poll until the email lands. Filter by subject, sender, or time — the request resolves the moment the message arrives.
GET /v1/messages/:id/extractOTP and links, parsed for you. Verification and reset links detected; no regex in your test suite.
MCP six tools over stdioAgents drive the full loop. Claude creates the inbox, signs up somewhere, reads the code — hands-free.
The MCP server exposes the whole flow — create inbox, wait for email, extract OTP — as tools, so agents like Claude Code can verify signup flows end to end on their own.
{
"mcpServers": {
"otterpost": {
"type": "stdio",
"command": "node",
"args": ["./packages/mcp/dist/index.js"],
"env": { "OTTERPOST_API_KEY": "otter_..." }
}
}
}One flat price. No meters, no overage math.
Otterpost is self-hostable and keys are minted with the admin CLI. For a key on the hosted instance, write to us and we set you up the same day.
pnpm --filter @otterpost/server cli keys:create --plan free
# API key created. The secret below is shown ONCE — store it now.
# otter_...Request a hosted keyMessages live only for the inbox lifetime (up to an hour on free, a day on pro) and are deleted when the inbox expires or when you delete it. Nothing is archived.
No. The SMTP server accepts email for active inboxes only and rejects everything else during the SMTP conversation, so senders learn nothing about usage or quotas.
No. Otterpost is receive-only — there is no sending code path in the product at all.
Free: 2 concurrent inboxes, 100 emails a month, 1 hour lifetime. Pro: 50 inboxes, 5,000 emails, 24 hours. The API allows 60 requests a minute per key; the wait endpoint is exempt.