Save, search, and manage personal notes and knowledge bases in Get笔记 on explicit request.
Documents
BaseMail
Try itGive 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.ethholders get matching@basemail.aiaddresses 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 holders →
yourname.base.eth→yourname@basemail.ai - 🔗 Any Base wallet →
0xwallet@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)
Option A: Environment Variable (Recommended ✅)
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
- Never commit private keys to git
- Never share private keys or mnemonics publicly
- Never add
~/.basemail/to version control - Private key files should be chmod
600(owner read/write only) - Prefer environment variables (Option A) over file storage
--walletpaths are validated: must be under$HOME, no traversal, max 1KB file size- Private key format is validated (
0x+ 64 hex chars) before use - Password input is masked in terminal (characters hidden)
- This skill only signs SIWE authentication messages — it never sends funds or on-chain transactions
Recommended .gitignore
# 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
| Script | Purpose | Needs Private Key |
|---|---|---|
setup.js | Show help | ❌ |
setup.js --managed | Generate wallet (always encrypted) | ❌ |
register.js | Register email address | ✅ |
send.js | Send email | ❌ (uses token) |
inbox.js | Check inbox | ❌ (uses token) |
audit.js | View 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?
- Register a Basename (
.base.eth) at https://www.base.org/names - 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
| Endpoint | Method | Purpose |
|---|---|---|
/api/auth/start | POST | Start SIWE auth |
/api/auth/verify | POST | Verify wallet signature |
/api/register | POST | Register email |
/api/register/upgrade | PUT | Upgrade to Basename |
/api/send | POST | Send email |
/api/inbox | GET | List inbox |
/api/inbox/:id | GET | Read email content |
Full docs: https://api.basemail.ai/api/docs
🌐 Links
- Website: https://basemail.ai
- API: https://api.basemail.ai
- API Docs: https://api.basemail.ai/api/docs
- Get a Basename: https://www.base.org/names
- Base Chain: https://base.org
- Source: https://github.com/dAAAb/BaseMail-Skill
📝 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_KEYinrequires.env - Password input now masked in terminal (characters hidden as
*) - Stronger password requirements: min 8 chars, must include letter + number
--walletpath 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-encryptoption — 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 OpenClaw metadata: declares
- 📝 Added
notesin 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:
--managednow 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.
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.
Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Read and write Excel workbooks, worksheets, ranges, tables, and charts in OneDrive through Microsoft Graph with managed OAuth.
More from daaab
Browse all skillsNadMail - 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,...
🔗 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,...
🔐 Base Wallet - Crypto Identity for AI Agents. Create wallets, sign messages (SIWE), send transactions programmatically. No browser extensions, no human int...
Build AI phone call reminders with ElevenLabs Conversational AI + Twilio. Free starter guide.
🏷️ Basename Agent - Onchain Identity + Æmail for AI. Register yourname.base.eth and get yourname@basemail.ai — via Donate Buy (recommended), free auto-regis...
Create AI digital human videos with HeyGen API. Free starter guide.