> OVERVIEW_
// Encrypted, rate-limited messaging powered by ShadowID.
ShadowMSG enables wallets and agents to communicate privately on Solana using zero-knowledge proofs. Messages are end-to-end encrypted and relayed through anonymous nodes — without exposing sender or receiver.
→ Built on ShadowID for authentication, and RLN for spam resistance.
> ARCHITECTURE_
- End-to-end encryption using ephemeral keys from ShadowID
- RLN-based anti-spam proof per message
- Relayer-based routing for sender/receiver unlinkability
- →Messages are stored encrypted (client-side or via Supabase)
- →Each relayer only handles ciphertext, never metadata
- →Verification happens on-chain through nullifier validation
No central server learns sender identity or message contents.
> SEND MESSAGE_
- 1.Log in via ShadowID (Lite or Active).
- 2.Go to ShadowMSG → COMPOSE tab.
- 3.Enter the recipient's ShadowID commitment.
- 4.Write your message — it will be encrypted locally.
- 5.Click Send Message.
✓ Once sent:
- →Ciphertext is relayed anonymously to the recipient's inbox.
- →Proof of message validity (RLN) is broadcasted to prevent spam.
Tip: Use Active IDs for faster message throughput and higher privacy.
> RECEIVE MESSAGE_
- 1.ShadowMSG continuously listens for incoming ciphertexts tied to your identity.
- 2.When a message arrives, it's decrypted locally with your ShadowID key.
- 3.Only you can read or reply — no relayer or validator can correlate participants.
Optional privacy enhancements:
- →Use fresh ephemeral identities per conversation.
- →Enable "decoy" messages to obfuscate traffic patterns.
> FAQ_
Are messages stored permanently?
A: Messages persist in the relayer's database until explicitly deleted. You control retention via the UI.
Can I send attachments or payment requests?
A: Not yet — ShadowMSG currently supports text-only messages. Future updates will add rich content and payment links.
What if my ShadowID is Lite?
A: Lite accounts can send 1 message per epoch. Upgrade to Active (via Shadowpath proof) for higher limits.
How does RLN prevent spam or message floods?
A: RLN generates a unique nullifier per epoch. Sending more than your limit reveals your secret, preventing abuse.