โ† Back to Skills Marketplace
daaab

BaseMail - Onchain Email for AI Agents on Base

by Ju Chun Ko ยท GitHub โ†— ยท v1.8.0
cross-platform โœ“ Security Clean
2077
Downloads
1
Stars
0
Active Installs
11
Versions
Install in OpenClaw
/install basemail
Description
๐Ÿ“ฌ BaseMail - Onchain Email for AI Agents on Base. Get [email protected] linked to your Basename (.base.eth). SIWE wallet auth, no CAPTCHA, no passwords....
README (SKILL.md)

๐Ÿ“ฌ 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 [email protected] 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:

How it works

Base Wallet โ†’ SIWE Signature โ†’ BaseMail Registration โ†’ [email protected]
     โ†‘                                                        โ†“
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

  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

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 "[email protected]" "Hello!" "Nice to meet you ๐Ÿฆž"

3๏ธโƒฃ Check Inbox

node scripts/inbox.js              # List emails
node scripts/inbox.js \x3Cemail_id>   # 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 [email protected] instead of [email protected]?

  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

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


๐Ÿ“ 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
Usage Guidance
This skill is internally consistent for providing onโ€‘chain email tied to a Base wallet, but it needs your private key (or it will create/manage one). Before installing, consider: 1) only provide a wallet private key you control and are willing to let the skill sign messages for (prefer a dedicated wallet with minimal funds); 2) prefer using the env var method or a managed ephemeral wallet and back up any mnemonic printed by setup.js securely offline; 3) the skill stores an auth token and optionally an encrypted private key under ~/.basemail โ€” inspect or clean that directory if you stop using the skill; 4) there are minor coding issues (e.g., an undefined isEncrypt variable in setup.js) indicating the code may be lightly tested โ€” review/ run in an isolated environment before granting access to a highโ€‘value wallet.
Capability Analysis
Type: OpenClaw Skill Name: basemail Version: 1.8.0 The BaseMail skill is classified as benign due to its transparent operations and robust security measures. Key indicators include explicit path validation for private key files (preventing path traversal and arbitrary file reads), strong cryptographic practices (AES-256-GCM with scryptSync) for managed wallets, strict password policies, and the secure handling of mnemonics (displayed once, not saved to disk, and legacy files securely removed). The `SKILL.md` documentation is highly transparent, detailing security guidelines and explicitly stating that the skill only signs authentication messages and never sends funds. Audit logging is also implemented with sensitive data masking. All network communication is directed to the stated `api.basemail.ai` endpoint, and there is no evidence of data exfiltration, malicious execution, or prompt injection against the AI agent.
Capability Assessment
โœ“ Purpose & Capability
Name/description (onchain email tied to a Base wallet) aligns with required binary (node), primary env var (BASEMAIL_PRIVATE_KEY), network calls to api.basemail.ai, and included scripts (register, send, inbox). Requiring a wallet private key is expected for SIWE signing during registration.
โ„น Instruction Scope
SKILL.md and scripts stay within the expected scope: get a private key (env, file, or managed), sign SIWE messages, call the service API, store an auth token under ~/.basemail/. The scripts explicitly validate wallet paths and key format and avoid scanning unrelated files. Note: the setup script prints the mnemonic to stdout once (documented) โ€” this is expected for creating a recoverable wallet but is a security-sensitive action the user should handle carefully.
โœ“ Install Mechanism
There is no high-risk remote install URL; dependencies are standard Node packages (ethers and its dependencies) described in package.json/package-lock.json. SKILL.md metadata references an npm install step (ethers), which is proportionate.
โ„น Credentials
Only one required environment variable (BASEMAIL_PRIVATE_KEY) is declared and used as the primary credential, which matches the skill's need to sign SIWE messages. Optional variables (BASEMAIL_PASSWORD, BASEMAIL_TOKEN) are documented. This is proportionate, but supplying any private key grants the skill the ability to sign messages with that key โ€” the user should only provide a wallet they trust for this purpose.
โœ“ Persistence & Privilege
always:false and the skill stores data only under ~/.basemail (token.json, encrypted key file, audit.log). It does not request system-wide privileges or modify other skills. Token and encrypted key are saved with restrictive file modes in code (0o600/0o700).
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install basemail
  3. After installation, invoke the skill by name or use /basemail
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.8.0
Emphasize Base Chain + Basename (.base.eth) integration in description and docs
v1.7.1
Add homepage and repository URLs for provenance verification
v1.7.0
Security hardening: OpenClaw metadata, password masking, key validation, remove plaintext storage
v1.6.0
Security update: encrypted by default, removed auto-detection of external wallets, mnemonic not auto-saved
v1.5.1
Fix title capitalization: BaseMail
v1.5.0
Full English documentation
v1.4.0
Better branding: title format, Why section, autonomy focus
v1.3.0
Shorter description
v1.2.0
Enhanced branding: Email for AI Agents tagline
v1.1.0
Security hardening: opt-in key management, encryption support, audit logging, removed sensitive terminal output
v1.0.0
Initial release: wallet setup, registration, send/receive emails, Basename upgrade support
Metadata
Slug basemail
Version 1.8.0
License โ€”
All-time Installs 0
Active Installs 0
Total Versions 11
Frequently Asked Questions

What is BaseMail - Onchain Email for AI Agents on Base?

๐Ÿ“ฌ BaseMail - Onchain Email for AI Agents on Base. Get [email protected] linked to your Basename (.base.eth). SIWE wallet auth, no CAPTCHA, no passwords.... It is an AI Agent Skill for Claude Code / OpenClaw, with 2077 downloads so far.

How do I install BaseMail - Onchain Email for AI Agents on Base?

Run "/install basemail" in the OpenClaw or Claude Code chat to install it in one step โ€” no extra setup required.

Is BaseMail - Onchain Email for AI Agents on Base free?

Yes, BaseMail - Onchain Email for AI Agents on Base is completely free (open-source). You can download, install and use it at no cost.

Which platforms does BaseMail - Onchain Email for AI Agents on Base support?

BaseMail - Onchain Email for AI Agents on Base is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created BaseMail - Onchain Email for AI Agents on Base?

It is built and maintained by Ju Chun Ko (@daaab); the current version is v1.8.0.

๐Ÿ’ฌ Comments