Decentralized Peer-to-Peer Messaging
No phone number • No servers • End-to-end encryption
Echo is a decentralized messaging application where no company owns your data, no central server stores your conversations, and no intermediary can read your messages.
Communication happens directly between devices using peer-to-peer networking and strong end-to-end encryption.
Echo combines WebRTC, IPFS and Ethereum to create a messaging system that works without centralized infrastructure.
Most messaging platforms rely on centralized servers.
Messages pass through infrastructure owned by corporations. Data can be stored, analyzed or accessed through legal requests.
Service outages also affect millions of users simultaneously.
In October 2021, the global Facebook outage disconnected approximately 3.5 billion users from WhatsApp, Instagram and Facebook for nearly six hours.
Echo explores a different architecture where communication happens directly between users instead of through a central platform.
• No phone number login • No email registration • Passphrase-based identity • Direct device-to-device messaging • End-to-end encryption • Offline delivery via IPFS • No centralized message servers • Works in any modern browser
Echo is currently under active development.
Completed
• Passphrase identity system • Username and profile setup • Smart contract username registry
In progress
• WebRTC peer-to-peer messaging • IPFS offline message delivery
Planned
• File and image sharing • GitHub Pages deployment • Mobile browser optimization
User opens Echo
→ Generates 12-word passphrase
→ Derives public/private key pair
→ Sets username
Username registered on Ethereum
→ Other users search by username
If both users are online
→ WebRTC creates direct encrypted connection
If recipient is offline
→ Message encrypted locally
→ Stored on IPFS
→ Retrieved and decrypted when recipient reconnects
Messages never pass through a central server.
[User A Device] [User B Device]
| |
|-------- WebRTC Direct ---------->| (online)
| |
|----> IPFS Storage | (offline)
| |
|<---- Fetch on login--|
[Ethereum Sepolia]
|
|---- Username → Public Key mapping
WebRTC handles real-time communication. IPFS provides decentralized storage for offline delivery. Ethereum stores only identity mappings.
| Layer | Technology |
|---|---|
| Frontend | HTML, CSS, JavaScript |
| Identity | BIP-39 Mnemonics, ethers.js |
| Encryption | TweetNaCl.js |
| Smart Contract | Solidity |
| Blockchain | Ethereum Sepolia |
| Messaging | WebRTC |
| Storage | IPFS (web3.storage) |
| Hosting | GitHub Pages |
Phase 1 Identity system and username registry
Phase 2 Peer-to-peer encrypted messaging
Phase 3 Offline message delivery
Phase 4 File and media sharing
Phase 5 Mobile optimization and performance improvements
Echo follows several design principles.
• Messages are encrypted before leaving the device • Private keys never leave the client • No central server stores conversations • Blockchain stores only identity mappings • Offline messages remain encrypted in IPFS
Echo is an experimental decentralized messaging system.
Contributions are welcome.
Ways to contribute
• report bugs • suggest improvements • improve documentation • test new features
Open an issue before submitting a pull request.
Sreyas VM
Building Echo as an open decentralized messaging system.
MIT License

