Ethermail
Access Web3 email via EtherMail using WalletConnect.
- Rating
- 4.8 (329 reviews)
- Downloads
- 587 downloads
- Version
- 1.0.0
Overview
Access Web3 email via EtherMail using WalletConnect.
✨Key Features
Navigate to Login Page
Click Wallet Login
Extract WalletConnect URI from Shadow DOM
Connect with WalletConnect
Access Inbox
Complete Documentation
View Source →
EtherMail (Web3 Email)
Access email using your Ethereum wallet address. No email/password needed — just sign with your wallet!
🚀 Quick Start
Easiest way: Use the Telegram Mini App! 👉 Open EtherMail on Telegram
Prerequisites
- WalletConnect connector — Use the
walletconnect-agentskill or your own WalletConnect setup - Browser automation — Clawdbot browser tool or Puppeteer
- EVM wallet — Any Ethereum-compatible address
Your EtherMail Address
Your email is automatically derived from your wallet:
<your-wallet-address>@ethermail.io
[email protected]You can also set up custom aliases like [email protected] in account settings.
Access Methods
Method 1: Telegram Mini App (Recommended)
The easiest way to access EtherMail:
- Open: https://t.me/ethermailappbot/app?startapp=afid_6986e9a5c5a97b905a78c390
- Connect your wallet via WalletConnect
- Read and send emails directly in Telegram!
Method 2: Web Browser + WalletConnect
#### Step 1: Navigate to Login Page
browser action=navigate profile=clawd targetUrl="https://ethermail.io/accounts/login"
#### Step 2: Click Wallet Login
Find and click the "Sign in with Wallet" button to trigger WalletConnect modal.
#### Step 3: Extract WalletConnect URI from Shadow DOM
EtherMail embeds WalletConnect in Shadow DOM. Use this script to extract the URI:
// Run in browser console or via browser action=act evaluate
function findWalletConnectURI() {
function searchShadow(root, depth = 0) {
if (depth > 5) return null;
const elements = root.querySelectorAll('*');
for (const el of elements) {
if (el.shadowRoot) {
const html = el.shadowRoot.innerHTML;
const match = html.match(/wc:[a-f0-9]+@2\?[^"'<>\s]+/);
if (match) return match[0];
const found = searchShadow(el.shadowRoot, depth + 1);
if (found) return found;
}
}
return null;
}
return searchShadow(document);
}
findWalletConnectURI();
Or use the bundled script:
# Returns: wc:abc123...@2?relay-protocol=irn&symKey=xyz...
node scripts/extract-wc-uri.js
#### Step 4: Connect with WalletConnect
Use the walletconnect-agent skill (install from ClawdHub):
# Install walletconnect-agent skill first
clawdhub install walletconnect-agent
# Then use its wc-connect.js script
cd ~/clawd/skills/walletconnect-agent
export PRIVATE_KEY="0x..."
node scripts/wc-connect.js "<WC_URI>"
The connector will automatically sign the personal_sign request, completing login.
⚠️ Security Note: Always use the official walletconnect-agent skill from ClawdHub.
Do not use untrusted third-party WalletConnect scripts.
#### Step 5: Access Inbox
After successful login, the browser redirects to your inbox. Use browser automation to:
- Read emails
- Compose new messages
- Check notifications
Shadow DOM Extraction Script
For browser automation, use scripts/extract-wc-uri.js:
# Usage with Puppeteer
node scripts/extract-wc-uri.js --url "https://ethermail.io/accounts/login"
Use Cases
- Agent-to-Agent Communication — Receive emails from other AI agents
- Web3 Notifications — NFT drops, DAO votes, DeFi alerts
- Decentralized Identity — Email tied to your on-chain identity
- Backup Communication — When other channels fail
- Earn Rewards — Get paid in $EMT tokens for reading promotional emails
Troubleshooting
Can't find WalletConnect URI
- Shadow DOM search needs sufficient depth (try depth > 5)
- URI only appears after WalletConnect modal is fully loaded
- Some browsers block Shadow DOM access — use headless Chromium
URI expired
- WalletConnect URIs expire in ~5 minutes
- Close modal and reopen to get fresh URI
Login fails
- Ensure wallet address matches the expected signer
- Check that wc-connect.js supports
personal_sign - Verify you're on EVM-compatible network
CAPTCHA blocking login
- EtherMail uses Turnstile CAPTCHA on the web
- Use the Telegram Mini App instead for easier access
Security Notes
- ⚠️ Never commit private keys
- Store credentials in environment variables or secure files
- EtherMail only requires message signing (no transaction needed for login)
- Use dedicated wallet for agent operations
- Use official
walletconnect-agentskill from ClawdHub for WalletConnect integration - Browser automation runs with Puppeteer sandbox enabled for security isolation
Changelog
v1.1.0 (2026-02-08) - Security Update
- 🔐 Removed
--no-sandboxflag from Puppeteer for better security isolation - 📝 Clarified to use official
walletconnect-agentskill from ClawdHub - 📝 Added supply chain security notes
v1.0.0
- 🎉 Initial release
Links
- Telegram App: https://t.me/ethermailappbot/app?startapp=afid_6986e9a5c5a97b905a78c390
- Website: https://ethermail.io
- Mobile App: Available on iOS and Android
Installation
openclaw install ethermail
💻Code Examples
browser action=navigate profile=clawd targetUrl="https://ethermail.io/accounts/login"
#### Step 2: Click Wallet Login
Find and click the "Sign in with Wallet" button to trigger WalletConnect modal.
#### Step 3: Extract WalletConnect URI from Shadow DOM
EtherMail embeds WalletConnect in Shadow DOM. Use this script to extract the URI:node scripts/extract-wc-uri.js
#### Step 4: Connect with WalletConnect
Use the `walletconnect-agent` skill (install from ClawdHub):node scripts/wc-connect.js "<WC_URI>"
The connector will automatically sign the `personal_sign` request, completing login.
> ⚠️ **Security Note:** Always use the official `walletconnect-agent` skill from ClawdHub.
> Do not use untrusted third-party WalletConnect scripts.
#### Step 5: Access Inbox
After successful login, the browser redirects to your inbox. Use browser automation to:
- Read emails
- Compose new messages
- Check notifications
---
## Shadow DOM Extraction Script
For browser automation, use `scripts/extract-wc-uri.js`:// Run in browser console or via browser action=act evaluate
function findWalletConnectURI() {
function searchShadow(root, depth = 0) {
if (depth > 5) return null;
const elements = root.querySelectorAll('*');
for (const el of elements) {
if (el.shadowRoot) {
const html = el.shadowRoot.innerHTML;
const match = html.match(/wc:[a-f0-9]+@2\?[^"'<>\s]+/);
if (match) return match[0];
const found = searchShadow(el.shadowRoot, depth + 1);
if (found) return found;
}
}
return null;
}
return searchShadow(document);
}
findWalletConnectURI();# Install walletconnect-agent skill first
clawdhub install walletconnect-agent
# Then use its wc-connect.js script
cd ~/clawd/skills/walletconnect-agent
export PRIVATE_KEY="0x..."
node scripts/wc-connect.js "<WC_URI>"Tags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.