Octra Wallet is a Flutter mobile wallet for the Octra Network with a native wallet-core bridge for privacy operations. PVAC crypto runs locally on device through native libraries packaged in the app, not through a server.
- Non-Custodial: You own your keys.
- PIN Protection: Local wallet access is protected with a custom PIN.
- Biometric Auth: Face ID / fingerprint unlock where the platform supports it.
- Encrypted Storage: Sensitive data is stored securely using device storage.
- Public Balance: View the current public balance for the active wallet.
- Private Balance: Decrypt encrypted balance locally through native PVAC.
- Transaction History: Detailed OctraScan-backed history scoped to the active wallet.
- Public Send: Sign and submit normal OCT transfers from Flutter.
- Bulk Public Send: Submit up to 5 public transfers with sequential nonces.
- Privacy Operations: Register PVAC key, encrypt, decrypt, stealth send, scan, and claim with native PVAC.
- Tokens: Discover token contracts, import a token by address, delete imported tokens, and send token transfers.
- Dynamic Fees: Uses fee recommendations per operation type before submitting transactions.
- Refresh Support: Pull to refresh for latest network state.
- Live OCT/USD Price: Fetches current price and 24h change from CoinGecko.
- 7-Day Price Chart: Interactive line chart with touch-to-inspect values.
- Per-Wallet Breakdown: OCT balance and USD value for every wallet at a glance.
- Multiple Wallets: Create and manage multiple wallets in one app.
- Customization: Rename wallets and assign custom colors for easy identification.
- Smooth Animations: A polished, premium native feel with 60fps animations.
- Dark Mode: Sleek, eye-friendly interface.
The chosen architecture is:
- Flutter UI in this repository
- native wallet core loaded through a Flutter FFI bridge
- vendored
native/vendor/webcli/pvacC++ backend for PVAC privacy operations - serialized background PVAC worker using Flutter isolates to avoid UI freezes
webclikept as the upstream behavior reference only- no wallet server process inside the APK
The Android release APK packages liboctra_core.so, OpenSSL libcrypto.so, and
libc++_shared.so for supported ABIs. iOS native static archives are produced
by CI; a committed Flutter iOS app target is still required before App Store
packaging.
Technical docs live in docs/.
GitHub Actions setup is documented in
docs/github-actions-build.md.
Release notes:
- v1.0.2 β Portfolio tab, bug fixes
- v1.0.1 β First production APK release
- v1.0.0 β Initial release
Get the latest production APK from the Releases Page.
- Flutter SDK (3.5+)
- Dart SDK (3.0+)
- Android Studio / VS Code
-
Clone the repository
git clone https://github.com/Xyntera/Octra-Wallet.git cd Octra-Wallet -
Install dependencies
flutter pub get
-
Run the app
flutter run
-
Build Release APK
flutter build apk --release
The output will be in
build/app/outputs/flutter-apk/app-release.apk.
- Framework: Flutter (Dart)
- Cryptography:
bip39,cryptography(Ed25519, SHA256) - Native Privacy Core: C++ PVAC backend exposed through a C ABI and Dart FFI
- Storage:
flutter_secure_storage - State Management:
Provider - UI: Cupertino (iOS-style) & Material
Octra Wallet is open source under GPL-2.0-or-later with an OpenSSL linking
permission. The repository includes vendored Octra webcli PVAC components with
their upstream notices preserved.
- License:
LICENSE - Notices:
NOTICE.md - Contributing:
CONTRIBUTING.md - Security:
SECURITY.md - Code of Conduct:
CODE_OF_CONDUCT.md - Governance:
GOVERNANCE.md
Contributions are welcome. Please read CONTRIBUTING.md
before opening a pull request.
GPL-2.0-or-later with an OpenSSL linking permission. See LICENSE
for details.

