permissionlesstech / bitchat
git clone https://github.com/permissionlesstech/bitchat.git
v1.7.1 Β· 2mo ago
π₯ on GitHub Trending today
bluetooth mesh chat, IRC vibes
+21
stars, 24h Β· #309
β
stars, 7 days
β
stars, 30 days
37k
β
total
5.8k
forks Β· 146 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageSwift
LicenseUnlicense
Created2025-07-04 (1y ago)
Last push2d ago
Watchers303
OwnerOrganization
Seen on GitHub Trending
- 2026-10-20 β #14 daily in swift Β· +21 β
GitHub topics
Links
README excerpt
## bitchat A decentralized peer-to-peer messaging app with dual transport architecture: local Bluetooth mesh networks for offline communication and internet-based Nostr protocol for global reach. No accounts, no phone numbers, no central servers. It's the side-groupchat. bitchat.free π² App Store π² Play Store ### Getting a copy you can trust Install from the App Store, or build from source you have verified. A compiled build from anywhere else cannot be verified β see Verifying bitchat for how to check source against the per-release hash manifest, and for what to do if that is the only build you can get. This matters more than it usually would: this repository has been the target of takedown demands, and when a repository or releases page disappears, mirrors appear that nobody can check. ## License This project is released into the public domain. See the LICENSE file for details. ## Features - **Dual Transport Architecture**: Bluetooth mesh for offline + Nostr protocol for internet-based messaging - **Location-Based Channels**: Geographic chat rooms using geohash coordinates over global Nostr relays - **Intelligent Message Routing**: Automatically chooses best transport (Bluetooth β Nostr fallback) - **Decentralized Mesh Network**: Automatic peer discovery and multi-hop message relay over Bluetooth LE - **Privacy First**: No accounts, no phone numbers, no servers. Note that the mesh does use a persistent per-device identifier derived from your identity key β see the whitepaper on identity and metadata for what a nearby radio can observe - **Private Message End-to-End Encryption**: Noise Protocol for mesh, BitChat private envelopes for Nostr fallback - **IRC-Style Commands**: Familiar `/slap`, `/msg`, `/who` style interface - **Universal App**: Native support for iOS and macOS - **Emergency Wipe**: Triple-tap to instantly clear all data - **Performance Optimizations**: LZ4 message compression, adaptive battery modes, and optimized networking ## Technical Architecture BitChat uses a **hybrid messaging architecture** with two complementary transport layers: ### Bluetooth Mesh Network (Offline) - **Local Communication**: Direct peer-to-peer within Bluetooth range - **Multi-hop Relay**: Messages route through nearby devices (max 7 hops) - **No Internet Required**: Works completely offline in disaster scenarios - **Noise Protocol Encryption**: End-to-end encryption, with forward secrecy for live sessions (store-and-forward mail is sealed without it β see the whitepaper) - **Binary Protocol**: Compact packet format optimized for Bluetooth LE constraints - **Automatic Discovery**: Peer discovery and connection management - **Adaptive Power**: Battery-optimized duty cycling ### Nostr Protocol (Internet) - **Global Reach**: Connect with users worldwide via internet relays - **Location Channels**: Geographic chat rooms using geohash coordinates - **440+ Relay Network**: Distributed across the globe for reliability - **BitChat Private Envelopes**: App-specifi