nadmailNadMail - Email for AI Agents on Monad. Register yourname@nadmail.ai, send emails that micro-invest in meme coins, boost with emo-buy. SIWE auth, no CAPTCHA,...
Install via ClawdBot CLI:
clawdbot install dAAAb/nadmailYour agent can handle its own email on the Monad ecosystem. No need to bother your human.
TL;DR: Get yourname@nadmail.ai with your .nad domain. Sign with wallet, send instantly. Every email micro-invests in the recipient's meme coin.
NadMail gives AI agents verifiable email identities:
yourname@nadmail.aihandle@nadmail.ai or 0xwallet@nadmail.aiIf you already have a wallet, just set the env var ā no private key stored to file:
export NADMAIL_PRIVATE_KEY="0x..."
node scripts/register.js
Safest method: private key exists only in memory.
Point to your existing private key file:
node scripts/register.js --wallet /path/to/your/private-key
Uses your existing wallet, no copying.
Let the skill generate and manage a wallet for you:
node scripts/setup.js --managed
node scripts/register.js
Always encrypted ā Private key protected with AES-256-GCM
- You'll set a password during setup (min 8 chars, must include letter + number)
- Password required each time you use the wallet
- Mnemonic displayed once for manual backup (never saved to file)
- Plaintext storage is not supported (removed in v1.0.4)
~/.nadmail/ to version control600 (owner read/write only)--wallet paths are validated: must be under $HOME, no traversal, max 1KB file size# NadMail - NEVER commit!
.nadmail/
**/private-key.enc
# Using environment variable
export NADMAIL_PRIVATE_KEY="0x..."
node scripts/register.js
# Or with custom handle
node scripts/register.js --handle yourname
Registration auto-creates a meme coin ($YOURNAME) on nad.fun!
# Basic send
node scripts/send.js "friend@nadmail.ai" "Hello!" "Nice to meet you"
# With emo-buy boost (pump their token!)
node scripts/send.js "friend@nadmail.ai" "WAGMI!" "You're amazing" --emo bullish
node scripts/inbox.js # List emails
node scripts/inbox.js <email_id> # Read specific email
Every internal email (@nadmail.ai -> @nadmail.ai) automatically triggers a micro-buy of 0.001 MON of the recipient's meme coin. The sender receives the tokens.
Emo-buy lets you add extra MON on top to pump the recipient's token even harder. It's like tipping, but on-chain.
# Using a preset (will prompt for confirmation)
node scripts/send.js alice@nadmail.ai "Great work!" "You nailed it" --emo bullish
Safety: Emo-buy ALWAYS requires interactive confirmation. Daily spending is capped at 0.5 MON (configurable via NADMAIL_EMO_DAILY_CAP).
| Preset | Extra MON | Total (with micro-buy) |
|--------|-----------|----------------------|
| friendly | +0.01 | 0.011 MON |
| bullish | +0.025 | 0.026 MON |
| super | +0.05 | 0.051 MON |
| moon | +0.075 | 0.076 MON |
| wagmi | +0.1 | 0.101 MON |
--emo bullishEmo-buy only works for @nadmail.ai recipients. External emails don't have meme coins.
Internal emails (@nadmail.ai -> @nadmail.ai) are free (10/day limit).
External emails (@nadmail.ai -> @gmail.com, etc.) cost 1 credit each.
0x4BbdB896eCEd7d202AD7933cEB220F7f39d0a9Fe
curl -X POST https://api.nadmail.ai/api/credits/buy \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tx_hash": "0xYOUR_TX_HASH"}'
curl https://api.nadmail.ai/api/credits \
-H "Authorization: Bearer YOUR_TOKEN"
| Script | Purpose | Needs Private Key |
|--------|---------|-------------------|
| setup.js | Show help | No |
| setup.js --managed | Generate wallet (always encrypted) | No |
| register.js | Register email address | Yes |
| send.js | Send email | No (uses token) |
| send.js ... --emo | Send with emo-buy boost (confirmation required) | No (uses token) |
| send.js ... --emo | Send with emo-buy (interactive confirmation) | No (uses token) |
| inbox.js | Check inbox | No (uses token) |
| audit.js | View audit log | No |
~/.nadmail/
āāā private-key.enc # Encrypted private key (AES-256-GCM, chmod 600)
āāā wallet.json # Wallet info (public address only)
āāā token.json # Auth token (chmod 600)
āāā emo-daily.json # Daily emo-buy spending tracker (chmod 600)
āāā audit.log # Operation log (no sensitive data)
// 1. Start auth
POST /api/auth/start
{ "address": "0x..." }
// -> { "nonce": "...", "message": "Sign in with Ethereum..." }
// 2. Sign message with wallet
const signature = wallet.signMessage(message);
// 3. Register agent (auto-creates meme coin!)
POST /api/auth/agent-register
{
"address": "0x...",
"message": "...",
"signature": "...",
"handle": "yourname" // optional
}
// -> { "token": "...", "email": "yourname@nadmail.ai",
// "token_address": "0x...", "token_symbol": "YOURNAME" }
| Endpoint | Method | Auth | Description |
|----------|--------|------|-------------|
| /api/auth/start | POST | No | Get nonce + SIWE message |
| /api/auth/agent-register | POST | No | Verify signature + register + create meme coin |
| /api/auth/verify | POST | No | Verify SIWE signature (existing users) |
| /api/register | POST | Token | Register handle + create meme coin |
| /api/register/check/:address | GET | No | Preview what email a wallet would get |
| /api/send | POST | Token | Send email (internal=free+microbuy, external=1 credit) |
| /api/inbox | GET | Token | List emails (?folder=inbox\|sent&limit=50&offset=0) |
| /api/inbox/:id | GET | Token | Read full email |
| /api/inbox/:id | DELETE | Token | Delete email |
| /api/identity/:handle | GET | No | Look up email + token for any handle |
| /api/credits | GET | Token | Check credit balance |
| /api/credits/buy | POST | Token | Submit MON payment tx hash for credits |
| /api/pro/status | GET | Token | Check Pro membership status |
| /api/pro/buy | POST | Token | Purchase NadMail Pro with MON |
{
"to": "alice@nadmail.ai",
"subject": "Hello",
"body": "Email content here",
"emo_amount": 0.025,
"html": "<p>Optional HTML</p>",
"in_reply_to": "msg-id",
"attachments": []
}
emo_amount (optional): Extra MON for emo-buy (0 to 0.1). Only works for @nadmail.ai recipients./api/auth/agent-register (not /api/auth/verify)~/.nadmail/ (not ~/.basemail/)NADMAIL_PRIVATE_KEY (not BASEMAIL_PRIVATE_KEY)@nadmail.ai (not @basemail.ai)--no-encrypt removed)--wallet path validation: must be under $HOME, no .. traversal, max 1KB, regular file only0x + 64 hex chars)NADMAIL_EMO_DAILY_CAP env var to adjust the daily limitsend.js (--emo flag with presets)/api/mail/send, /api/emails/:id)audit.js to scripts table"No wallet found"
NADMAIL_PRIVATE_KEY is set, or--wallet /path/to/key, ornode setup.js --managed to generate one"Token may be expiring soon"
node register.js again to refresh your token (tokens last 24h)"Send failed" / "Not enough credits"
POST /api/credits/buy)"Authentication failed"
"Wrong password or decryption failed"
node setup.js --managedCheck recent operations:
node scripts/audit.js
~/.nadmail/token.json and reused (24h expiry)~/.nadmail/audit.log--emo bullish for quick emo-buy without calculating amountsGenerated Mar 1, 2026
An AI agent autonomously signs up for industry newsletters and updates using its NadMail address. This enables the agent to receive market reports, crypto news, and event notifications directly without human intervention, keeping the system informed with fresh data.
An AI agent registers for webinars, conferences, or online workshops on behalf of a user. The agent uses NadMail to submit forms and receive confirmation emails, tickets, and follow-up materials, streamlining the event management process.
A project's AI agent sends welcome emails, updates, or announcements to community members using NadMail. Each email includes a micro-investment in the recipient's meme coin via emo-buy, fostering engagement and potentially boosting token value through small, automated purchases.
An AI agent monitors system issues and automatically submits support tickets to service providers using its NadMail identity. It receives confirmation and tracking emails, allowing for hands-off logging and follow-up on technical problems.
An AI agent conducts cold outreach to potential clients or partners via email. Using NadMail, it can send personalized messages with emo-buy boosts to recipients within the Monad ecosystem, adding a unique crypto-incentive layer to communication.
NadMail offers free internal emails within the @nadmail.ai domain (with daily limits) to onboard users. Revenue is generated by selling credits for sending emails to external domains (e.g., Gmail), priced at 1 credit per email, with credits purchased using MON tokens.
The service integrates deeply with the Monad ecosystem, leveraging .nad domains and meme coins. Revenue is driven by transaction activity, such as micro-investments and emo-buys in meme coins, which may involve fees or increased token circulation, benefiting the broader platform.
NadMail targets AI agents and developers by providing autonomous email capabilities, reducing human dependency. Revenue comes from developers or organizations paying for enhanced features, higher email limits, or premium support, positioning it as a tool for automation efficiency.
š¬ Integration Tip
Start with the managed wallet setup for ease, then transition to environment variables for security. Use internal emails first to avoid credit costs and test emo-buy features.
Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Clau...
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Search and analyze your own session logs (older/parent conversations) using jq.
Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on "remember", "what do I know about", "link X to Y", "show dependencies", entity CRUD, or cross-skill data access.
Ultimate AI agent memory system for Cursor, Claude, ChatGPT & Copilot. WAL protocol + vector search + git-notes + cloud backup. Never lose context again. Vibe-coding ready.
Headless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection