AiAx Mail
closed preview Get a mailbox

Mailboxes for your agents, on record in the EU.

AiAx Mail gives an autonomous agent a real address with a real inbox behind it: receive, thread, reply, attachments, delivery events. Every mailbox, every message and every attachment stays in eu-north-1, Stockholm, on the base plan.

AiAx Mail is in closed preview. There is no sign-up and no sign-in today. This page describes what is being built: no card, the key minted by the first call, and sending unlocked once a human has verified the account, with a typed error until then and never silence.

the first call
# one unauthenticated call. a key and a mailbox come back.
curl -X POST https://api.aiaxmail.com/v1/agent/sign-up \
  -H 'content-type: application/json' \
  -d '{"human_email":"you@acme.com","username":"scheduler"}'

# => { "api_key": "aim_live_...",
#      "inbox": "scheduler@k7m2qp.mail.aiaxmail.com",
#      "region": "eu-north-1",
#      "sending": "locked_until_human_verified" }
record book · agents.acme.com

Twelve seconds, one real failure. Seven records generated, checked against your authoritative nameservers, and one comes back with the zone appended by the provider. The book states what is wrong and what to type instead.

inbox · scheduler@agents.acme.com

The same thread, from the agent's side. It reads the procurement mail, matches the thread, drafts the confirmed reply and keeps the Message-ID, so the answer lands on the same conversation in Outlook, Gmail and Apple Mail.

events · live stream
10:41:02deliveredmsg_8f21
10:41:02deliveredmsg_8f21
10:52:19bounce, hardmsg_8e04

The same event, twice. Delivery state is recomputed from the whole event set every time, so a duplicate or an out of order event cannot corrupt what you are reading.

Drag the windows. Every one is a live surface, not a screenshot.

Region
eu-north-1
DKIM records
3 CNAME
First send
after human check

[ try it before you sign up ]

Write to the mailbox. It writes back.

This is the loop the product is for: mail arrives, an agent reads the thread, an agent replies. Every other demo in this category proves the pipe. This one proves the loop.

  • 01 Nothing is sent as email. The exchange is rendered in your browser and discarded. No message leaves this page, no address of yours is stored, and no mail is ever delivered to anyone.
  • 02 Bounded by construction. Fixed system prompt, no tool access, no memory between mailboxes, five exchanges, thirty minutes. Inbound text is treated as hostile input, which is the same posture the real inbound path takes.
  • 03 The real thing behaves the same. Same threading, same reply semantics, same event stream. The only difference is that a real message is delivered over SMTP and recorded.
Demo mailbox
quiet-ledger-4417@demo.aiaxmail.com
Expires
30:00
Left
5/5
demo agent
This mailbox is yours for thirty minutes. Write anything and I will reply in the thread, the same way an agent on your own domain would. Ask about threading, attachments, or where the data sits.

[ what this is ]

A mailbox, a thread, and a record of what happened to both.

Transactional senders give an agent a way to emit a message. That is not the hard part. The hard part is the second message, the one a human writes back.

  • 01 Inboxes
    POST /v1/inboxes
    One address per agent, created in a single call, receiving immediately. On <slug>.mail.aiaxmail.com with no DNS at all, or on your own domain once it is verified.
  • 02 Threads that survive the reply
    Message-ID preserved
    We set the Message-ID on send and it is the id that comes back on In-Reply-To. Outlook, Gmail and Apple Mail all thread against it, so a conversation stays one conversation.
  • 03 Attachments, content addressed
    sha256, stored once
    The same contract sent to nine agents is stored once. Every message points at the blob, and the raw MIME is kept alongside it so a dispute can be answered from the original bytes.
  • 04 Delivery events you can trust
    recomputed, not incremented
    Bounces, complaints and deliveries arrive out of order and more than once. Delivery state is recomputed from the whole event set every time, so a duplicate event cannot corrupt what you are looking at.
  • 05 Events on your laptop, before any deploy
    WebSocket and SSE
    No public URL, no tunnel, no webhook endpoint to stand up first. Webhooks are what production needs, and they are signed. A stream is what an evaluation needs, and it works in the first minute.

[ your domain ]

We put the mailboxes on a subdomain, so your company mail cannot break.

An MX record cannot be split by local part. If agent mail and company mail share one MX, delivery for both is decided by whichever server answers first. So we do not put them there. agents.acme.com is the default, it is prefilled, and your existing MX record is never part of the change.

If you want outbound to read @acme.com anyway, there is a send-only path: SPF and DKIM on the apex, your inbound MX untouched, replies landing on the subdomain. Microsoft 365 and Google Workspace keep every message they receive today.

Three topologies, chosen on purpose

  • default agents.acme.com
    Own identity, own reputation, own MX. Nothing on the apex changes.
  • advanced acme.com, send only
    SPF and DKIM. Your inbound MX is not part of this.
  • acknowledge acme.com, full migration
    All apex mail comes to us. Requires typing the domain to confirm.
DKIM is three CNAME records. There is no 255 character TXT value to split into quoted halves, so the single most common setup failure in this category is not a failure we can have.

[ where it lives ]

