A modern Bitcoin-PoCX desktop wallet built with Angular 21 and Tauri.
- Create and import HD wallets (BIP39/BIP84)
- Send and receive Bitcoin-PoCX
- Transaction history with confirmations
- Forging assignment management (PoCX-specific)
- Managed Node: Automatic download, install, and lifecycle management of Bitcoin-PoCX Core
- Integrated Mining: Multi-chain PoCX mining with real-time dashboard
- Plot File Generation: CPU and GPU (OpenCL) plotting support
- Multi-language support (24 languages)
- Lightweight app for Windows, macOS, Linux, and Android
- Android Support: Background mining with foreground service and wake lock
- Node.js 20+ and npm
- Rust (for desktop builds)
- Bitcoin-PoCX Core - either:
- Managed mode (recommended): Wallet downloads and manages the node automatically
- External mode: Connect to your own Bitcoin-PoCX Core instance with RPC enabled
cd web-wallet
npm install
npm startOpen http://localhost:4200 in your browser.
cd web-wallet
npm install
npm run tauri:devcd web-wallet
npm install
npm run tauri:buildThe packaged app will be in web-wallet/src-tauri/target/release/bundle/.
phoenix-pocx/
├── web-wallet/ # Angular 21 web application
│ ├── src/
│ │ ├── app/
│ │ │ ├── core/ # Core services (auth, platform, guards)
│ │ │ ├── bitcoin/ # Bitcoin RPC & wallet services
│ │ │ ├── node/ # Managed node service & setup wizard
│ │ │ ├── mining/ # Mining dashboard & plotting
│ │ │ ├── shared/ # Shared components
│ │ │ ├── store/ # NgRx state management
│ │ │ └── features/ # Feature modules
│ │ └── assets/
│ │ └── locales/ # i18n translation files
│ ├── src-tauri/ # Tauri desktop wrapper (Rust)
│ │ ├── src/
│ │ │ ├── main.rs # Entry point
│ │ │ ├── lib.rs # Commands & setup
│ │ │ ├── node/ # Managed node backend
│ │ │ └── mining/ # Mining & plotting backend
│ │ ├── Cargo.toml # Rust dependencies
│ │ └── tauri.conf.json # Tauri configuration
│ └── package.json
├── CLAUDE.md # Developer documentation
└── README.md
- Angular 21 - Frontend framework with signals and block control flow
- Angular Material 21 - Material Design components
- NgRx 21 - State management
- Tauri 2 - Lightweight desktop wrapper (Rust)
- TypeScript 5.9 - Type safety
On first launch, the wallet will guide you through downloading Bitcoin-PoCX Core. The node is automatically started and stopped with the wallet.
To connect to your own Bitcoin-PoCX Core instance, configure your bitcoin.conf:
server=1
rpcuser=your_username
rpcpassword=your_password
# Or use cookie-based authentication (recommended)Cookie-based authentication is recommended and automatically detected.
cd web-wallet
npm run lint # ESLint
npm run lint:fix # Auto-fix lint issues
npm run format:check # Prettier check
npm run format:fix # Auto-format codecd web-wallet
npm test # Run unit tests
npm run test:ci # CI mode (headless)Install Rust: https://rustup.rs/
Linux (Ubuntu/Debian):
sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-devmacOS:
xcode-select --installWindows:
- Install Visual Studio Build Tools with C++ workload
For GPU-accelerated plot generation, install OpenCL drivers:
- NVIDIA: Included with NVIDIA drivers
- AMD: Install AMD ROCm or AMDGPU-PRO drivers
- Intel: Install Intel OpenCL runtime
No OpenCL SDK is required at build time (dynamic loading).
cd web-wallet
npx tauri android init # First time only
npx tauri android build --target aarch64The APK will be in web-wallet/src-tauri/gen/android/app/build/outputs/apk/.
Note: Android mining runs with a foreground service to keep the app alive when backgrounded or screen is off.
This project is a fork of Phoenix by the Signum Network team. The original Phoenix wallet was built for the Signum blockchain and has been adapted for Bitcoin-PoCX.
GPL-3.0 - See LICENSE for details.