A self-custody Bitcoin wallet for Android, inspired by Sparrow Wallet but built for mobile.
Designed for experienced users - no hand-holding, no training wheels.
- Multi-Wallet - Create, import, export, and switch between multiple wallets
- Multi-Seed - Supports BIP39 or Electrum seed phrases for wallet imports
- Watch-only Wallets - Import xpub/zpub, output descriptors, or single address
- Import Private Key - Sweep or import private keys (WIF format)
- Hardware Wallet Signing - Use animated QR codes or .psbt files for air-gapped key signing
- Coin Control - Select specific UTXOs, freeze/unfreeze, send from individual outputs
- RBF & CPFP - Bump fees on unconfirmed transactions, both outgoing and incoming
- Cancel Transactions - Cancel unconfirmed outgoing transactions with RBF
- Manual Broadcast - Broadcast any signed raw transaction directly to the Bitcoin network
- Batch Sending - Send to multiple recipients in a single transaction
- BIP329 Labels - Industry-standard wallet labels for transactions and addresses
- Transaction Search - Search transaction history by date, amount, address, or label
- Built with BDK
- Modular Integration - Enable or disable Liquid for each wallet
- Send & Receive L-BTC - Full Liquid wallet with confidential transactions
- Lightning Payments - Pay Bolt 11 and Bolt 12 invoices, or Lightning addresses via Boltz submarine swaps
- Lightning Invoices - Generate Bolt 11 invoices via Boltz reverse swaps
- Watch-only Liquid Wallets - Import Liquid watch-only wallets using SLIP77 descriptors
- Liquid USDt - Hold and transact USDt on Liquid
- Chain Swaps - BTC ↔ L-BTC atomic swaps via Boltz or SideSwap
- Coin Control - Select specific UTXOs for swaps and Lightning payments
- BIP329 Labels - Label support for Liquid transactions
- Built with LWK
- Built-in Tor - Native Tor integration, no need for Orbot or external proxies
- PIN & Biometrics - With configurable lock timing
- Privacy Toggle - Hide all wallet amounts and balances
- Wallet Locks - Lock specific wallets independently
- Duress PIN - Configure a duress PIN that opens a decoy wallet
- Auto-Wipe - Set a threshold for failed unlocks that automatically and irreversibly wipes all app data
- Cloak Mode - Disguise Ibis as a calculator app
- Custom Servers - Connect to your own Electrum, block explorer, and fee estimation servers
- NFC Support - Broadcast and receive payment requests via NFC tap
- Bitcoin URI Handling - Register as a handler for
bitcoin:links
- Full App Backup - Backup and restore the entire app state including wallets, settings, and labels
- Encrypted Backups - Back up wallets with AES-256 encryption
Requires Android Studio with JDK 17.
./gradlew :app:assembleDebug # Debug
./gradlew :app:assembleRelease # Release
./gradlew testDebugUnitTest # Tests
./gradlew jacocoUnitTestReport # Generate coverage reportMin SDK: 26 (Android 8.0) | Target SDK: 35 | ARM only (armeabi-v7a, arm64-v8a)
Open source. See LICENSE for details.
Ibis is vibecoded and audited by the most current frontier AI models.
