clawmail.xyz
  ██████╗██╗      █████╗ ██╗    ██╗███╗   ███╗ █████╗ ██╗██╗     
 ██╔════╝██║     ██╔══██╗██║    ██║████╗ ████║██╔══██╗██║██║     
 ██║     ██║     ███████║██║ █╗ ██║██╔████╔██║███████║██║██║     
 ██║     ██║     ██╔══██║██║███╗██║██║╚██╔╝██║██╔══██║██║██║     
 ╚██████╗███████╗██║  ██║╚███╔███╔╝██║ ╚═╝ ██║██║  ██║██║███████╗
  ╚═════╝╚══════╝╚═╝  ╚═╝ ╚══╝╚══╝ ╚═╝     ╚═╝╚═╝  ╚═╝╚═╝╚══════╝
v1 · agent-native email infrastructure

Your agent buys its own inbox.
$1, forever. No human signup.

Email at @clawmail.xyz — or bring your own domain for $5 once. Pay $1 with Link Agent Wallet for a permanent custom or generated inbox with unlimited incoming messages and API-key access. Crypto and free mailboxes are also available. MCP-ready.

prompt.txt — paste this to your agent
Link signup guide
# Paste this to your agent. Link is the default payment option. Get an email inbox at @clawmail.xyz using Link Agent Wallet ($1 USD once). 1. Read https://clawmail.xyz/api/payments/link/guide for the Link CLI signup command. 2. Generate and securely save cm_link_ + 64 random lowercase hex characters. This is your mailbox API key. Reuse it on payment retries. 3. Use Link CLI to pay POST https://clawmail.xyz/api/mailboxes with body {"address":"your-agent"} (or {} for a generated name) and header Idempotency-Key: <key>. 4. Read GET /api/mailboxes/<email>/messages with Authorization: Bearer <key>. # Custom domain ($5 once): POST /api/domains {"domain":"yourdomain.com"}, set MX to mail.clawmail.xyz, then verify. # Crypto is secondary: POST /api/mailboxes/crypto ($1 USDC on Base, wallet auth). # Free tier: POST /api/mailboxes/free (walletAddress, 1,000 messages). # Keep the original wallet private/public key pair for free/crypto accounts; keep the API key for Link accounts. Save credentials durably before signup. # MCP: call get_signup_options, then use the key with inbox tools.
ready · feed me to your agent
free tier
1,000 msgs / random address
default payment
$1 USD · Link Agent Wallet
bootstrap window
15 min · no wallet auth needed
native
MCP · REST · wallet sigs
01

claim a name.

Type a handle. We hit /api/mailboxes/check/:address live. Free random names, or choose a permanent name for $1 USD with Link. Crypto is also available.

$ POST mailbox
@clawmail.xyz
type a handle to check availability…
02

the bootstrap paradox, solved.

An agentic wallet needs email OTP to set up. But you need a wallet to auth into your inbox. ClawMail breaks the cycle with a 15-minute bootstrap token — get an inbox, read OTPs, finish wallet setup, then switch to wallet sigs.

STEP 01

POST /mailboxes/free

Agent requests an inbox with its (in-progress) wallet address. No payment, no signature.

walletAddress: 0x…
STEP 02

Receive token

Get back an email like swift-horse-staple@ and a hex bootstrapToken valid for 15 min.

bootstrapToken: ab12…
STEP 03

Trigger OTP

Use the address wherever — wallet onboarding, Stripe, GitHub, whatever needs email verification.

[email protected]
STEP 04

Read with token

Poll messages using the bootstrapToken. No wallet auth required during the bootstrap window.

?bootstrapToken=…
STEP 05

Switch to wallet sig

Wallet ready → sign challenge → JWT for long-lived access. Bootstrap token expires harmlessly.

Bearer <jwt>
03

three lines, one inbox.

For paid signup, start with the Link guide. The examples below show the optional free tier and its bootstrap token.

create + read · ~280ms
04

native MCP tools.

Hosted Streamable HTTP at https://clawmail.xyz/mcp. Inbox tools take a Bearer cm_link_ key or JWT; discovery tools need no auth.

get_signup_options
Start here: Link signup instructions, crypto as a secondary option, and current availability.
check_mailbox_availability
Returns { available: bool } for any local-part. Public, no auth.
create_free_mailbox
Create a free random inbox with a 15-minute bootstrap token. Public, no payment.
login
Wallet-signature auth. Returns a JWT good for the agent's session.
list_messages
Paginated inbox. Filter unreadOnly, limit. Returns subject + from + preview.
read_message
Full body by id. Returns parsed text — no MIME wrangling.
delete_message
Hard-delete a message. Useful for cleaning up after OTP consumption.
wait_for_code
Latest verification/OTP code in the inbox. Optional short poll.
check_domain
Free pre-check: claimability, live MX/TXT, and an optional purchase quote. No auth.
buy_domain
Buy a new domain through ClawMail (pay POST /api/domains/buy).
renew_domain
Renew a ClawMail-owned domain (registrar renewal + markup).
get_domain_options
Price, DNS records to set, and how to register a custom domain. Prefer add_domain.
add_domain
Register a domain you already own ($5). Returns Link/x402 payment steps, then exact DNS records.
set_catch_all
Route unknown local parts (and plus-tags) on your domain to a mailbox you own.
get_domain_zone
Fetch the BIND zone-file snippet (relative hosts + FQDN) for a domain you own.
delete_mailbox
Delete a mailbox you own so the domain can be removed, or pass cascade on delete_domain.
mint_mailbox_access
Mint a long-lived mailbox key when the 15-minute bootstrap token expires.
list_domains / get_domain / verify_domain
Manage owned domains. Verify checks TXT ownership + MX, then marks the domain live.
create_domain_mailbox
After verify, create [email protected]. Included with the domain — no extra mailbox fee.
submit_feedback
Product feedback or feature requests. Public, no payment. Optional Bearer attaches mailbox identity.
report_issue
Report a bug even if login is broken. Include the failing tool, errors, and optional severity.
05

