Skip to content

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

Notifications You must be signed in to change notification settings

Osuochasam/AnonChat

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

88 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

No packages published

Languages

  • TypeScript 87.3%
  • CSS 6.8%
  • PLpgSQL 3.8%
  • JavaScript 2.1%