bitchat
com.bitchat.droid
Zapstore _@zapstore.dev Republished from GitHub / F-Droid by the Zapstore main account.
A decentralized peer to peer messaging app that works entirely over Bluetooth mesh networks. Bitchat lets you talk to anyone nearby even when the internet is blocked, overloaded, or unavailable. No registration, no phone numbers, no tracking, no ads. Just install and start chatting. Free and open source. Join location based channels to talk with people in your neighborhood, city, province, or region. You can also leave notes at any location for anyone who passes by. Stay connected anywhere, on your terms.
First release: Sep 15, 2025, 9 total releases.
Most recent release: Aug 11, 2026.
Appears in 25 app stacks.
2,579 sats / 2 zaps received in the past year.
Sats Received
Underlying data available via MCP: app_zaps, app_releases.
Zap Count
Underlying data available via MCP: app_zaps, app_releases.
Releases
- Aug 11, 2026 2.0.1## Bitchat Android 2.0.1 ### Highlights - **Bitchat for Wear OS:** join the nearby mesh from your watch, use public chat and encrypted direct messages, browse People, manage favorites and verification, receive notifications, record voice notes, and receive images and files. - **New chat styles:** choose the classic Matrix layout or peer-colored message bubbles, including bubble-aware media, timestamps, and delivery indicators. - **Live push-to-talk:** stream voice in public channels and encrypted direct messages on Android and Wear OS, with improved recording feedback, waveforms, haptics, and slide-to-cancel controls. - **Cashu support:** recognize and preview Cashu eCash tokens, use `/pay`, and redeem with a compatible external wallet or web flow. Cashu tokens are bearer instruments; anyone who obtains a token may be able to redeem it. - **Persistent private conversations:** keep conversation history, unread state, aliases, favorites, and previews across restarts, with clearer controls for deleting conversations. - **Offline geohash globe:** explore geohash channels with a native animated 3D globe, country borders, cities, polar coverage, and adjustable render quality.
More…
- **Language picker:** change the app language from within Bitchat, with expanded translations. - **Local-first APK sharing and updates:** share an installed APK nearby and resume signature-verified update downloads with clearer progress and rate-limit handling. - **Reliability and privacy:** stronger queued-message delivery and ordering, Noise session recovery and identity binding, more reliable receipts and peer lifecycle handling, safer Wi-Fi Direct cleanup, bounded payload processing, quieter sensitive logging, and a more complete panic wipe of in-memory networking state. ### First reproducible full-app release This is Bitchat Android's first reproducible full-app release. The unsigned phone and Wear OS APKs and Android App Bundles were built twice in independent GitHub Actions jobs using the pinned container environment, and every canonical byte matched before the release artifacts were promoted for local signing. The release includes the signed phone and Wear OS APKs, the signed Play upload bundles, `BITCHAT_BUILDINFO.json`, the attested `BITCHAT_SHA256SUMS.unsigned` manifest, and the final `BITCHAT_SHA256SUMS`. The canonical unsigned binaries are intentionally not attached; their exact hashes are committed by the attested unsigned manifest and they can be rebuilt from the signed source tag. The signed APK and AAB payloads were checked against those canonical unsigned builds before publication. To rebuild and verify everything from source (requires Git, GitHub CLI, Docker with Linux/amd64 support, and 16 GiB of memory recommended for Docker): ```bash git clone https://github.com/permissionlesstech/bitchat-android.git cd bitchat-android git checkout v2.0.1 gh release download v2.0.1 --pattern 'BITCHAT_BUILDINFO.json' --pattern 'BITCHAT_SHA256SUMS*' --dir .reproducible-build/release-metadata-v2.0.1 gh attestation verify .reproducible-build/release-metadata-v2.0.1/BITCHAT_BUILDINFO.json --repo permissionlesstech/bitchat-android gh attestation verify .reproducible-build/release-metadata-v2.0.1/BITCHAT_SHA256SUMS.unsigned --repo permissionlesstech/bitchat-android tools/reproducible-builds/build-in-container.sh .reproducible-build/verify-v2.0.1 cmp .reproducible-build/verify-v2.0.1/SHA256SUMS.unsigned .reproducible-build/release-metadata-v2.0.1/BITCHAT_SHA256SUMS.unsigned ``` To verify the checksums of the published signed files without rebuilding: ```bash gh release download v2.0.1 --dir .reproducible-build/download-v2.0.1 (cd .reproducible-build/download-v2.0.1 && shasum -a 256 -c BITCHAT_SHA256SUMS) ``` Most phones should use `bitchat-android-universal.apk`; `bitchat-android-arm64.apk` is a smaller download for modern ARM64 phones. Install `bitchat-android-wear.apk` directly on a Wear OS device. The Play upload bundles are signed separately for Google Play and are not intended for direct installation. **Full changelog:** https://github.com/permissionlesstech/bitchat-android/compare/1.7.4...v2.0.1 - Mar 30, 2026 1.7.2## What's Changed * bump 1.7.1 by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/661 * chore: update license from MIT to GPLv3 by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/674 * Unit tests for BinaryProtocol by @rollforsats in https://github.com/permissionlesstech/bitchat-android/pull/678 * fix: use CSPRNG for heartbeat intervals by @a1denvalu3 in https://github.com/permissionlesstech/bitchat-android/pull/685 * Add 'Send private message' action to chat user sheet by @a1denvalu3 in https://github.com/permissionlesstech/bitchat-android/pull/649 * fix: add input validation for protocol decoding and fragment reassembly by @0x0v1 in https://github.com/permissionlesstech/bitchat-android/pull/666 * update version by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/688 ## New Contributors
More…
* @rollforsats made their first contribution in https://github.com/permissionlesstech/bitchat-android/pull/678 * @0x0v1 made their first contribution in https://github.com/permissionlesstech/bitchat-android/pull/666 **Full Changelog**: https://github.com/permissionlesstech/bitchat-android/compare/1.7.1...1.7.2 - ## What's Changed * Fix location updates in notes and Nostr subscription leaks by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/636 * fix(geohash): cleanup sampling subscriptions when closing location sheet by @a1denvalu3 in https://github.com/permissionlesstech/bitchat-android/pull/659 * fix: pause geohash heartbeat (kind 20001) sampling when backgrounded by @a1denvalu3 in https://github.com/permissionlesstech/bitchat-android/pull/660 **Full Changelog**: https://github.com/permissionlesstech/bitchat-android/compare/1.7.0...1.7.1
- - source routing: more efficient direct messages - geohash presence: count online people in region-city - update arti to 1.9.0 and add 32 bit builds - geocoder for de-googled phone via openstreetmap - fixes several issues identified by security audit firm cure53 - many ui improvements and fixes ## What's Changed * Implement Geohash Presence (Heartbeats) by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/576 * Gossip mesh topology + source-based routing by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/445
More…
* Feat/graph force by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/581 * visual logger refactor by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/583 * Update arti to 1.9.0 and produce 32 bit builds by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/585 * Move PrivateChatSheet hosting into ChatDialogs and unify sheet state by @yet300 in https://github.com/permissionlesstech/bitchat-android/pull/586 * use bluetooth icon by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/597 * Fix/nostr dm bottom sheet by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/598 * Fix and Improve LocationManager logic by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/599 * OSM fallback for geocoding by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/611 * security: prevent storage exhaustion by saving incoming files to cache by @a1denvalu3 in https://github.com/permissionlesstech/bitchat-android/pull/606 * feat: Stable BLE Peer Identity via Scan Response by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/613 * Refactor: Implement Hybrid Location Provider (System/Fused) by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/612 * fix(security): Clear in-memory keys during panic mode by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/596 * Improve QR Verification UI by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/615 * Implement iOS-compatible Direct Peer Detection (TTL Logic) by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/574 * fix: centralize and strictly enforce connection limits by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/618 * Fix: Correctly parse recipient/sender IDs in broadcaster to enable unicast by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/619 * security: ensure media files are deleted during panic mode by @a1denvalu3 in https://github.com/permissionlesstech/bitchat-android/pull/607 * fix: Ensure empty neighbor lists in newer announcements clear mesh edges by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/620 * fix(ui): Show acquiring location state instead of unavailable by @a1denvalu3 in https://github.com/permissionlesstech/bitchat-android/pull/621 * Fix/590-Private-key-stored-as-Plain-text by @anupamjhabbl in https://github.com/permissionlesstech/bitchat-android/pull/603 * Refactored BottomSheetTopBar to BitchatSheetTopBar by @yet300 in https://github.com/permissionlesstech/bitchat-android/pull/601 * spacing for geohash sheet text by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/623 * feat: Introduce Gradle property to control APK splits by @moehamade in https://github.com/permissionlesstech/bitchat-android/pull/560 * bump to 1.7.0 by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/624 ## New Contributors * @anupamjhabbl made their first contribution in https://github.com/permissionlesstech/bitchat-android/pull/603 **Full Changelog**: https://github.com/permissionlesstech/bitchat-android/compare/1.6.0...1.7.0 - ## new - background persistence: bitchat can now run in the background to support the mesh even if you leave the app - improved tor: self-compiled arti library reduces APK size from 150 MB to 15 MB - QR code contact verification - fixes and improvements ## What's Changed * bump targetSdk to 35 by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/526 * Prevent quit notification from reappearing by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/530 * fix: wifi aware socket binding by @aidenvalue in https://github.com/permissionlesstech/bitchat-android/pull/533
More…
* Revert "fix: wifi aware socket binding" by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/535 * Fix notification user try 2 by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/541 * Fix: Add @ConscryptMode annotation to resolve test failures by @rebroad in https://github.com/permissionlesstech/bitchat-android/pull/543 * Fix small-screen header clipping (#519) by @Kargatharaakash in https://github.com/permissionlesstech/bitchat-android/pull/532 * QR and Verification feature by @yet300 in https://github.com/permissionlesstech/bitchat-android/pull/529 * Enforce mandatory packet signature verification by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/546 * Revert "Fix small-screen header clipping (#519)" by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/548 * fix: location channel manager by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/516 * fix: sync notification peer count with sidebar by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/547 * bump versioncode to 28 by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/551 * FIX: verify signature only for ANNOUNCE, MESSAGE, and FILE_TRANSFER like ios by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/552 * versioncode bump to 29 by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/553 * Fix/foreground permissions scanning by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/556 * drop duplicate announces based on TTL by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/558 * scan duration fix by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/557 * feat: Build and release per-architecture APKs by @moehamade in https://github.com/permissionlesstech/bitchat-android/pull/550 * bump vc to 30 by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/559 ## New Contributors * @aidenvalue made their first contribution in https://github.com/permissionlesstech/bitchat-android/pull/533 * @rebroad made their first contribution in https://github.com/permissionlesstech/bitchat-android/pull/543 * @Kargatharaakash made their first contribution in https://github.com/permissionlesstech/bitchat-android/pull/532 **Full Changelog**: https://github.com/permissionlesstech/bitchat-android/compare/1.6.0-rc1...1.6.0-rc3 - - location notes - take in-app photos - audio note optimization ## What's Changed * show media buttons only in mesh by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/487 * bump to 1.5.1 by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/488 **Full Changelog**: https://github.com/permissionlesstech/bitchat-android/compare/1.5.0...1.5.1
- - location notes - take in-app photos - audio note optimization ## What's Changed * fix: Resolve debug settings bottom sheet crash on some devices by @developerchunk in https://github.com/permissionlesstech/bitchat-android/pull/474 * fix: string formatting crash rssi translation by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/478 * bump versioncode 24 by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/479 * Location notes by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/482 * lower voice quality, smaller file size by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/483
More…
* Camera take picture by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/484 * actually 1.5.0 by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/485 ## New Contributors * @developerchunk made their first contribution in https://github.com/permissionlesstech/bitchat-android/pull/474 **Full Changelog**: https://github.com/permissionlesstech/bitchat-android/compare/1.4.0...1.5.0 - - image and audio transfer over mesh* - translations - bug fixes *android-only for now, iOS soon ## What's Changed * remove the noise handshake if peer goes offline by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/435 * Media transfers by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/440 * fix unit tests by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/442
More…
* fix: clear channel messages on reset by @elian1780 in https://github.com/permissionlesstech/bitchat-android/pull/446 * Translations by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/467 * Remove ghost sync by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/468 * Extract constants by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/469 * bump version 1.4.0 by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/470 ## New Contributors * @elian1780 made their first contribution in https://github.com/permissionlesstech/bitchat-android/pull/446 **Full Changelog**: https://github.com/permissionlesstech/bitchat-android/compare/1.3.1...1.4.0 - bugfixes: - fix: tor startup - fix: deleting geohash bookmarks - fix: blocking geohash users ## What's Changed * bump versioncode by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/419 * lock to tor by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/426 * fix: bookmark removal persistence by @lollerfirst in https://github.com/permissionlesstech/bitchat-android/pull/424 * nostr: fix block feature by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/427
More…
* add github tests by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/233 * better verbose logging by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/431 * bump to 1.3.1 by @callebtc in https://github.com/permissionlesstech/bitchat-android/pull/432 **Full Changelog**: https://github.com/permissionlesstech/bitchat-android/compare/1.3.0...1.3.1