pay per mailbox, not per seat.

Link is the default: $1 USD once for an inbox with unlimited incoming messages. Choose your permanent address with Link or use crypto as a secondary option.

FREE
$0 · forever
Random handle, capped at 1,000 messages. Perfect for ephemeral agents.
  • random address (e.g. swift-horse-staple)
  • 1,000 message lifetime cap
  • 15-min bootstrap token
  • full REST + MCP access
POST /api/mailboxes/free
CUSTOM DOMAIN
$5 · once
Bring your own hostname ($5 once) or buy a new one through ClawMail (registrar + $20).
  • ownership TXT at _clawmail-challenge.<domain>
  • buy-through-ClawMail: DNS configured for you
  • unlimited mailboxes on that domain
  • optional catch-all
POST /api/domains/buy
06

prefer crypto? USDC on Base.

The default is Link Agent Wallet. For payment with USDC, choose the secondary crypto option at POST /api/mailboxes/crypto. ClawMail uses x402 — agents pay HTTP 402 challenges with onchain stablecoins.

→ POST /api/mailboxes/crypto ← 402 Payment Required { "x402": { amount: "1.00", asset: "USDC", network: "base" } } → POST /api/mailboxes/crypto (with payment proof) ← 200 OK { email, bootstrapToken, expiresAt }
Network Base mainnet · eip155:8453
Asset USDC
Receiver 0x65ee8AD495E18f0b8fF8Cd8Cfb6a7c5b0F42ad71
Amount 1.00 / mailbox
07

frequently agentic questions.

Is this just a temp-mail clone?

No. Temp-mail services assume a human clicking a button. ClawMail assumes a program that holds a wallet, signs challenges, and reads structured JSON. Wallet auth is the primary identity. The 15-minute bootstrapToken is the dance that lets new wallets bootstrap without circular dependencies.

How does my agent authenticate?

Save your email address and original cm_link_ API key in durable secret storage before payment. This is the Idempotency-Key used at signup and your Bearer token for inbox access. If you lose the key, recover with POST /api/auth/recover using the email on the Stripe/Link receipt (or recoveryEmail you sent at purchase). Crypto/wallet bootstrap auth is unchanged and has no email recovery.

Keep your original wallet key pair: securely back up the private key or recovery phrase and save its public wallet address with your email address. You must retain access to that same wallet to sign in after the bootstrap token expires. The public address alone cannot restore access. Never send the private key or recovery phrase to ClawMail. There is no self-service recovery for a lost wallet.

Link mailboxes use the secret API key you saved before payment. Send it as a Bearer token when reading messages. Crypto and free mailboxes use wallet signatures to get a JWT; free mailboxes also include a 15-minute bootstrap token.

What's the bootstrapToken for, exactly?

Solving the chicken-and-egg of agent onboarding. To set up a fresh wallet on some chains you need email OTP. To auth into your inbox you need a wallet. The bootstrap token gives you 15 minutes of unauth'd read access — long enough to receive the OTP, finish wallet setup, then switch to signed JWTs.

Can humans use this?

Sure. The page works, the API works, the prompt at the top of this page works just as well pasted into Claude or ChatGPT as it does into a programmatic agent. We just don't optimize for "click here to claim a free email" UX — we optimize for legibility to a model.

Can my agent use our own domain?

Yes. Bring your own: pay $5 once at POST /api/domains (Link or x402). The ownership TXT goes at _clawmail-challenge.<domain> (not the apex). Set MX to mail.clawmail.xyz, verify, then create mailboxes. Or buy a new name through ClawMail: GET /api/domains/quote then POST /api/domains/buy (registrar first-year + $20). ClawMail registers it and configures DNS; you can create mailboxes immediately. Receive-only: recommended DKIM is published with an empty p=.

What happens if I send to a deleted/expired mailbox?

Mail bounces with a 550. Free mailboxes that hit the 1,000-message cap stop accepting new mail until you pay $1 USDC for one extra month of unlimited intake. Link and crypto custom inboxes are $1 once and have no intake cap.

Is this production-grade?

It's v1. We run it. Agents you don't know are using it right now to claim wallets. Don't put your bank password recovery on this. Do put your testnet faucet OTPs, your fresh-wallet bootstraps, your "I need to sign up for 40 SaaS trials" agent on it.

Do you read my email?

We can technically. We don't intentionally, and we don't train on them. You can delete individual messages. Permanent Link and crypto inboxes keep stored mail until you delete it. Free inboxes keep stored mail for the life of the mailbox; the 1,000-message cap only stops new intake. If you need real email confidentiality, run your own SMTP — this is infrastructure for agent flows.

copied to clipboard