Documents

BaseMail

Try it

Give your AI agent a verifiable email address tied to its Base Chain wallet.

What it does

BaseMail issues an email address (you@basemail.ai) linked to a Base Chain wallet, either via a Basename (yourname.base.eth) or a 0x wallet address. Authentication uses SIWE signatures, so no passwords or CAPTCHAs are needed for AI agents to register, send, and receive email autonomously. Provided scripts handle wallet setup (env var, existing key file, or managed encrypted key), registration, sending, and inbox reading. The skill only signs SIWE messages — it does not send funds or on-chain transactions.

When to use it

  • Letting an AI agent register for web services that require email verification
  • Receiving confirmation or verification emails without a human in the loop
  • Sending transactional or status emails from an agent's own verifiable address
  • Linking a Basename (.base.eth) to a matching @basemail.ai inbox for onchain identity

The skill document

📬 BaseMail - Onchain Email for AI Agents on Base

Your agent gets a real email address, linked to its onchain identity. No human needed.

TL;DR: Own a Basename (yourname.base.eth)? Get yourname@basemail.ai instantly. Sign with your Base wallet, send emails autonomously.

Why BaseMail?

  • Built on Base Chain — Email identity tied to your onchain wallet on Base (Coinbase's L2)
  • Basename integration.base.eth holders get matching @basemail.ai addresses automatically
  • SIWE authentication — Sign-In with Ethereum, no passwords or CAPTCHA needed
  • Autonomous for AI agents — Register for services, submit forms, receive confirmations without human help
  • Verifiable identity — Your email is cryptographically linked to your Base wallet address

BaseMail gives AI agents verifiable email identities on Base Chain:

  • Basename holdersyourname.base.ethyourname@basemail.ai
  • 🔗 Any Base wallet0xwallet@basemail.ai

How it works

Base Wallet → SIWE Signature → BaseMail Registration → yourname@basemail.ai
     ↑                                                        ↓
Basename (.base.eth)                              Send & receive email autonomously

🔐 Wallet Setup (Choose One)

If you already have a wallet, just set the env var — no private key stored to file:

export BASEMAIL_PRIVATE_KEY="0x..."
node scripts/register.js

✅ Safest method: private key exists only in memory.


Option B: Specify Wallet Path

Point to your existing private key file:

node scripts/register.js --wallet /path/to/your/private-key

✅ Uses your existing wallet, no copying.


Option C: Managed Mode (Beginners)

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)
  • Password input is masked (hidden) in terminal

⚠️ Security Guidelines

  1. Never commit private keys to git
  2. Never share private keys or mnemonics publicly
  3. Never add ~/.basemail/ to version control
  4. Private key files should be chmod 600 (owner read/write only)
  5. Prefer environment variables (Option A) over file storage
  6. --wallet paths are validated: must be under $HOME, no traversal, max 1KB file size
  7. Private key format is validated (0x + 64 hex chars) before use
  8. Password input is masked in terminal (characters hidden)
  9. This skill only signs SIWE authentication messages — it never sends funds or on-chain transactions
# BaseMail - NEVER commit!
.basemail/
**/private-key.enc

🚀 Quick Start

1️⃣ Register

# Using environment variable
export BASEMAIL_PRIVATE_KEY="0x..."
node scripts/register.js

# Or with Basename
node scripts/register.js --basename yourname.base.eth

2️⃣ Send Email

node scripts/send.js "friend@basemail.ai" "Hello!" "Nice to meet you 🦞"

3️⃣ Check Inbox

node scripts/inbox.js              # List emails
node scripts/inbox.js    # Read specific email

📦 Scripts

ScriptPurposeNeeds Private Key
setup.jsShow help
setup.js --managedGenerate wallet (always encrypted)
register.jsRegister email address
send.jsSend email❌ (uses token)
inbox.jsCheck inbox❌ (uses token)
audit.jsView audit log

📍 File Locations

~/.basemail/
├── private-key.enc   # Encrypted private key (AES-256-GCM, chmod 600)
├── wallet.json       # Wallet info (public address only)
├── token.json        # Auth token (chmod 600)
└── audit.log         # Operation log (no sensitive data)

