A Zero-Knowledge (ZK) powered anonymous messaging app built using Noir and Aztec SDK. This project allows users to communicate privately and securely through ephemeral group chats that leverage privacy-preserving smart contracts on the Aztec network.
🌐 Project Website In an age where privacy is no longer a luxury, but a necessity, we believe that clarity of vision is just as essential as strong encryption.
To help you understand why this project exists, who is building it, and where it’s headed, we’ve created a dedicated information website:
👉 www.aztecanonymousmessenger.com
- 📁 Fully private group chats using ZK cryptography
- 🛡️ Self-destructing messages (after read or with a timer)
- 📅 Temporary identity with nickname support
- 🚫 No real account or identity required
- 📡 Wallet-based login (MetaMask)
- 🔗 Invite links for group sharing
- 🔧 Built using Aztec's PXE client and Noir smart contracts
- ⚙ Noir smart contracts + JavaScript SDK integrations.
aztec-messenger/
├── aztec-private-messenger/ # Frontend and backend integration
│ ├── contracts/ # Noir contract artifact files (.json/.wasm)
│ ├── data/ # Message storage and in-memory state
│ ├── server.js # PXE + Contract deploy + Backend logic
│ └── pages/ # Next.js frontend pages
└── noir/
└── message_contract_test/ # Noir contract source and build
- Install dependencies:
npm install
- Run the backend server:
npm run start
- Run the frontend:
npm run dev
Make sure your Noir contract is compiled and the
.json
and.wasm
files are present under/contracts/
.
This project includes a custom Noir smart contract designed to handle private message creation and submission on the Aztec Network.
The contract defines a sendMessage
function, which is invoked within a private context to commit encrypted messages to the network without revealing any metadata.
All logic is built using Aztec’s Noir DSL and compiled with nargo
. The resulting artifacts are integrated directly into the frontend.
Messages are not just encrypted — they are shielded on-chain, zero-knowledge validated, and user-agnostic by design.
To explore or modify the contract, visit:
/contracts/message_contract/src/main.nr
📁 View the source on GitHub
- Frontend: React (Next.js)
- Backend: Node.js + Express
- ZK Layer: Noir + Aztec SDK (PXE)
- Wallet: MetaMask
- GitHub: PQEST01
- Discord: pqest
Feel free to open issues or pull requests. You can also reach out to me on Discord!
This project is developed for educational and experimental purposes. Contributions and improvements are welcome!