Overview
Direct Messages (DMs) allow you to have private, encrypted conversations with any Ethereum wallet address.Starting a DM
1
Click New Message
Click the + button in the sidebar
2
Enter Wallet Address
Paste the recipient’s full Ethereum address (0x…)
3
Start Chatting
Type your message and send!
Features
End-to-End Encryption
All DMs are encrypted using FHE
Wallet-Based Identity
No usernames needed - just wallet addresses
Custom Nicknames
Rename contacts for easier identification
Self-Destruct Option
Set timers on individual messages
Message Requests
When someone messages you for the first time, you’ll see a message request:1
Receive Request
A notification appears in the “Requests” tab
2
Review Sender
Check the sender’s wallet address
3
Accept or Decline
Accept to start the conversation, or decline to ignore
Until you accept a request, you cannot see the message content - only that someone wants to message you.
Renaming Contacts
Don’t want to see long wallet addresses? Rename your contacts:- Right-click on a conversation in the sidebar
- Select “Rename”
- Enter a custom name
- The name is stored locally on your device
Conversation View
Each DM shows:- Avatar: Initials from the contact name or wallet
- Encryption Badge: “End-to-End Encrypted” indicator
- Message History: All encrypted messages in the conversation
- Input Area: Type messages, enable self-destruct timers
Technical Details
How DMs are Stored
Access Control
- Only the sender and recipient can decrypt messages
- The smart contract enforces access control using
TFHE.allow() - Decryption requires a cryptographic signature from your wallet