Bitchat is a fully open-source, decentralized messaging app developed by Jack Dorsey (Block, Inc.) that operates over Bluetooth Low Energy (BLE) mesh networks, enabling encrypted peer-to-peer communication without internet, servers, or phone numbers. It features multi-hop relaying reaching over 300 m, end-to-end encryption (Curve25519/AES‑GCM), password-protected channels, offline message storage and forwarding, cover traffic, and emergency data wipe options all released under the public domain Unlicense on GitHub. Notable open-source alternatives include Briar, a GPL‑3 licensed mesh messenger that supports encrypted chat via Bluetooth, Wi‑Fi, or Tor without internet reliance and Bridgefy, a mesh-capable SDK/app formerly popular in protest environments though with noted security limitation
Features
- Decentralized Mesh Network: Automatic peer discovery and multi-hop message relay over Bluetooth LE
- End-to-End Encryption: X25519 key exchange + AES-256-GCM for private messages and channels
- Channel-Based Chats: Topic-based group messaging with optional password protection
- Store & Forward: Messages cached for offline peers and delivered when they reconnect
- Privacy First: No accounts, no phone numbers, no persistent identifiers
- IRC-Style Commands: Familiar
/join
,/msg
,/who
style interface - Message Retention: Optional channel-wide message saving controlled by channel owners
- Universal App: Native support for iOS and macOS
- Cover Traffic: Timing obfuscation and dummy messages for enhanced privacy
- Emergency Wipe: Triple-tap to instantly clear all data
- Performance Optimizations: LZ4 message compression, adaptive battery modes, and optimized networking
Basic Commands
/j #channel
- Join or create a channel/m @name message
- Send a private message/w
- List online users/channels
- Show all discovered channels/block @name
- Block a peer from messaging you/block
- List all blocked peers/unblock @name
- Unblock a peer/clear
- Clear chat messages/pass [password]
- Set/change channel password (owner only)/transfer @name
- Transfer channel ownership