Give your agent
an inbox.
DiviMail is the first email service built for AI agents and the humans who build them. Authenticate with a NEAR wallet. No OAuth. No subscription. No surveillance.
No ads · No data mining · $0.01 USDC per email
No NEAR wallet needed — we provision one free · USDC from Base, ETH, Arbitrum, Solana via NEAR Intents
// 1. Claude Desktop config (~/.claude/claude_desktop_config.json) { "mcpServers": { "divimail": { "command": "npx", "args": ["-y", "@smithery/cli", "run", "patch/divimail-mcp"], "env": { "DIVIMAIL_SERVICE_SECRET": "your-secret" } } } } // 2. Get a token — no signing ceremony needed for automated agents divimail_service_token({ accountId: "myagent.divimail.near", serviceSecret: "..." }) // → { token: "eyJ..." } — valid 7 days // 3. Send a nightly report to your human divimail_send({ from: "myagent@divindi.io", to: "jimmy@example.com", subject: "Nightly digest — 3 alerts triaged", text: reportText, token }) // → { balanceAfter: 2.89, costUsdc: 0.01 } // 4. Check for human replies divimail_inbox({ email: "myagent@divindi.io", token }) // → [{ messageId, from: "jimmy@example.com", subject: "Re: Nightly...", isRead: false }] divimail_read({ email: "myagent@divindi.io", messageId, token }) // → { bodyText: "Looks good. Ship it." }
# 1. Get a service token — no signing needed for automated agents curl -X POST https://divindi.io/api/auth/service-token \ -H "Content-Type: application/json" \ -d '{"accountId":"myagent.divimail.near","serviceSecret":"..."}' # → {"success":true,"data":{"token":"eyJ..."}} # 2. Send email curl -X POST https://divindi.io/api/send \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"from":"myagent@divindi.io","to":"human@example.com", "subject":"Report","text":"3 issues triaged..."}' # → {"data":{"balanceAfter":2.89,"costUsdc":0.01}} # 3. Check inbox curl "https://divindi.io/api/emails/myagent%40divindi.io/inbox?limit=20" \ -H "Authorization: Bearer $TOKEN" # → {"data":{"emails":[{"from":"jimmy@example.com","isRead":false,...}]}} # 4. Read a message curl "https://divindi.io/api/emails/myagent%40divindi.io/$MSG_ID" \ -H "Authorization: Bearer $TOKEN" # → {"data":{"bodyText":"Looks good. Ship it."}} # 5. Check USDC balance (no auth needed) curl https://divindi.io/api/payments/balance/myagent%40divindi.io # → {"data":{"balanceUsdc":2.89}} # 6. Get deposit address + cross-chain NEAR Intents links curl -X POST https://divindi.io/api/payments/topup-intent \ -H "Authorization: Bearer $TOKEN" \ -d '{"alias":"myagent"}' # → {"data":{"depositAddress":"myagent.divimail.near","chainInstructions":{...}}}
# Python SDK — coming soon. REST and MCP are available today. from divimail import DiviMailClient # Authenticate with your NEAR key pair — no OAuth, no browser, no callback client = DiviMailClient( near_account_id="my-ops-agent.near", private_key=os.environ["NEAR_PRIVATE_KEY"] ) # Register once — address is permanent client.register("my-ops-agent") # → my-ops-agent@divindi.io # Send a nightly report client.send( to="jimmy@example.com", subject="Nightly ops digest — 3 issues triaged", text=report_text ) # Check inbox for human replies for msg in client.inbox(): process_reply(client.read(msg["messageId"]))
REST API + MCP live now · Python SDK coming soon · divindi.io · Smithery
MCP Server — v1.2.0
10 tools. One install.
Every tool your agent needs — send mail, read replies, check balance, top up — as native calls from Claude Desktop, Goose, or any MCP client.
Inbox monitoring
Agents that read — and reply.
DiviMail agents don't just send reports. They check their inbox on a schedule, read messages, reply to trusted senders, and forward everything else to a designated human.
Set up a recurring task — cron, scheduler, GitHub Action, or a Goose recipe — to call divimail_inbox every hour. Filter for isRead: false.
Compare the sender against your allow-list. Trusted senders get a direct reply in the agent's voice. Everyone else is forwarded to a designated human — the agent never replies to untrusted addresses.
If a trusted message asks a question or makes a request, divimail_send it back. Untrusted mail gets a [Fwd] forward to your designated recipient — no reply to the original sender.
Call divimail_mark_read after processing each message. Log a summary. The next scheduled run starts with a clean slate.
- Email from an address in your allow-list
- Agent reads the message and checks if a reply is needed
- If it asks a question or makes a request → agent replies directly
- If it's a pure FYI → marked read, no reply sent
- Email from anyone not in your allow-list
- Agent forwards the full message to your designated human
- Agent does NOT reply to the original sender
- Subject prefixed with [Fwd] so it's easy to spot
Any runtime, any scheduler
Set it up once. It runs itself.
No proprietary agent platform required. Pick the scheduling approach that fits your stack.
# ~/.local/share/voncluer/scheduled_recipes/divimail_inbox_check.yaml version: "1.0.0" title: DiviMail Inbox Check & Response settings: autonomous: true max_turns: 20 instructions: | Check all agent inboxes. For each unread message: 1. Get service token via divimail_service_token 2. Read with divimail_inbox + divimail_read 3. Mark read with divimail_mark_read 4. If sender is trusted → reply with divimail_send 5. If sender is untrusted → forward to jimmy@divindi.tech
Then register it: the Goose scheduler calls it every hour. No server required — runs on your local machine or cloud VM alongside the Goose daemon.
# crontab -e 0 * * * * DIVIMAIL_SERVICE_SECRET=your-secret node /path/to/inbox-check.js # Or with a .env file: 0 * * * * cd /path/to/project && node -r dotenv/config inbox-check.js
const { McpClient } = require("divimail-mcp"); // or use the REST API directly — see docs/mcp.md for the full standalone script
A complete standalone Node.js script using the REST API directly (no MCP client needed) is in docs/mcp.md.
on: schedule: - cron: '0 * * * *' # every hour jobs: inbox: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: node inbox-check.js env: DIVIMAIL_SERVICE_SECRET: ${{ secrets.DIVIMAIL_SERVICE_SECRET }}
Store DIVIMAIL_SERVICE_SECRET as a GitHub Actions secret. Runs serverless — no infrastructure needed.
const HOUR = 60 * 60 * 1000; async function checkInbox() { const { token } = await getServiceToken(); const { emails } = await getInbox(email, token); for (const msg of emails.filter(m => !m.isRead)) { await processMessage(msg, token); } } checkInbox(); // run immediately on start setInterval(checkInbox, HOUR);
Embed the inbox loop directly in your agent process. Works with any Node.js agent framework.
Who it's for
Built for agents first.
Works beautifully for humans too.
Every agent needs an inbox. Alerts arrive, reports go out, human replies come back. The problem: Gmail wants a real person, SMTP needs IT, and API-key SaaS charges $15/month per inbox. DiviMail authenticates with a NEAR key pair — or a service token — no human ceremony required.
- Service token auth — fully programmatic, no signing loop
- Register via REST or MCP — no dashboard visit required
- Receive from any email address on the internet
- Permanent address tied to wallet identity, not a SaaS account
- Pay-as-you-go USDC — top up once, no monthly billing
- 10-tool MCP server on Smithery — Claude, Goose, any client
Your Gmail inbox is the product. Your attention, your data, your patterns are what the service is actually selling. DiviMail's business model is the email itself — a fraction of a cent per message — so there's no incentive to read your mail, build your profile, or sell your attention.
- Your @divindi.io address, owned by your NEAR wallet
- Receive from anyone — standard SMTP, not a walled garden
- No ads, no data mining, no surveillance
- Pay per email in USDC — top up your wallet, use it
- Open web client at divindi.io — inbox, compose, sent
How it works
Three steps. Then it just works.
Sign a challenge with your NEAR account. No password, no OAuth, no email verification loop. Your wallet is your identity — sign once, get a JWT. For automated agents, skip signing entirely with divimail_service_token.
Choose an alias — you@divindi.io. Permanently tied to your NEAR account. Your address survives any platform change, subscription lapse, or company pivot. No NEAR wallet? We provision one for free.
Each email costs $0.01 USDC. Send from NEAR mainnet directly, or bridge from any major chain — no extra setup needed.
Pricing
Simple. No monthly fee.
paid in USDC ● USDC · top up anytime
No subscription. No inbox limit. No per-account monthly fee. Exactly $0.01 per email — that is the entire business model.
Top up at divindi.io — send USDC on NEAR natively, or bridge from any major chain via NEAR Intents.
Find DiviMail
Where agents discover tools
10 native tools for Claude Desktop, Goose, or any MCP client. One install, then use it as natural language tool calls.
Live — v1.2.0 Install on Smithery ↗Listed in the largest MCP server registry. Any agent framework that pulls from Smithery can discover and install DiviMail in one command.
Live smithery.ai/server/patch/divimail-mcp ↗Native Skill in the VonCluer platform. VonCluer agents claim a @divindi.io inbox and use it for ops reports, alerts, and human replies.
LiveFull REST API at divindi.io. Any agent with HTTP can register, get a service token, send, and read mail — right now.
Live divindi.io/api ↗Your agent needs an inbox.
Set one up in minutes.
Registration is open. REST API, MCP server, and Smithery listing are all live. $0.01 USDC per email. No monthly fee. No OAuth. No subscription.