End-to-end encrypted messaging powered by Fully Homomorphic Encryption (FHE)
App β’ Documentation β’ Twitter β’ Powered by Zama
blockmsg is the first fully homomorphic encrypted (FHE) messaging platform built on blockchain. Your messages are encrypted end-to-end, and not even our servers can read them β because we literally have no servers storing your data.
Unlike apps that say "we don't read your messages," blockmsg is mathematically designed so that reading your messages is impossible.
| Feature | Description |
|---|---|
| π FHE Encryption | Messages encrypted in your browser using Fully Homomorphic Encryption before being stored on-chain |
| π₯ Self-Destruct Messages | Set messages to auto-delete after a set time β guaranteed by smart contract |
| π Wallet Identity | No phone numbers or emails β just connect your wallet and start messaging |
| π‘οΈ Zero Access | We have no servers, no database, no access to your messages |
| βοΈ On-Chain Storage | All messages stored on the Ethereum Sepolia blockchain |
| π Permissionless | No one can ban you or censor your messages |
| Feature | Web2 (WhatsApp, Telegram) | Standard Web3 | blockmsg (FHE) |
|---|---|---|---|
| Message Privacy | β Company can read | β Everyone can read on-chain | β Only sender & recipient |
| Encryption | Server-side (breakable) | None (plaintext) | Fully Homomorphic (unbreakable) |
| Data Storage | Centralized servers | Decentralized but public | Decentralized & encrypted |
| Censorship | Platform can ban you | Permissionless | Permissionless |
| Self-Destruct | Server-dependent | Not possible | β On-chain guaranteed |
| Government Access | β Backdoors possible | β Public chain explorer | β Cryptographically impossible |
ββββββββββββββββββββββββββββββββββββββββββββββ
β SENDER β
β β
β Plaintext ββββΆ FHE Encrypt (in browser) β
β "Hello!" β
βββββββββββββββββββββββ¬βββββββββββββββββββββββ
β Encrypted
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββ
β BLOCKCHAIN β
β β
β [0x3f8a...] [0x9c2b...] [0x1d4e...] β
β β
β β’ Everyone can see this data β
β β’ NO ONE can read it without wallet key β
β β’ Protected by FHE encryption β
βββββββββββββββββββββββ¬βββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββ
β RECIPIENT (wallet signature) β
β β
β Ciphertext βββΆ Decrypt βββΆ "Hello!" β
β β
β Only possible with recipient's wallet key β
ββββββββββββββββββββββββββββββββββββββββββββββ
sequenceDiagram
participant Sender
participant Contract
participant Recipient
Sender->>Contract: Send encrypted message + expiry time
Contract->>Contract: Store message with expiry timestamp
Recipient->>Contract: Request message decryption
Contract->>Contract: Check if expired
alt Not Expired
Contract->>Recipient: Return encrypted data
Recipient->>Recipient: Decrypt message
else Expired
Contract->>Recipient: Return empty (destructed)
end
| Actor | Access Level |
|---|---|
| π Block Explorers | β See only encrypted gibberish |
| βοΈ Miners / Validators | β See only encrypted gibberish |
| π¨βπ» blockmsg Team | β Zero access - no keys, no servers |
| ποΈ Governments | β Cryptographically impossible |
| π€ You (Sender) | β Full access with your wallet |
| π₯ Recipient | β Full access with their wallet |
blockmsg has NO backend database. Your data lives in two places only:
βββββββββββββββββββββββββββββββββββββββββββ
β YOUR BROWSER ONLY β
βββββββββββββββββββββββββββββββββββββββββββ€
β β’ Decrypted messages (after reveal) β
β β’ Contact nicknames β
β β’ Read/unread status β
β β’ DM preferences (allow/block lists) β
β β’ Transaction history cache β
βββββββββββββββββββββββββββββββββββββββββββ
β¬οΈ Only YOU can access this
β We have ZERO access
β No server stores this
βββββββββββββββββββββββββββββββββββββββββββ
β ETHEREUM BLOCKCHAIN β
βββββββββββββββββββββββββββββββββββββββββββ€
β β’ Encrypted message content (FHE) β
β β’ Sender/recipient addresses β
β β’ Timestamps β
β β’ Self-destruct expiry times β
βββββββββββββββββββββββββββββββββββββββββββ
π Anyone can see this data
π NO ONE can read it (encrypted)
β
Only sender & recipient can decrypt
| Data Type | Storage | Who Can Access |
|---|---|---|
| Your preferences | Your browser | Only you |
| Decrypted messages | Your browser | Only you |
| Encrypted messages | Blockchain | No one (until decrypted) |
| Contact names | Your browser | Only you |
β οΈ Important: If you clear your browser data, your local preferences are lost forever. We cannot recover them because we never had them.
| Technology | Purpose |
|---|---|
| fhEVM by Zama | Fully Homomorphic Encryption virtual machine |
| Solidity | Smart contracts for encrypted message management |
| Next.js | Frontend application framework |
| fhevmjs | Client-side FHE encryption library |
| RainbowKit | Wallet connection and management |
| Tailwind CSS | Utility-first styling |
- Node.js (v18 or higher)
- pnpm package manager
- MetaMask browser extension
# Clone the repository
git clone https://github.com/Gutslabs/blockmsg.git
cd blockmsg
# Initialize submodules
git submodule update --init --recursive
# Install dependencies
pnpm install# Start the development server
pnpm startVisit http://localhost:3000 in your browser.
Set the following environment variables:
NEXT_PUBLIC_ALCHEMY_API_KEY=your_alchemy_key
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=your_walletconnect_id # optionalblockmsg/
βββ packages/
β βββ fhevm-hardhat-template/ # Smart contracts & deployment
β βββ fhevm-sdk/ # FHEVM SDK package
β βββ nextjs/ # React frontend application
βββ docs/ # Mintlify documentation
βββ scripts/ # Build and deployment scripts
Full documentation available at docs.blockmsg.xyz
- Quickstart β Get started in 5 minutes
- How It Works β Learn about FHE encryption
- Privacy Architecture β Understand our zero-knowledge design
- Self-Destruct Messages β Time-based message destruction
- Developer Guide β Build on blockmsg
| Resource | Link |
|---|---|
| π Live App | blockmsg.xyz |
| π Documentation | docs.blockmsg.xyz |
| π¦ Twitter | @Gutslab |
| π Zama FHE | zama.ai |
| π fhEVM Docs | docs.zama.ai |
Powered by Zama β Fully Homomorphic Encryption for Web3
This software is experimental and unaudited. The smart contracts have NOT been formally audited by a third-party security firm. Use at your own risk.
By using blockmsg, you acknowledge that:
- Smart contracts may contain bugs or vulnerabilities
- You are solely responsible for your wallet security
- This is beta software deployed on testnet (Sepolia)
- No guarantees are made regarding the security or reliability of the protocol
This project is licensed under the BSD-3-Clause-Clear License. See the LICENSE file for details.
π Your messages. Your keys. Your privacy.