Coming soon
Your end-to-end test stops at
“We’ve sent you a code.”
OTPWire gives your test suite a real inbox on a domain you own, over an API —
and hands back the verification code already extracted.
No IMAP parser. No shared team mailbox. No test.skip().
Not open for sign-up yet. Write to us and we’ll tell you when it is.
Three calls, and the code is in your hands
Create an inbox, drive your sign-up flow at the address it gives you, then ask for the code. The parsing, the HTML-only emails, the “click here to confirm” links that are not the code — that is our problem, not yours.
GET /otp is the endpoint no one else exposes as a first-class thing.
It is a few dozen lines of heuristics on our side, and one line that disappears
from every customer’s test suite.
# 1 — an inbox on your own domain
POST /v1/inboxes
{ "id": "b7f…", "address": "qa-4f2a@mail.yourapp.com" }
# 2 — your app sends the email. Meanwhile…
# 3 — the code, not the message
GET /v1/inboxes/b7f…/otp
{
"otp": "448812",
"links": ["https://yourapp.com/confirm?t=…"]
}
Built for the test that has to pass, every time
01
The code, already parsed
One request returns the one-time code and the confirmation links, cleaned of unsubscribe noise. Or take the raw message if you prefer.
02
Your domain, self-service
Point a subdomain at us, publish one TXT record, and receive. No sales call, no ticket, no waiting.
03
Long-poll, not polling loops
Ask for the next message and wait. No sleep(5) scattered through
your suite, no flaky retries.
04
Made for agents too
An MCP server and an n8n node are on the roadmap, so an automation can read a one-time code without anyone writing glue.
Europe, by construction
The API is served from points of presence inside EU member states, and the service is designed to keep inbox contents in the Union. Retention is a property of your plan, and deleting an inbox deletes its messages.
We will publish the specifics — processors, regions, retention — before we take anyone’s money, not after.
What this is not
It is not throwaway mail for signing up to other people’s services. Disposable-mail domains get blocklisted within weeks, and that is fatal for a consumer service — but close to irrelevant when you are testing your own application.
That choice is why we can keep domains healthy, and it is deliberate.
Want to be among the first?
Tell us what you are testing and how it breaks today. We are shaping the first release around real suites, not guesses.