BaseMail - Onchain Email for AI Agents on Base

PassAudited by ClawScan on May 10, 2026.

Overview

BaseMailโ€™s code matches its stated purpose, but it uses a wallet private key for SIWE login and stores an email auth token locally, so users should use a dedicated low-risk wallet.

Install only if you are comfortable giving the agent a BaseMail email identity. Use a dedicated wallet with no funds, protect the ~/.basemail directory, do not commit token or key files, and consider requiring confirmation before the agent sends emails.

Findings (3)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

If you provide a funded or important wallet key, the agent process can use it for signing during registration.

Why it was flagged

The skill requires access to an Ethereum wallet private key for registration. This is disclosed and central to SIWE authentication, but wallet keys are high-impact credentials.

Skill content
requires:\n      bins: ["node"]\n      env: ["BASEMAIL_PRIVATE_KEY"]
Recommendation

Use a dedicated wallet for BaseMail, preferably with no funds or unrelated permissions, and avoid reusing a primary wallet private key.

What this means

An enabled agent could send emails from the BaseMail identity if prompted or if it decides to use the skill.

Why it was flagged

The send script can send arbitrary recipient, subject, and body values to the BaseMail send endpoint. This is the advertised email function, but it is an external communication capability.

Skill content
body: JSON.stringify({ to, subject, body: body || '' })
Recommendation

Review prompts and agent permissions carefully, and consider requiring user confirmation before sending important or sensitive emails.

What this means

Anyone who can read the token file may be able to access or send email for the BaseMail account until the token expires or is revoked.

Why it was flagged

After registration, the skill stores a bearer token under ~/.basemail/token.json for later send and inbox operations. This persistence is disclosed and file permissions are restricted, but the token is sensitive.

Skill content
fs.writeFileSync(TOKEN_FILE, JSON.stringify(tokenData, null, 2), { mode: 0o600 });
Recommendation

Keep ~/.basemail private, do not sync or commit it, and delete or rotate the token if the machine or workspace is shared.