Description
BULL by Bull Bitcoin is a self-custodial Bitcoin wallet for iOS, designed for secure, private, and efficient management of Bitcoin, Lightning, and Liquid Network transactions. Ideal for both everyday payments and long-term storage, it empowers users to get paid, buy Bitcoin, spend Bitcoin, manage wallets, and securely hold assets with ease. Built on cypherpunk principles, BULL prioritizes user sovereignty, open-source transparency, and trustless operation, integrating cutting-edge technologies to make self-custody safer and simpler without compromising privacy or security. From a single BIP39 seed backup, it creates two interoperable wallets: an Instant Payments Wallet on the Liquid Network for seamless daily Lightning transactions and a Secure Bitcoin Wallet for on-chain payments and robust long-term storage.BULL is Bitcoin-only, segwit-native, and optimized for performance, with no clutter or distractions. It leverages cutting-edge technologies like PayJoin, Liquid’s confidential transactions, and atomic transfers to make self-custody accessible and secure while upholding cypherpunk values of privacy, sovereignty, and decentralization. Free and open-source, BULL is the ultimate platform for managing Bitcoin payments and securing assets for the long haul.
Nouveautés (v6.10.6)
New Features
Wallet & Storage
New onboarding/startup wizard
Ledger hardware wallet support
Increased Electrum stopGap — now allows values up to 5000
Wallet Support Chat
UX
Pull-to-refresh on wallet home — can be triggered from anywhere on the screen
Backup warning overlay — bottom sheet hard escalation warning for backup when wallet has funds and no backup is detected
Privacy & Payjoin
Randomized OHTTP relay selection — relay randomly selected per payjoin call via Random.secure() to prevent network fingerprinting
Payjoin self-transfer detection — detects self-spent transactions and shows a "Self-transfer" row on confirmation; self-spends bypass payjoin
Internationalization
11 new languages — Arabic, Bulgarian, Bengali, Czech, Greek, Persian, Hindi, Korean, Brazilian Portuguese, Thai, Turkish
Detailed German translations — community contributions from @bsn21m
Updated translations for new warning and wizard pages
Observability
Opt-in error reporting — optional, self-hosted Sentry (disabled by default) - only collects error reports and stack traces, no telemetry, no IP.
Detailed Sentry configuration to ensure user privacy
No app restart required after providing Sentry consent
Removed Recoverbull sync page
Server status page now makes more realistic calls
Bug Fixes
Wallet Core
Address index issue — fixed via update to bdk-dart (bdk 2.0)
Crash for unknown script transactions
Prevent duplicate mnemonic import
Mnemonic import freeze/crash
Capital letters in mnemonic — no longer accepted (was causing errors)
LWK database initialization — fixed Liquid wallet database init issues
Spam create wallet on startup
Startup lag — fixed lag during wallet and seed loading on startup
Startup error screen — gracefully handles and displays startup failures instead of freezing
Transfers
Transfer watcher race condition that could cause status update issues
MRH transfer — uses transaction ID to fully resolve as a transfer transaction
Transfer flow wallet autoselect — prevents self-spends or same-network sends in the transfer flow
Amountless invoice handling — throws a more descriptive error for amountless invoices on transfers
Autotransfer notice/warning fixes
Testnet fix for recoverbull
Send / Receive
LN receive success screen crash fixed
Insufficient balance navigation — Continue on send amount page with insufficient funds no longer navigates to confirm page
Backup & Security
Physical backup verification — fixed backup test status not updating after completing verification
Backup-before-PIN safety gate
Backup wallet warning on home now updates correctly after a backup is complete
"Vault created successfully" snackbar no longer covers the "Test Recovery" button
Labels & Persistence
Labels feature refactor — complete architecture refactor with database migration v11→v12; fixed upsert constraint failures, SQLite concurrency, and multiple related issues
Transaction note persistence
SQLite migration safety — catch blocks around label migration to prevent crash on failure
Network / Connectivity
Custom mempool server — SSL toggle (auto-detected from URL), improved URL parsing/normalization, server status indicators, dark mode fixes, and hidden service support via Orbot
Recoverbull Orbot detection — checks if Orbot is actually running on port 9050 instead of relying on user settings, preventing Tor-over-Tor errors
Input & Keyboard
iOS price input keyboard — fixed to show correct number pad with decimal settings
Keyboard lag — fixed lag when importing mnemonic passphrase or typing in label input fields
Theming
Dark theme fixes — QR code backgrounds, PSBT flow, Recoverbull button, custom Electrum server widget
PIN light theme readability
Custom fee dark mode
Light mode exchange banner
Delete logs dark mode fix
Transfer fees dark/light mode and text color fixes
Fade-to-background gradient no longer covers the title/description above the button
Pull to sync loader no longer lands behind the Bull logo