Download iOS App | Download Android App
Offline Bitcoin Signer for iOS & Android
Try it risk-free! A REGTEST VERSION is available on both app stores, allowing you to practice air-gapped transactions with test bitcoin — no real funds required.
Download iOS App(ver.regtest) · Download Android App(ver.regtest)
Coconut Vault is an offline signer that runs only when the device is disconnected from networks. You can use keys in signing-only mode or secure storage mode. The app does not run when the device is connected to any network (Wi‑Fi, cellular, Bluetooth) or when developer mode is enabled.
- Wallet creation — Create and restore Bitcoin wallets; no limit on how many you can have
- Mode selection — Use secure storage mode or signing-only mode depending on how you want to manage keys
- Secure key storage — Use the device Secure Module (e.g. Secure Enclave, Strong Box) for stronger key protection
- Multisig made simple — Multisig wallet support with a focus on usability
- Supported hardware wallets - Keystone 3 Pro, Seedsigner, Jade, Coldcard, Krux
- Signing — Sign transactions offline; keys never leave the device
- Connection guard — Detects external connectivity and immediately blocks use
- Risk detection — Detects rooting (Android) and jailbreak (iOS) and warns you; you can still choose to continue
To practice sending bitcoin, install Coconut Wallet on another device and follow the tutorial to complete the flow step by step.
OFFLINE ONLINE
┌─────────────────┐ QR Code ┌─────────────────┐
│ Coconut Vault │ ◄──────────────────────► │ Coconut Wallet │
│ │ │ │
│ · Key storage │ │ · Balance sync │
│ · Tx signing │ │ · Tx creation │
│ │ │ · Broadcasting │
└─────────────────┘ └─────────────────┘
The vault stays offline; private keys never leave the device. Signed transactions are passed via QR codes to the wallet for broadcasting.
| Project | Description |
|---|---|
| coconut_lib | |
| coconut_vault | |
| coconut_wallet | |
| coconut_design_system |
- Flutter SDK (3.29+)
- Dart 3.7+
- Android Studio or Xcode
flutter --versiongit clone https://github.com/noncelab/coconut_vault.git
cd coconut_vault
flutter pub getdart run build_runner clean && dart run build_runner build --delete-conflicting-outputs && dart run slangGenerate a local keystore for Android builds:
keytool -genkey -v -keystore android/app/local.jks \
-storepass android -alias local -keypass android \
-keyalg RSA -keysize 2048 -validity 10000 \
-dname "CN=Local Dev,O=Coconut,C=KR"Create key_regtest.properties and key_mainnet.properties under the android/ directory:
storePassword=android
keyPassword=android
keyAlias=local
storeFile=../app/local.jks# Debug
flutter run --flavor fullRegtest
# Release
flutter run --release --flavor fullRegtestDebug mode only checks that network and Bluetooth are disabled; release mode also requires developer options to be turned off on the device.
| Flavor | Description |
|---|---|
mainnet |
Real Bitcoin mainnet — production release distributed via app stores |
regtest |
Local testnet — for learning and development with Coconut Wallet |
Android Studio / IntelliJ
Run → Edit Configurations... → Set Build Flavor to regtest
VS Code — .vscode/launch.json:
{
"name": "coconut_vault (debug)",
"request": "launch",
"type": "dart",
"args": ["--flavor", "fullRegtest"]
}
⚠️ Mainnet Self-Build Disclaimer: If you build and run the app from source on mainnet outside of official distribution channels (App Store / Google Play), we assume no responsibility for any loss of funds or errors that may occur. Please useregtestmode for development and testing.
Please refer to CONTRIBUTING.md for details.
- Issues — Bug reports and feature requests
- Pull Requests — New features, documentation improvements, and bug fixes
If you discover a critical security vulnerability, please report it directly to hello@noncelab.com instead of opening a public issue.
MIT License. See LICENSE for details.
The MIT license covers the source code only. It does not grant rights to the "Coconut Vault" or "Nonce Lab" names or logos — see TRADEMARK.md for the separate trademark and brand usage policy.
All third-party libraries used in this project are licensed under MIT, BSD, or Apache. See the full list for details.
| Website | coconut.onl |
| X (Twitter) | @CoconutWallet 🌐 / @Coconut 🇰🇷 |
| Discord | Join our Discord |
| Documentation | Tutorials & Docs |
| GitHub | github.com/noncelab |
| Company Site | NonceLab |

