Status: Live (v0.4.2). Download it from 0xio.xyz/install for macOS (Apple Silicon, signed and notarized by Apple) or Windows. Linux coming soon.
Why Desktop?
Browser extensions run in a sandboxed environment with limited CPU access and a 4GB memory ceiling. FHE operations, particularly range proof generation, are computationally heavy:
The desktop app removes these bottlenecks by running pvac-rs natively, with full access to all CPU cores and system memory.
Core Wallet Features
Dashboard & Balances
The home screen displays your public and private (FHE-encrypted) balances, recent transactions, and token holdings, the same as the extension and mobile app.Sending & Receiving
- Standard transfers: Public on-chain transactions with memo support
- Private transfers: FHE-encrypted stealth transfers (recipient must have a registered PVAC public key)
- Bulk send: Send to many recipients in one batch, with a pre-send summary plus duplicate-address and insufficient-balance guards and per-row stealth progress. Private (FHE) bulk sends are available only in the desktop app
- QR codes: Generate and share receive addresses
- OU control: Customize Operational Unit (gas) fees per transaction
Privacy Operations
Full encrypt/decrypt/claim support, same as the extension:1
Encrypt (Public → Private)
Shield funds using FHE. Your device generates a Pedersen commitment and zero-knowledge bound proof locally.
2
Decrypt (Private → Public)
Unshield funds back to your public balance.
3
Claim
Scan the blockchain for incoming private transfers and decrypt them into your wallet.
Multi-Wallet Support
Create or import multiple wallets using 12/24-word seed phrases. All wallets use the same master root key derivation (HMAC-SHA512("Octra seed", seed)[0:32]) as the extension and mobile app, so importing the same seed phrase produces the same address across all 0xio platforms.
NFTs & Marketplace
NFT Gallery
A full-width grid of your NFT collections with search, filters, and adjustable grid densities. Click any NFT to open a split-view detail page with metadata, ownership, and contract information alongside the artwork.Living NFTs
Native support for Geodesics by Euint Labs: self-rendering on-chain programs. The detail view runs the NFT’s on-chain rendering program and displays it live, so the artwork reflects current contract state rather than a static image. Each program runs in an isolated frame with no network access and reads the chain only through the wallet’s read-only bridge, so it can never reach your keys or other data.Xpectrum Marketplace
List and manage your NFTs on the Xpectrum marketplace directly from the wallet:- List for sale: Two-signature listing flow with on-chain verification
- Cancel listing: Delist an NFT at any time
Companion Mode: Accelerating the Extension
The desktop app runs a local WebSocket server onws://127.0.0.1:19345 that the browser extension connects to automatically when both are running.
How It Works
- The extension detects the desktop app on the local machine
- The extension sends the PVAC master seed, a one-way hash of the wallet key, and the desktop derives the same PVAC keys from it. The key that signs transactions never leaves the extension
- For heavy FHE operations, the extension delegates computation to the desktop app
- Desktop computes using native Rust with all CPU cores, returns the result
- Extension uses the result as if it computed locally
What Gets Accelerated
Security
- Loopback only: The WebSocket server binds to
127.0.0.1, so no remote connections are accepted - Connection limit: Maximum 8 concurrent connections
- Message size cap: 16MB per message (range proofs can be 1 to 3MB)
- Idle timeout: 300 seconds
- No signing key: The desktop can build proofs and read the private balance, but it cannot sign, because it never receives the wallet key (extension 2.5.6 and later)
- Memory safety: The master seed is zeroized after use on both sides
Status Indicators
- Sidebar badge: Shows “Extension Connected” when paired
- System tray icon: Changes color during proof computation
- Computing state: Real-time progress display for active FHE operations
AI Contract Assistant
The desktop app includes an AI-powered assistant for smart contract development:- AML Brainstorming: Describe what you want your contract to do and get AML code suggestions
- Code Generation: Generate complete contract templates from natural language descriptions
- Error Fixing: Paste compiler errors and get automated fix suggestions
Contract Developer Tools
The desktop app includes a full smart contract development suite: compile, deploy, verify, and interact with contracts directly.Write & Compile
Write contracts in two languages:- File import: Load
.amlor.oasmsource files - Compile: Sends source to the network compiler, returns bytecode + ABI
- Error reporting: Line numbers and error messages from the compiler
Deploy
- Address preview: Predict your contract’s address before deploying (based on sender + nonce)
- Constructor parameters: JSON array input for initialization values
- Source verification: Verify deployed bytecode matches your source on-chain
Interact
- ABI-driven forms: Load a contract’s ABI to get typed input fields for each method
- View vs Call: Read-only queries (free) or state-changing transactions (costs OU)
- FHE parameter encryption: Use
enc(42)syntax to encrypt integer parameters with FHE before sending - Auto-decrypt results: Long return values are automatically tested for FHE decryption
Contract Registry
Keep a local registry of your deployed contracts with name, address, language, and ABI for quick access.FHE Tools
Standalone encrypt/decrypt utilities for developers and power users:- Encrypt: Convert a plaintext integer to an FHE ciphertext (
hfhe_v1|...format) - Decrypt: Recover the plaintext from an FHE ciphertext using your PVAC context
Built-in DApp Browser
Browse Octra ecosystem dApps without leaving the desktop wallet:- DApp directory: Quick links to Octrascan, 0xio DEX, Atlas, and developer docs
- URL navigation: Visit any URL directly
- Open in window: Launch dApps in a native window for sites that don’t support iframe embedding
- Connected DApp management: View and manage permissions for connected dApps
Networks
The desktop app supports switching between Octra networks:
RPC endpoints are configured automatically by the app (mainnet connects directly to
octra.network). An RPC proxy toggle in Settings routes mainnet and devnet requests through the 0xio proxy. It is off by default, it is never used as a silent fallback, and a network you add yourself never uses it.
Switch networks in Settings. Devnet is recommended for testing FHE operations and smart contract development.
Security
- Encrypted vault: All private keys encrypted with AES-256-GCM at rest
- PBKDF2 key derivation: 600,000 iterations for password-to-key conversion
- Biometric unlock: Touch ID (macOS) / Windows Hello, with a password fallback
- Auto-lock: Configurable inactivity timeout
- Seed phrase backup: Requires password re-entry to view
- Input validation: Address format, amount bounds, and JSON parsing checks
- Sandboxed browser: Restricted iframe permissions, blocks
javascript:,data:, andfile:schemes - Isolated frames: Living NFTs,
oct://pages and the Circles preview load from the app’s own isolated scheme, each with a security policy of its own and an opaque origin, so untrusted content cannot reach the wallet or other sites. Living NFT programs get no network access at all - Sentry crash reporting: Automated error reporting for stability improvements
Debug Console
The desktop app includes a built-in debug console for developers and advanced users:- RPC logs: View raw RPC requests and responses
- PVAC timing: Monitor FHE operation performance (proof generation, key decompression)
- Network diagnostics: Check connectivity, latency, and endpoint status
Auto-Updater
The desktop app checks 0xio.xyz for updates automatically and prompts you to install new versions when available. Update artifacts are minisign-verified against a bundled public key before installation.Navigation & Productivity
- Command palette: A keyboard-driven launcher to jump between screens and actions.
- Sidebar wallet switcher: Switch between your wallets directly from the sidebar.
- Collapsible sidebar: Collapse the sidebar to maximize screen real estate when working with contracts or browsing dApps.
- Octra Circles browser: Browse native
oct://on-chain content via the Circle bridge.
Getting Started
Installation
- Download the latest build from 0xio.xyz/install
- Follow the platform-specific installer instructions
- Open the app. It appears in your menu bar (macOS) or system tray
Creating a Wallet
- Set a master password to encrypt your vault
- Choose Create New Wallet or Import with an existing seed phrase
- Your wallet address and balances will appear on the dashboard
Pairing with the Extension
No configuration needed. If both the desktop app and the browser extension are running with the same wallet:- The extension detects the desktop app automatically
- A “Desktop Connected” indicator appears in the extension
- FHE operations are now accelerated through the desktop engine