Open-source, self-custody Bitcoin wallet for iOS and Android.
Your recovery phrase and private keys are created and handled on your device.
Aura Wallet is an independent open-source Bitcoin wallet built around one clear boundary: the user controls the keys. Wallet creation, recovery, address derivation, transaction construction, and signing happen inside the mobile application.
The project is developed publicly under the MIT license. Source changes are checked with linting, TypeScript, wallet security invariants, official Bitcoin test vectors, cryptographic signing tests, dependency advisories, CodeQL, and an Android build.
Current release line: v27.27.60.
- BIP32 and BIP39 hierarchical deterministic wallets.
- BIP44, BIP49, and BIP84 address derivation.
- Legacy, Nested SegWit, Native SegWit, and Taproot recipients.
m-of-nmultisig wallet creation and import.- Coin control, custom fees, change-address selection, and UTXO labels.
- QR scanning and generation, message signing, and watch-only exports.
- Biometric or passcode application lock.
- 40 interface languages.
| Area | Aura behavior |
|---|---|
| Key material | Mnemonics, passphrases, and private keys are generated and used on-device. |
| Stored wallets | Wallet records are encrypted before persistence; the device key is protected by the system keychain. |
| Blockchain data | Aura connects to Electrum servers using wallet scripthashes. |
| Optional fallback | Direct address queries to mempool.space are disabled by default and require the user to enable them. |
| Spending | Transactions are assembled and signed locally; only signed transaction data is broadcast. |
| External links | Custom block explorers must use HTTPS and transaction IDs are validated before opening. |
More detail is available in Architecture and FAQ. Sensitive findings must be submitted through private vulnerability reporting.
src/
├── components/ Shared interface components
├── constants/ Project-wide constants
├── i18n/ Localized interface text
├── navigation/ Navigation stacks and route types
├── network/ Electrum, mempool, fees, rates, and explorers
├── polyfills/ Runtime compatibility shims
├── screens/ Application screens
├── types/ Shared TypeScript contracts
├── utils/ Storage, encryption, and platform helpers
└── wallets/ Derivation, scanning, signing, and transactions
Native projects live in android/ and ios/. Automated verification lives in
scripts/, __tests__/, and .github/workflows/.
Requirements:
- Node.js 22.11 or newer.
- The current React Native environment for the target platform.
- Xcode and CocoaPods for iOS, or Android Studio and Java 17 for Android.
git clone https://github.com/aurabitcoinwallet/aura-wallet.git
cd aura-wallet
npm ciStart Metro:
npm startRun a platform build in another terminal:
npm run ios
# or
npm run androidFor iOS native dependencies, run bundle install and bundle exec pod install
inside ios/ when required by your local toolchain.
The verification suite exercises Aura's application modules rather than replacing them with test-only wallet implementations.
npm run verify
npm run audit:dependenciesnpm run verify includes linting, TypeScript, Jest, release invariants, encryption
and network security tests, official Bitcoin vectors, and the signing self-test.
Pull requests also run CodeQL and build the Android application on GitHub Actions.
| Resource | Purpose |
|---|---|
| FAQ | User-facing answers about custody, recovery, and network access. |
| Architecture | Module boundaries and data flows. |
| Contributing | Development and pull-request expectations. |
| Release process | Required release checks and signing rules. |
| Code of Conduct | Community participation standards. |
| Security Policy | Private vulnerability reporting. |
Focused issues and pull requests are welcome. Read CONTRIBUTING.md before changing wallet storage, key derivation, signing, transaction construction, or networking. Never include real wallet secrets or user data in reports, tests, screenshots, or logs.
Aura Wallet is released under the MIT License.
© 2026 Aura Wallet.