Skip to content

PQEST01/aztec-anonymous-messenger

Repository files navigation

Aztec Anonymous Messenger

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

🔎 Features

  • 📁 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.

📂 Project Structure

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

⚡ Quick Start (Local)

  1. Install dependencies:
npm install
  1. Run the backend server:
npm run start
  1. Run the frontend:
npm run dev

Make sure your Noir contract is compiled and the .json and .wasm files are present under /contracts/.


📚 Noir Smart Contract

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

🔧 Tech Stack

  • Frontend: React (Next.js)
  • Backend: Node.js + Express
  • ZK Layer: Noir + Aztec SDK (PXE)
  • Wallet: MetaMask

📢 Screenshots

Homepage

Opening

Group Chat Interface

Opening Opening Opening Opening

👤 About the Developer


✉ Feedback

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!

About

An anonymous ZK messenger built with Noir and Aztec SDK.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published