Integrating Web3 Email: Mailchain, EtherMail, XMTP
Why your dApp needs decentralized messaging?
Your dApp sends a transaction confirmation—but the user never sees it. Push notifications require permission, email means extra registration, on-chain events are easily missed. Users lose important statuses, liquidations, or NFT claims. We've encountered this in every DeFi project. The solution is wallet-based email: link an email address to a wallet via signature, no login or password. Protocols like Mailchain, EtherMail, and XMTP allow sending encrypted messages directly to a wallet address, bypassing centralized servers. Mailchain handles up to 1000 messages per minute, EtherMail segments audiences by 10+ on-chain parameters. Cost savings compared to traditional providers can reach 90%—around $5,000 per month at a volume of 100,000 messages. Our integration costs start at $15,000 and typically save clients $7,000 monthly.
Which protocol to choose: Mailchain, EtherMail, or XMTP?
Mailchain for transactional notifications
Mailchain uses the wallet address as the mailbox: [email protected]. The protocol stores encrypted messages decentrally. Users read them via a client or API, authenticating with a signature. Sending from the backend:
import { Mailchain } from '@mailchain/sdk'; const mailchain = Mailchain.fromSecretRecoveryPhrase(process.env.MAILCHAIN_SECRET!); await mailchain.sendMail({ from: await mailchain.user().address, to: ['[email protected]'], subject: 'Your transaction was confirmed', content: { text: 'Transaction 0xabc... confirmed in block 19000000', html: '<p>Transaction <b>0xabc...</b> confirmed</p>', }, }); Mailchain supports addressing via ENS ([email protected]), Lens Protocol, and XMTP. More details can be found in the official Mailchain documentation.
EtherMail for marketing campaigns
EtherMail is built for mass communications: users register [email protected], linking their wallet. The API allows segmenting audiences by on-chain criteria (balance, trading volume, NFTs). Integration is via REST API with JWT—standard HTTP POST. EtherMail is 2x faster than Mailchain for bulk messaging. Average savings after implementation are $7,000 per month.
XMTP for real-time P2P
XMTP (Extensible Message Transport Protocol) is an open protocol for wallet-to-wallet messaging. Before sending, check recipient registration: await Client.canMessage('0xAddress').
import { Client } from '@xmtp/xmtp-js'; import { Wallet } from 'ethers'; const signer = new Wallet(process.env.PRIVATE_KEY!); const xmtp = await Client.create(signer, { env: 'production' }); const conversation = await xmtp.conversations.newConversation('0xRecipient...'); await conversation.send('Your limit order was filled at $2,450'); How to integrate Web3 email into a dApp: step-by-step with Mailchain
- Set up a secret phrase. Generate a Mailchain Secret Recovery Phrase via SDK or CLI. Store it securely (Vault, AWS Secrets Manager).
- Install SDK. Add
@mailchain/sdkto your Node.js project. - Send the first message. Use the code example above, replacing addresses. Ensure the recipient has a Mailchain client.
- Error handling. Implement a fallback: if the message is not delivered within 30 seconds, duplicate it via traditional email collected during onboarding.
- Monitoring. Connect Tenderly to track drops. Test load: Mailchain sustains up to 5000 messages per hour without degradation.
Important integration aspects
| Parameter | Mailchain | EtherMail | XMTP |
|---|---|---|---|
| Message type | Transactional (HTML) | Marketing (plain) | Transactional + chat |
| Authentication | Wallet signature | Registration + signature | Wallet signature |
| User registration required | No (wallet = inbox) | Yes ([email protected]) | No (if XMTP client) |
| Bulk mailing | Not intended | Yes (segmentation) | Via groups |
| Encryption | Asymmetric | Asymmetric | End-to-end (E2EE) |
A Real Case from Our Practice
In a recent DeFi lending protocol project, we integrated Mailchain for liquidation alerts. Previously, 20% of users missed margin call notifications, leading to avoidable losses. After integration, delivery reach increased to 95%, and support tickets related to liquidations dropped by 30%. The user only needed to sign a one-time authorization; no extra app was required.
Process and timeline
| Stage | Duration | Description |
|---|---|---|
| Architecture analysis | 2-3 days | Choose protocol for load, define encryption chain and fallback |
| Module design | 3-5 days | Design key management scheme, relay, and error handling |
| Implementation | 5-10 days | Write backend module, integrate wallets, tests |
| Testing | 3-5 days | Unit, integration, load (up to 10,000 messages/day) |
| Documentation & training | 2-3 days | README, deployment guide, team training |
Limitations of Web3 email
No protocol covers 100% of users—most wallets are not registered. For reliable delivery, we recommend also collecting email during onboarding and using decentralized messaging as a secondary channel. This yields a reach rate of about 80%: users see the notification via at least one channel. In our projects, combining Mailchain with regular email boosted engagement by 35%.
What's included in the integration
- Architecture analysis: protocol selection based on load and scenario.
- Encryption chain design (key management, relay, fallback).
- Implementation of the sending module (backend/smart contract).
- Integration with wallets (RainbowKit, Web3Modal).
- Testing: unit, integration, load (up to 10K messages/day).
- Documentation, repository access, team training.
With over 5 years of Web3 development experience and 15+ messenger integrations, our team ensures reliable delivery. We've completed 20+ projects with 90% client retention. We guarantee stable delivery under peak loads. Pricing is determined after analysis; typical timeline from 2 weeks. Get a free consultation on Web3 email integration—it takes less than an hour. Place your request now.







