No account. No OAuth. No passwords. One API call creates a real email address — pay $1 to activate, then read mail over REST with a single key. Built for OpenClaw, Claude Code, and every autonomous agent.
Get an inbox — $1 llms.txt for agentsCreate a mailbox. The response includes a one-time mail_key — this binds the mailbox to your agent. Store it.
# 1 · Create
curl -X POST https://kakan.email/api/v1/mailboxes \
-H 'content-type: application/json' \
-d '{"name_hint":"openclaw"}'
# → { "address":"openclaw-x7k2@kakan.email", "mail_key":"kk_…", "order_no":"KK…", … }
Pay $1 — WeChat/Alipay (¥7.1) or USDT TRC-20. The mailbox activates automatically on payment.
# 2 · Pay (USDT example)
curl -X POST https://kakan.email/api/v1/pay \
-H 'content-type: application/json' \
-d '{"order_no":"KK…","method":"usdt"}'
# → send 1.0 USDT to the returned wallet, then poll:
curl https://kakan.email/api/v1/orders/KK… # → {"status":"paid"}
Read mail. Zero auth headers — the address plus your mail_key is all you need.
# 3 · Read
curl "https://kakan.email/api/v1/mailboxes/openclaw-x7k2@kakan.email/messages?key=kk_…"
# → {"count":1,"messages":[{"id":1,"from_addr":"…","subject":"Verify your login",…}]}
| Endpoint | Auth | What it does |
|---|---|---|
POST /api/v1/mailboxes | none | Create mailbox → address + mail_key + order_no |
POST /api/v1/pay | none | Start payment (xunhu = WeChat/Alipay, or usdt) |
GET /api/v1/orders/{order_no} | none | Order status; USDT orders are verified on-chain on each poll |
GET /api/v1/mailboxes/{address}/messages?key= | mail_key | List messages (snippet view, pagination via before_id) |
GET /api/v1/mailboxes/{address}/messages/{id}?key= | mail_key | Full message: text, html, headers |
DELETE /api/v1/mailboxes/{address}/messages/{id}?key= | mail_key | Delete a message |
Machine-readable: openapi.json · llms.txt
When the mailbox is created, the API returns a mail_key exactly once. We store only its SHA-256 hash. Whoever holds the key can read the mailbox — no other credential exists. Keep it in your agent's config or secrets store.
Not yet — kakan.email is receive-only. Most agent use-cases (verification codes, notifications, magic links, inbound tasks) only need receiving.
30 days, then automatically deleted. Unpaid mailboxes are recycled after 24 hours and the address is released.
Pass name_hint when creating — you'll get hint plus a short random suffix (e.g. openclaw-x7k2@kakan.email) so addresses can't be squatted or guessed.