Stockholm, on every plan, including the free one.

Raw MIME, parsed messages, attachment blobs, delivery events, ledger and backups are in eu-north-1. Not a European front door onto American storage. The whole pipeline is there, and it is not a line item you have to ask a salesperson for.

The region is a deployment parameter rather than a constant, so a second stack elsewhere is a configuration change. What is not configurable is which one you are on: your account names its region and it does not move without you.

Where each thing sits
Raw MIME, as receiveds3, eu-north-1, SSE-KMS
Parsed message and threadpostgres, eu-north-1
Attachment blobss3, eu-north-1, content addressed
Delivery and bounce eventssqs and postgres, eu-north-1
Ingress ledgerpostgres, hash chained
Outbound relayamazon ses, eu-north-1

[ for the agent reader ]

You do not need the browser. Here is the whole contract.

One unauthenticated call mints a key and a mailbox. That key can receive immediately and cannot send until the human named in the call has verified. Every call that fails returns a code you can branch on and a fix you can act on.

  • 01No silent failuresA send before verification returns 403 verification_required with the exact next call. It does not accept the message and drop it.
  • 02Branch on code, never on messageMessages are written for humans and will be reworded. Codes are part of the contract.
  • 03Plain text everywhereaiaxmail.com/llms.txt for the map, /llms-full.txt for the whole reference with samples inline. Every docs page is served as markdown at the same path with .md.
error contract
# POST /v1/inboxes/inb_8f2a/messages/send
# HTTP/1.1 403
{
  "code": "verification_required",
  "message": "This key can receive mail but cannot send yet.",
  "fix": "POST /v1/agent/verify with the 6 digit code sent to y***@acme.com",
  "docs": "https://aiaxmail.com/docs/errors#verification_required",
  "retry_after": null
}

[ customers ]

Placeholder section. AiAx Mail has no customers yet, so there are no quotes and no names on this page. The portraits below are stock photographs standing in for the treatment, and the people in them have no connection to this product. Nothing here is a testimonial.
Stock portrait placeholder, no relation to this product
Placeholder · not a customer
Quote pending. This is where a named customer, their role and a volume they actually run would sit.
Stock portrait placeholder, no relation to this product
Placeholder · not a customer
Quote pending. The strongest line in a section like this is a number a customer states, not a capability we state.
Stock portrait placeholder, no relation to this product
Placeholder · not a customer
Quote pending. Full bleed, black and white, quote set over the plate once there is a real one to set.

[ pricing ]

Mailboxes and messages are metered separately, because they are separate problems.

Two hundred quiet agent mailboxes and five loud ones are not the same shape of cost, and one number cannot describe both.

Numbers not decided. The shape below is the proposal: independent meters, no capability behind a tier, EU residency on every plan. Every figure is a placeholder.
PlanMailboxesMessages / month Custom domainsEU residencyPrice
Free
Evaluation and hobby
32 000mail.aiaxmail.com onlyincluded0
Build
One product in production
2525 0003includedplaceholder
Fleet
Many tenants, many mailboxes
500250 00025includedplaceholder
Scale
Priced on the two meters
meteredmeteredunlimitedincludedtalk to us
No capability is gated

Streams, signed webhooks, MCP, scoped keys, metrics, allow and block lists, SMTP relay. Everything on every plan including free. Nothing you build on free breaks when you pay.

The quota edge is stated before you reach it

Your usage sits next to the send action, with used, limit, remaining and reset. At the limit, sends return 429 quota_exceeded with the reset timestamp. Nothing is silently dropped and nothing is silently billed.

The gap in the middle is deliberate

A customer who needs 40 mailboxes should not be paying for 500. That is the shape this ladder is built to avoid.

Two ways in. Both end at a working mailbox.

A human signs in and gets a console. An agent posts once and gets a key. The verification gate is the same for both, and it is the only thing standing between a new account and outbound mail.

npm i @aiax/mail

[ questions ]

The questions an agent, and its owner, tend to ask first.

Plain answers, the same facts the API returns. Data stays in Stockholm, sending waits for a human, and nothing here needs a card.

What is AiAx Mail?
AiAx Mail gives an autonomous agent a real email address with a real inbox behind it. It receives, threads, replies, handles attachments and delivery events, all through one API.
Where is my email data stored?
Every mailbox, message and attachment stays in eu-north-1, Amazon's Stockholm region, on the base plan. Raw MIME, parsed messages, attachment blobs, delivery events, the ledger and backups are all in eu-north-1. It is not a European front door onto American storage.
Can an agent send email immediately?
No. A new key can receive mail immediately but cannot send until a human has verified the account. Until then every send returns a typed 403 verification_required error with the exact next call, never silence.
What does it cost to start?
No card is required. The API key and a mailbox are minted by the first unauthenticated call, and eu-north-1 data residency is included on every plan, including the free one.
Do I need my own domain?
No. You can start on a free mailbox such as scheduler@k7m2qp.mail.aiaxmail.com, minted on a subdomain of your own with no DNS at all, or connect your own domain once it is verified. Custom domains go on a subdomain such as agents.yourcompany.com by default, so your company mail cannot break.