A lightweight Bitcoin validator node for Android, powered by Utreexo and Floresta.
Run a full Bitcoin node directly on your phone with minimal storage requirements thanks to Utreexo's compact accumulator design.
- ⚡ Lightweight: Uses Utreexo to dramatically reduce storage requirements
- 🔒 Self-sovereign: Validate Bitcoin transactions directly on your device
- 🌐 Multi-network: Support for Bitcoin Mainnet, Testnet, Testnet4, Signet, and Regtest
- 🔍 Transaction & Broadcast: Search transactions and broadcast raw transactions
- 🧱 Blockchain Explorer: Search blocks by height or hash, view headers and chain status
- 👥 P2P Networking: Connect, disconnect, and ping Bitcoin peers
- 💼 Wallet Integration: Load descriptors and track your Bitcoin addresses
- 🔌 Electrum Server: Built-in Electrum server for wallet pairing
- 📊 Real-time Sync: Monitor blockchain synchronization progress
- 🩺 Diagnostics: Monitor node uptime and memory usage
- 🎨 Modern UI: Beautiful Material Design 3 interface with dark/light themes
Utreexo is a dynamic hash-based accumulator that allows Bitcoin nodes to validate the blockchain without storing the full UTXO set. This reduces storage requirements from tens of gigabytes to just a few megabytes, making it practical to run a full validating node on mobile devices.
- Android 10 (API 29) or higher
- ARM64 device (arm64-v8a architecture)
- Internet connection
Download the latest APK from GitHub Releases.
- Clone the repository:
git clone https://github.com/jvsena42/mandacaru.git
cd mandacaru- Build the project:
./gradlew assembleDebug- Install on your device:
./gradlew installDebug- Launch the app and enable notifications when prompted
- Add a wallet descriptor to track your addresses (in Settings > Descriptors)
- Copy the Electrum server address (in Settings), then configure your wallet to use it as an Electrum server
Monitor your node's status:
- Sync Progress: Current blockchain synchronization percentage
- Network Info: Connected network, peer count, and difficulty
- Peers (expandable): View connected peers, connect to new nodes, disconnect, or ping
- Diagnostics (expandable): Node uptime and memory usage
Search and broadcast transactions:
- Enter a transaction ID (txid) to look up transaction details
- Broadcast a raw transaction to the network
- View complete transaction details and confirmations
Explore the blockchain:
- Block Search: Look up blocks by height or hash
- Chain Status: View block count, best block hash, and validated blocks
- Block Headers: View detailed block header information
Configure your node:
- Electrum Address: Copy the local Electrum server address to pair with your wallet
- Descriptors: Add or list wallet descriptors to track your addresses
- Network: Switch between Bitcoin networks (requires app restart)
- Node: Connect directly to specific Bitcoin nodes
- About: App version and project information
- Donate: Support the project via Lightning
Built with modern Android development practices:
- Kotlin: 100% Kotlin codebase
- Jetpack Compose: Declarative UI framework
- Material Design 3: Modern, adaptive design system
- HorizontalPager + BottomNavigationBar: Swipeable screen navigation
- MVVM Architecture: Clean separation of concerns
- Coroutines & Flow: Async operations and reactive streams
- DataStore: Persistent preferences
- Koin: Lightweight dependency injection
- OkHttp: Network communication
- JSON-RPC: Bitcoin Core compatible RPC interface
- Floresta Wallet - A wallet client running Floresta
- Floresta Core - The underlying Floresta implementation
If you find this project useful, consider supporting development:
Lightning: jvsena42@blink.sv
This project is open source. Please check the repository for license details.
- Built on top of Floresta
- Implements Utreexo accumulator design
- Inspired by the Bitcoin community's commitment to decentralization
Made with ⚡ for the Bitcoin network







