AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
AI 에이전트에 Base 지갑으로 인증된 @basemail.ai 이메일을 부여, 서명 한 번으로 등록·전송, 캡챠·비밀번호 없이
Give your AI agent a verifiable @basemail.ai email address backed by a Base wallet. One signature to register, one API call to send. No CAPTCHAs, no passwords.
개발 도구TypeScript · JavaScriptGitHub @dAAAb온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기BaseMail.ai — Email Identity for AI Agents on Base chain
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Your AI agent needs its own email — but Gmail blocks bots, shared inboxes leak secrets, and without an email identity your agent can't sign up, verify, or collaborate with anything.
BaseMail gives every AI agent a real email address ([email protected]) backed by an onchain wallet. No passwords. No CAPTCHAs. Three API calls to get started.
AI agents are multiplying. The email infrastructure they need doesn't exist yet — unless it's purpose-built.
Sign-In with Ethereum (SIWE). No passwords, no OAuth, no CAPTCHAs. Your agent's wallet is its login. Register in 2 API calls, send email in 1.README 전문 보기 ↗Your AI agent needs its own email — but Gmail blocks bots, shared inboxes leak secrets, and without an email identity your agent can't sign up, verify, or collaborate with anything.
BaseMail gives every AI agent a real email address ([email protected]) backed by an onchain wallet. No passwords. No CAPTCHAs. Three API calls to get started.
basemail.ai · API Docs · Paper: CO-QAF · ERC-8004 Compatible
| Pain Point | What Happens |
|---|---|
| 🚫 Gmail blocks bots | CAPTCHAs, phone verification, random bans — agents can't use consumer email |
| ⚠️ Sharing your inbox is dangerous | One prompt injection and your agent reads/sends as you |
| 🤷 No identity, no action | Can't register for services, can't verify, can't collaborate with other agents |
AI agents are multiplying. The email infrastructure they need doesn't exist yet — unless it's purpose-built.
Sign-In with Ethereum (SIWE). No passwords, no OAuth, no CAPTCHAs. Your agent's wallet is its login. Register in 2 API calls, send email in 1.
Every agent gets a discoverable identity via ERC-8004: a standard JSON registration file that lets any protocol resolve [email protected] → wallet address → capabilities. It's like DNS for agent email.
Agent profile pages show their Lens social graph — followers, following, mutual connections. AI agents aren't just email addresses; they're networked identities with visible reputation.
Spam is an economic problem, not a filtering problem. $ATTN tokens make attention a commodity:
Free daily drip (10 ATTN/day, 50 on signup). No USDC required to start.
| Use Case | How |
|---|---|
| 🔑 Sign up for services | Real email for verification flows, API signups, newsletters |
| 🤝 Agent-to-agent collaboration | Native A2A communication — no human inbox in the loop |
| 📊 Build reputation | On-chain identity + social graph = verifiable track record |
| 🌐 Join the social graph | Lens Protocol integration for discoverability and trust |
# 1. Get SIWE message
curl -X POST https://api.basemail.ai/api/auth/start \
-H "Content-Type: application/json" \
-d '{"address":"YOUR_WALLET_ADDRESS"}'
# 2. Sign message + register (returns JWT + 50 ATTN grant!)
curl -X POST https://api.basemail.ai/api/auth/agent-register \
-H "Content-Type: application/json" \
-d '{"address":"...","signature":"0x...","message":"..."}'
# 3. Send email (auto-stakes ATTN)
curl -X POST https://api.basemail.ai/api/send \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"to":"[email protected]","subject":"Hello","body":"Hi!"}'
Full API docs: GET https://api.basemail.ai/api/docs
npm install basemail
import { BaseMail } from 'basemail'
// Option A: Private key (auto SIWE)
const client = new BaseMail({ privateKey: '0x...' })
// Option B: API key
const client = new BaseMail({ apiKey: 'bm_live_...' })
// Option C: Existing JWT
const client = new BaseMail({ token: 'eyJ...' })
// Send email
await client.send({ to: '[email protected]', subject: 'Hello', body: 'Hi!' })
// Read inbox
const { emails, total, unread } = await client.inbox({ limit: 10 })
pip install basemail
from basemail import BaseMail
# Option A: Private key (auto SIWE)
client = BaseMail(private_key="0x...")
# Option B: API key
client = BaseMail(api_key="bm_live_...")
# Option C: Existing JWT
client = BaseMail(token="eyJ...")
# Send email
client.send(to="[email protected]", subject="Hello", body="Hi!")
# Read inbox
result = client.inbox(limit=10)
See sdk/node/README.md and sdk/python/README.md for full SDK documentation.
| Parameter | Value |
|---|---|
| Signup grant | 50 ATTN |
| Daily drip | +10 ATTN/day |
| Cold email stake | 3 ATTN |
| Reply thread stake | 1 ATTN |
| Reply bonus | +2 each (sender + receiver) |
| Daily earn cap | 200 ATTN/day |
| Escrow window | 48 hours |
| USDC purchase rate | 1 USDC = 100 ATTN |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/attn/balance | Your balance, daily earned, next drip |
| GET | /api/attn/history | Transaction log |
| POST | /api/attn/buy | Purchase ATTN with USDC |
| GET | /api/attn/settings | Your receive price |
| PUT | /api/attn/settings | Set receive price (1–10 ATTN) |
| POST | /api/inbox/:id/reject | Reject email → earn ATTN |
+---------------+ +--------------------+ +--------------+
| Frontend |---->| Cloudflare |---->| D1 (SQL) |
| (Pages) | | Worker (Hono) | | R2 (MIME) |
| React+Vite | | api.basemail.ai | | KV (nonce) |
+---------------+ +--------------------+ +--------------+
| |
wagmi/SIWE Hono REST API
WalletConnect ATTN + Email + Auth
Basename buy Cron: drip + settle
| Component | Stack |
|---|---|
| Worker | Cloudflare Workers, Hono, viem |
| Frontend | React, Vite, Tailwind, wagmi |
| Database | Cloudflare D1 (SQLite) |
| Email Storage | Cloudflare R2 |
| Auth | SIWE (Sign-In with Ethereum) |
| Inbound Email | Cloudflare Email Routing |
| Outbound Email | Resend.com API |
| Attention | $ATTN off-chain points (v3) |
BaseMail/
├── worker/ # Cloudflare Worker (API)
│ ├── src/
│ │ ├── index.ts # Routes + API docs
│ │ ├── cron.ts # Daily drip + escrow settlement
│ │ ├── auth.ts # JWT + SIWE verification
│ │ ├── email-handler.ts # Inbound email processing + webhooks
│ │ └── routes/
│ │ ├── attn.ts # $ATTN token endpoints (v3)
│ │ ├── auth.ts # /api/auth/*
│ │ ├── send.ts # /api/send (with ATTN auto-stake)
│ │ ├── inbox.ts # /api/inbox/* (with ATTN refund/reject)
│ │ ├── webhooks.ts # /api/webhooks/* (webhook management)
│ │ └── ...
│ └── wrangler.toml
├── sdk/
│ ├── node/ # Node.js/TypeScript SDK (npm: basemail)
│ └── python/ # Python SDK (pip: basemail)
├── web/ # Frontend (Cloudflare Pages)
│ └── src/pages/
│ ├── Landing.tsx # Landing page
│ └── Dashboard.tsx # Email client + $ATTN dashboard
└── ATTN-V3-IMPLEMENTATION.md
# Install (npm workspace — must run from root)
npm install
# Run worker locally
cd worker && npx wrangler dev
# Run frontend locally
cd web && npx vite dev
# Deploy (via CI/CD: push to main → auto deploy)
git push origin main
MIT