🎨 Get a Basename-Linked Email

Want yourname@basemail.ai instead of 0x...@basemail.ai?

  1. Register a Basename (.base.eth) at https://www.base.org/names
  2. Link it: node scripts/register.js --basename yourname.base.eth

Your Basename is your onchain identity on Base — and BaseMail turns it into a working email address.


🔧 API Reference

EndpointMethodPurpose
/api/auth/startPOSTStart SIWE auth
/api/auth/verifyPOSTVerify wallet signature
/api/registerPOSTRegister email
/api/register/upgradePUTUpgrade to Basename
/api/sendPOSTSend email
/api/inboxGETList inbox
/api/inbox/:idGETRead email content

Full docs: https://api.basemail.ai/api/docs



📝 Changelog

v1.8.0 (2026-02-18)

  • 📝 Enhanced description: emphasize Base Chain and Basename (.base.eth) integration
  • 📝 Added architecture diagram showing wallet → SIWE → email flow
  • 📝 Better explanation of onchain identity and verifiable email
  • 🔗 Added source repo and Base Chain links

v1.7.0 (2026-02-18)

  • 🔐 Security hardening (addresses ClawHub "Suspicious" classification):
    • Added OpenClaw metadata: declares BASEMAIL_PRIVATE_KEY in requires.env
    • Password input now masked in terminal (characters hidden as *)
    • Stronger password requirements: min 8 chars, must include letter + number
    • --wallet path validation: must be under $HOME, no .. traversal, max 1KB, regular file only
    • Private key format validation (0x + 64 hex chars) on all input sources
    • Removed --no-encrypt option — managed wallets are always encrypted
    • Mnemonic is displayed once and never saved to file (removed save-to-file prompt)
    • Removed legacy plaintext key file references
  • 📝 Added notes in metadata clarifying: this skill only signs SIWE messages, never sends funds
  • 📝 Updated security guidelines and file locations documentation

v1.4.0 (2026-02-08)

  • ✨ Better branding and descriptions
  • 📝 Full English documentation

v1.1.0 (2026-02-08)

  • 🔐 Security: opt-in private key storage
  • ✨ Support env var, path, auto-detect
  • 🔒 Encrypted storage option (--encrypt)
  • 📊 Audit logging

v1.6.0 (Security Update)

  • 🔐 Breaking: --managed now encrypts by default
  • 🔐 Removed auto-detection of external wallet paths (security improvement)
  • 🔐 Mnemonic no longer auto-saved; displayed once for manual backup
  • 📝 Updated documentation for clarity

v1.0.0

  • 🎉 Initial release

Questions people ask

Does BaseMail handle funds or onchain transactions?
No. The skill only signs SIWE authentication messages and never sends funds or transactions.
How is the wallet key stored?
Three options: an environment variable (BASEMAIL_PRIVATE_KEY), an existing private-key file path, or a managed mode that encrypts the key with AES-256-GCM under a user-set password. Plaintext keys are not written.
Can a Basename (.base.eth) be used as the email address?
Yes. If you hold a Basename, BaseMail issues a matching yourname@basemail.ai address after registration.

Related skills

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai21 installs8 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván1 installs

Read and write Excel workbooks, worksheets, ranges, tables, and charts in OneDrive through Microsoft Graph with managed OAuth.

by byungkyu800 installs42 stars

More from daaab

Browse all skills

NadMail - 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,...

by daaab83 installs3 stars

🔗 WalletConnect Agent - dApp Access for AI. Connect to any Web3 dApp via WalletConnect v2 and auto-sign transactions. Swap tokens, mint NFTs, vote in DAOs,...

by daaab119 installs1 stars

🔐 Base Wallet - Crypto Identity for AI Agents. Create wallets, sign messages (SIWE), send transactions programmatically. No browser extensions, no human int...

by daaab116 installs3 stars

🏷️ Basename Agent - Onchain Identity + Æmail for AI. Register yourname.base.eth and get yourname@basemail.ai — via Donate Buy (recommended), free auto-regis...

by daaab100 installs