Skip to content

Lumina-eX/AnonChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

141 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

AnonChat ๐ŸŒŒ

AnonChat is a Stellar-based anonymous communication platform that allows users to create groups and chat freely with strangers โ€” without revealing identity. Access is powered by Web3 wallet authentication, ensuring privacy, decentralization, and user sovereignty.

Speak freely. Stay anonymous. Powered by Stellar.


๐Ÿš€ What is AnonChat?

AnonChat is a decentralized, privacy-first chat application where:

  • Users connect using a Web3 wallet
  • No personal data, email, or phone number is required
  • Users can create or join anonymous groups
  • Messages are end-to-end encrypted
  • Identity is never exposed โ€” not even to us

The platform leverages Stellar blockchain primitives to ensure transparency, decentralization, and trustless authentication.


๐ŸŒŸ Why Stellar?

AnonChat is built on Stellar because it offers:

  • โšก Fast & low-cost transactions
  • ๐ŸŒ Global, borderless infrastructure
  • ๐Ÿ” Secure public-key cryptography
  • ๐Ÿงฉ Perfect fit for wallet-based authentication

Stellar enables AnonChat to remain lightweight, scalable, and censorship-resistant.


๐Ÿงฉ Core Features

๐Ÿ”’ Complete Anonymity

  • No usernames, emails, or profile data
  • No tracking or surveillance
  • Zero-knowledge architecture

๐Ÿ” End-to-End Encryption

  • Messages are encrypted client-side
  • Only chat participants can read messages

๐ŸŒ Decentralized Groups

  • Create or join anonymous chat rooms
  • No central authority or moderation bias

๐Ÿ‘› Web3 Wallet Authentication

  • Login using a supported Web3 wallet
  • Wallet address acts as a pseudonymous identity

โšก Lightning Fast Messaging

  • Real-time chat with minimal latency

๐Ÿ›ก Privacy First

  • No IP logging
  • No data selling or analytics exploitation

๐Ÿ—๏ธ Tech Stack

Frontend

  • Next.js / React
  • Tailwind CSS
  • Web3 Wallet Integration

Blockchain

  • Stellar Blockchain โญ
  • Wallet-based authentication
  • Public-key cryptography

Backend

  • Node.js / Serverless APIs
  • WebSocket / Real-time messaging
  • Encrypted message storage

Hosting

  • Vercel

๐Ÿ” Security Model

  • End-to-end encrypted messages
  • Zero-knowledge design
  • Decentralized architecture
  • Open-source codebase (auditable)
  • No identity or metadata storage

๐Ÿ›๏ธ Architecture

flowchart TB
    subgraph Client["๐Ÿ‘ค Client"]
        Wallet[Web3 Wallet]
        Browser[Browser]
    end

    subgraph Frontend["โš›๏ธ Frontend (Next.js)"]
        UI[React Components]
        Auth[Auth Module]
        Chat[Chat Interface]
    end

    subgraph Backend["๐Ÿ”ง Backend Services"]
        Supabase[(Supabase)]
        Realtime[Realtime Engine]
    end

    subgraph Blockchain["โญ Stellar"]
        StellarNet[Stellar Network]
    end

    Wallet -->|Sign Auth| Auth
    Browser --> UI
    UI --> Chat
    Auth -->|Verify| Supabase
    Chat -->|Messages| Realtime
    Realtime -->|Sync| Supabase
    Auth -.->|Wallet Auth| StellarNet
Loading
Layer Technology
Frontend Next.js 16, React 19, TypeScript, Tailwind CSS
Auth Supabase Auth + Web3 Wallet
Database Supabase (PostgreSQL)
Real-time Supabase Realtime
Blockchain Stellar Network
Hosting Vercel

๐Ÿ› ๏ธ Quick Start

Prerequisites

Setup

# 1. Clone and install
git clone https://github.com/your-username/anonchat.git
cd AnonChat
pnpm install

# 2. Configure environment
cp .env.example .env.local
# Edit .env.local with your Supabase credentials

# 3. Run database migrations in Supabase SQL Editor
# scripts/001_create_profiles.sql
# scripts/002_create_profile_trigger.sql
# scripts/003_room_members_and_removal_votes.sql  (for wallet-based removal voting)

# 4. Start dev server
pnpm dev

Testing wallet-based removal voting

Full runbook: See docs/RUN-VOTE-REMOVE.md for step-by-step run and verify instructions.

  1. Apply the migration
    Run scripts/003_room_members_and_removal_votes.sql in the Supabase SQL Editor so room_members, room_removal_votes, and check_removal_threshold exist.

  2. API smoke test (Node โ‰ฅ18, dev server on Node โ‰ฅ20):
    With the dev server running (pnpm dev), in another terminal:

    pnpm run test:vote-remove

    This checks that unauthenticated requests get 401 and invalid requests get 400.

  3. Manual UI test
    Open /chat, select a room, click the โ‹ฎ (More) button in the header. The โ€œRoom members & votingโ€ dialog should open; without auth youโ€™ll see โ€œNo members yet, or you need to sign in.โ€ After signing in and joining a room (e.g. by sending a message), you can vote to remove another member; when a majority votes, they are removed and can no longer send messages in that room.

Environment Variables

NEXT_PUBLIC_SUPABASE_URL=your-project-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
NEXT_PUBLIC_STELLAR_NETWORK=testnet
NEXT_PUBLIC_APP_NAME=AnonChat

Find credentials in Supabase Dashboard โ†’ Settings โ†’ API


๐Ÿงช Roadmap

  • Group ownership via Stellar accounts
  • On-chain group identity
  • DAO-based moderation
  • Encrypted file sharing
  • Mobile PWA support

๐Ÿค Contributing

See CONTRIBUTING.md for guidelines. Quick steps:

  1. Fork โ†’ Create branch fix-[issue-number] โ†’ Make changes โ†’ Test โ†’ PR
  2. Important: Only submit PRs for issues you're assigned to

๐Ÿ“œ License

This project is licensed under the MIT License.


๐ŸŒ Live Demo

๐Ÿ”— https://anonchat-one.vercel.app


๐Ÿ’œ Credits

Built with privacy in mind and powered by Stellar Blockchain.

If you believe communication should be free, anonymous, and decentralized โ€” AnonChat is for you.


โญ Donโ€™t forget to star the repository if you like the project!

About

An anonymous, privacy-first chat application built on Stellar, allowing users to create decentralized groups and communicate securely using Web3 wallet authentication.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors