███████╗ ██████╗██╗ ▐▛███▜▌
╚══███╔╝██╔════╝██║ ▜█████▛▘
███╔╝ ██║ ██║ ▘▘ ▝▝
███╔╝ ██║ ██║
███████╗╚██████╗███████╗ Z I P H E R X
╚══════╝ ╚═════╝╚══════╝ Built with Claude
IMPORTANT LEGAL DISCLAIMER
THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT. THE ENTIRE RISK AS TO THE QUALITY, PERFORMANCE, ACCURACY, AND RELIABILITY OF THIS SOFTWARE REMAINS WITH YOU.
NO LIABILITY FOR LOSS OF FUNDS. ZipherX is experimental, open-source software. The authors, contributors, and maintainers of this project shall NOT be held liable, under any circumstances, for any loss of funds, loss of cryptocurrency, loss of data, financial damages, or any other damages whatsoever (including but not limited to direct, indirect, incidental, special, consequential, or exemplary damages) arising out of or in connection with the use, misuse, or inability to use this software, even if advised of the possibility of such damages.
YOU ARE SOLELY RESPONSIBLE for securing your private keys, spending keys, seed phrases, and wallet backups. If you lose your keys, your funds are permanently and irreversibly lost. No one — including the developers — can recover them.
CRYPTOCURRENCY TRANSACTIONS ARE IRREVERSIBLE. Once a transaction is broadcast to the network, it cannot be undone, reversed, or refunded. Always verify recipient addresses and amounts before sending.
THIS IS NOT FINANCIAL ADVICE. This software does not constitute financial, investment, tax, or legal advice. Consult a qualified professional before making any financial decisions involving cryptocurrency.
REGULATORY COMPLIANCE IS YOUR RESPONSIBILITY. Cryptocurrency regulations vary by jurisdiction. It is your sole responsibility to ensure that your use of this software complies with all applicable local, state, national, and international laws and regulations.
NO GUARANTEE OF SECURITY. While ZipherX implements industry-standard cryptographic protocols (zk-SNARKs, Groth16, Curve25519, AES-256), no software is guaranteed to be free of vulnerabilities. Use at your own risk.
BETA SOFTWARE. This software is under active development and may contain bugs, errors, or incomplete features. Do not use this software with funds you cannot afford to lose.
BACKUP YOUR WALLET BEFORE INSTALLATION. If you are running an existing Zclassic full node or any other wallet software, you MUST back up your wallet files, private keys, and spending keys BEFORE installing or using ZipherX. ZipherX's Full Node mode connects to your local node and software bugs could potentially overwrite, corrupt, or delete existing wallet data. The developers accept NO responsibility for loss of funds or data resulting from failure to back up. This applies to both P2P mode and Full Node mode. Always maintain independent, offline backups of your keys and wallet files.
VOLUNTARY CONTRIBUTIONS. All contributions to ZipherX — including code, documentation, design, testing, bug reports, translations, and feedback — are made on a strictly voluntary and unpaid basis. Contributing does NOT entitle any contributor to compensation, ownership, equity, intellectual property rights, revenue sharing, or any financial benefit of any kind. Contributions are made under the MIT License with no expectation of remuneration, now or in the future.
By downloading, installing, or using ZipherX, you acknowledge that you have read, understood, and agree to this disclaimer in its entirety. If you do not agree, do not use this software.
Privacy-focused, non-custodial cryptocurrency wallet for Zclassic (ZCL)
ZipherX provides full-node-level security through direct P2P networking — without running a full node. Your keys never leave your device. All network traffic is routed through Tor for maximum privacy.
- Shielded Transactions — Sapling zk-SNARK privacy (Groth16 proofs)
- Non-Custodial — You hold your keys. No server. No middleman.
- P2P Networking — Connects directly to the Zclassic blockchain via peer-to-peer protocol
- Tor Integration — All connections routed through embedded Tor (Arti) for network privacy
- Encrypted Chat — End-to-end encrypted messaging over Tor hidden services
- Voice Calls — Encrypted voice over Tor (WebRTC-style, peer-to-peer) (coming soon)
- Biometric Security — Face ID / Touch ID protection for wallet access and transactions
- Cross-Platform — Native macOS (Apple Silicon + Intel) and iOS (iPhone + iPad)
- Full Node Mode — Optional: connect to your own Zclassic full node via RPC (macOS only)
- Fast Sync — Boost files enable wallet sync in under 30 seconds
- SQLCipher — Database encrypted at rest with 256-bit AES
- Hardened Runtime — macOS app signed with Hardened Runtime, full library validation, and minimal entitlements (no JIT, no unsigned memory)
Download the latest release from the Releases page:
| File | Description |
|---|---|
ZipherX-macOS-4.2.3.dmg |
macOS installer (Apple Silicon + Intel) |
SHA256SUMS.txt |
SHA-256 checksums for verification |
Always verify the checksum before installing. This ensures the file has not been tampered with or corrupted during download.
# 1. Download both the .dmg and SHA256SUMS.txt from the Releases page
# 2. Verify the checksum
shasum -a 256 ZipherX-macOS-4.2.3.dmg
# 3. Compare the output with the hash in SHA256SUMS.txt
# The two hashes MUST match exactly. If they don't, do NOT install — re-download or report the issue.Get-FileHash ZipherX-macOS-4.2.3.dmg -Algorithm SHA256- Open the
.dmgfile (double-click) - Drag
ZipherX.appinto your/Applicationsfolder - Launch — Double-click
ZipherX.app. The app is code-signed and notarized by Apple, so Gatekeeper accepts it without warnings. - On first launch, ZipherX will download Sapling parameters (~50 MB) and a boost file (~2 GB) for fast sync. WiFi is recommended — on iOS, a cellular data warning is shown during the download. The download supports resume: if interrupted, it picks up from where it left off.
- Quit ZipherX
- Move
ZipherX.appfrom/Applicationsto Trash - Optionally remove application data:
WARNING: This deletes your wallet database. Export your spending key before removing data.
rm -rf ~/Library/Application\ Support/ZipherX/ rm -rf ~/Library/Application\ Support/ZipherXMac/
| Component | Minimum | Tested With |
|---|---|---|
| macOS | 13.0 (Ventura) | 15.6.1 (Sequoia) |
| Xcode | 15.0 | 16.4 (Build 16F6) |
| Swift | 5.9 | 6.1.2 |
| Rust | 1.75 | 1.93.1 |
| Command Line Tools | Required | xcode-select --install |
| Component | Minimum |
|---|---|
| iOS deployment target | 15.0 |
| Rust target | aarch64-apple-ios |
| Apple Developer Account | Required for device deployment |
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Add iOS target (for iOS builds)
rustup target add aarch64-apple-ios
rustup target add aarch64-apple-ios-sim
# Add macOS target (if cross-compiling)
rustup target add aarch64-apple-darwin
rustup target add x86_64-apple-darwinZipherX requires Sapling cryptographic parameters for zk-SNARK proof generation. These are downloaded automatically on first launch, or you can pre-download them:
| File | Size | SHA-256 (first 16 chars) | Purpose |
|---|---|---|---|
sapling-spend.params |
~47 MB | 8270785a1a0d0bc7... |
Spend proof generation (Groth16) |
sapling-output.params |
~3.5 MB | 657e3d38dbb5cb5e... |
Output proof generation (Groth16) |
Parameters are stored in ~/Library/Application Support/ZipherX/SaplingParams/.
# 1. Clone the repository
git clone https://github.com/ZipherPunk/ZipherX.git
cd ZipherX
# 2. Build the Rust FFI library
cd Libraries/zipherx-ffi
cargo build --release --target aarch64-apple-darwin
cd ../..
# 3. Open in Xcode
open ZipherX.xcodeproj
# 4. Select the "ZipherX" scheme and your target (My Mac)
# 5. Build and Run (Cmd+R)# 1. Clone the repository
git clone https://github.com/ZipherPunk/ZipherX.git
cd ZipherX
# 2. Build the Rust FFI library for iOS
cd Libraries/zipherx-ffi
cargo build --release --target aarch64-apple-ios
cd ../..
# 3. Open in Xcode
open ZipherX.xcodeproj
# 4. Select the "ZipherX" scheme and your iOS device
# 5. Configure signing (Signing & Capabilities > select your team)
# 6. Build and Run (Cmd+R)- SQLCipher: Pre-built xcframework is included in
Libraries/SQLCipher.xcframework/ - ZipherXFFI: Pre-built static library is included. To rebuild from source, use the Cargo workspace in
Libraries/zipherx-ffi/ - Boost Files: Downloaded automatically on first launch from the ZipherX CDN. Enables fast sync (~30 seconds vs ~5 minutes for full scan)
- Code Signing: The macOS target uses Hardened Runtime. For distribution, sign and notarize with your Apple Developer ID.
| Component | Version | Notes |
|---|---|---|
| ZipherX | 4.2.3 | This release |
| zipherx-ffi | 0.1.0 | Rust FFI — Sapling crypto, commitment tree, Groth16, Tor |
| SQLCipher | 3.46.1 (SQLite 3.45.3) | AES-256 encrypted database |
| Arti (Tor) | 0.37.x | Embedded Tor client (onion services, SOCKS5) |
| bellman | 0.14 | Groth16 zk-SNARK prover |
| jubjub | 0.10 | Jubjub elliptic curve (Sapling) |
| bls12_381 | 0.8 | BLS12-381 pairing (zk-SNARK) |
| zstd | 0.13 | Compression (boost file extraction) |
| Binary | Version | Path |
|---|---|---|
| zclassicd | v2.1.2-beta1 (ZipherX fork) | /usr/local/bin/zclassicd |
| zclassic-cli | v2.1.2-beta1 (ZipherX fork) | /usr/local/bin/zclassic-cli |
The ZipherX fork of Zclassic includes:
- Buttercup upgrade support (triple halving at block 707,000)
- Equihash (192,7) post-Bubbles (block 585,318)
- Protocol version 170009
- Sapling activation at block 476,969
These binaries are only required for Full Node Mode. P2P Mode works without them.
-
Create or Import Wallet
- New Wallet: Generates a new spending key secured by the device's Secure Enclave
- Import Wallet: Enter an existing spending key or seed phrase to restore your wallet
-
Initial Sync
- The app downloads a boost file (~1 GB) for fast synchronization
- Once synced, the wallet displays your shielded balance
- Subsequent launches sync incrementally (typically under 3 seconds)
- Tap Send from the main screen
- Enter the recipient's shielded address (
zs1...) or scan a QR code - Enter the amount in ZCL
- Optionally add an encrypted memo (up to 512 bytes)
- Review the transaction details and fee (default: 0.0001 ZCL)
- Authenticate with Face ID / Touch ID
- The transaction is built locally (Groth16 proof, ~2-4 seconds) and broadcast to the network
- Tap Receive from the main screen
- Share your shielded address or QR code with the sender
- Incoming transactions appear after 1 block confirmation (~75 seconds post-Buttercup)
ZipherX includes peer-to-peer encrypted messaging over Tor:
- Go to Chat from the main menu
- Enable Tor — Required for chat (all messages route through Tor hidden services)
- Add Contact — Share your onion address with the other party
- Send Messages — End-to-end encrypted with Curve25519 key agreement + ChaCha20-Poly1305
- Voice Calls — Encrypted peer-to-peer voice over Tor
- Send Payment Requests — Request ZCL directly in chat
- Profile Picture — Set in Chat Settings (iOS: from Photos, macOS: from file)
- Block Contacts — Right-click (macOS) or long-press (iOS) a contact to block
ZipherX can connect to a local Zclassic full node for enhanced security, full transaction history, and transparent address support. This mode requires running your own zclassicd daemon.
WARNING: Back up your existing
wallet.datand private keys BEFORE enabling Full Node mode. See Section "Backup Your Wallet Before Installation" in the disclaimer above.
| Requirement | Details |
|---|---|
| zclassicd | v2.1.2-beta1 (ZipherX fork) at /usr/local/bin/zclassicd |
| zclassic-cli | v2.1.2-beta1 (ZipherX fork) at /usr/local/bin/zclassic-cli |
| Blockchain data | ~/Library/Application Support/Zclassic/blocks/ (~5 GB) |
| zclassic.conf | Configuration file (auto-generated if missing) |
| zstd | Required for bootstrap extraction (brew install zstd) |
server=1
rpcuser=<your_username>
rpcpassword=<your_password>
rpcport=8023
rpcallowip=127.0.0.1
txindex=1
daemon=1ZipherX auto-generates RPC credentials on first setup if no config file exists.
- Install the daemon — Build from source or use the bootstrap installer in Settings > Full Node > Bootstrap
- Bootstrap the blockchain — Download via ZipherX (Settings > Full Node > Download Bootstrap) or sync from scratch
- Start the daemon — ZipherX can auto-start
zclassicd, or start it manually - Select Full Node mode — On launch, ZipherX detects the running daemon and offers to switch modes
Full Node mode supports two wallet sources:
| Source | Description |
|---|---|
| ZipherX Wallet (recommended) | Keys stay in Secure Enclave. Uses RPC for blockchain queries only. Single shielded address. |
| wallet.dat | Uses the daemon's built-in wallet. Supports multiple z-addresses and transparent (t-) addresses. Full RPC wallet operations. |
- Shielded transactions — Send/receive via
z_sendmanywith memo support - Transparent addresses — Full t-address support (send, receive, shield coinbase)
- Shield coinbase — Convert mining rewards from transparent to shielded (
z_shieldcoinbase) - Multiple addresses — Create and manage multiple z-addresses and t-addresses
- Transaction history — Complete paginated history with filtering (All / Shielded / Transparent)
- Key management — Export/import z-keys and t-keys with optional rescan
- Wallet encryption — Password-protect
wallet.datvia daemon - Daemon management — Start, stop, and monitor the daemon from the UI
- Blockchain explorer — View block headers, transaction details, network hashrate
- Tor integration — Configure SOCKS5 proxy for private peer connections
- Debug logging — Toggle debug categories (Network, Mempool, RPC, Tor)
- Wallet backup — Create timestamped backups of
wallet.datfrom the UI
| Parameter | Value |
|---|---|
| RPC Port | 8023 (default) |
| RPC Access | localhost only (127.0.0.1) |
| P2P Port | 8033 |
| Sapling Activation | Block 476,969 |
- Biometric Lock — Enable Face ID / Touch ID to protect wallet access
- Lock Timer — Auto-lock after inactivity (30s, 1m, 5m, 15m, or Never)
- PIN Backup — Set a PIN as fallback when biometrics are unavailable
Your spending key is the master secret for your wallet. If you lose it, your funds are unrecoverable.
- Go to Settings > Export Keys
- Authenticate with biometrics
- Copy or write down your spending key
- Store it securely offline (never screenshot, never share)
| Platform | Path | Contents |
|---|---|---|
| macOS | ~/Library/Application Support/ZipherX/ |
Wallet database, Sapling params, logs |
| macOS (Full Node) | ~/Library/Application Support/Zclassic/ |
Blockchain data, wallet.dat |
| iOS | App sandbox (managed by iOS) | Wallet database, Sapling params |
| Logs (macOS) | ~/Library/Application Support/ZipherX/Logs/zmac.log |
Debug log |
| Logs (iOS) | App sandbox Logs/z.log |
Debug log |
The status bar shows:
- Peers: Number of connected P2P peers (3+ recommended for consensus)
- Height: Current blockchain height vs. your synced height
- Tor: Connection status (required for chat and enhanced privacy)
┌─────────────────────────────────────────────────────────────┐
│ SwiftUI / AppKit UI │
│ ContentView · BalanceView · SendView · ChatView · Settings │
├─────────────────────────────────────────────────────────────┤
│ Swift Core Layer │
│ WalletManager · NetworkManager · FilterScanner · ChatManager│
├─────────────────────────────────────────────────────────────┤
│ Rust FFI (zipherx-ffi) │
│ Sapling crypto · Commitment tree · Groth16 · Tor (Arti) │
├─────────────────────────────────────────────────────────────┤
│ Storage Layer │
│ WalletDatabase (SQLCipher) · HeaderStore · DeltaCMUManager │
├─────────────────────────────────────────────────────────────┤
│ Network Layer │
│ P2P Protocol · Tor hidden services · DNS seed discovery │
└─────────────────────────────────────────────────────────────┘
| Component | Technology | Version |
|---|---|---|
| UI | SwiftUI (iOS + macOS) | Swift 6.1 |
| Crypto | Sapling / Groth16 zk-SNARKs | bellman 0.14 / jubjub 0.10 |
| Database | SQLCipher (256-bit AES) | 3.46.1 |
| Networking | P2P Bitcoin-based protocol | Protocol 170009 |
| Privacy | Tor (embedded Arti client) | 0.37.x |
| Key Storage | Secure Enclave (iOS/macOS) | Hardware-backed |
| Chat Encryption | Curve25519 + ChaCha20-Poly1305 | NaCl-compatible |
| Compression | zstd | 0.13 |
| Parameter | Value |
|---|---|
| Network | Zclassic Mainnet |
| Protocol Version | 170009 |
| Magic Bytes | 0x24 0xE9 0x27 0x64 |
| Default Port | 8033 |
| RPC Port | 8023 |
| Sapling Activation | Block 476,969 |
| Bubbles Activation | Block 585,318 |
| Buttercup Activation | Block 707,000 |
| Equihash (post-Bubbles) | (192, 7) — 400-byte solution |
| Block Spacing (post-Buttercup) | 75 seconds |
| Block Reward (post-Buttercup) | 0.78125 ZCL |
| Default Fee | 10,000 zatoshis (0.0001 ZCL) |
ZipherX has undergone a security audit (v4.2.3). Key security features:
- Secure Enclave — Spending keys stored in hardware-backed secure element
- SQLCipher — All database files encrypted with AES-256
- Tor — All P2P and chat traffic routed through Tor for IP privacy
- Groth16 zk-SNARKs — Zero-knowledge proofs for shielded transactions
- Multi-peer consensus — Requires 3+ peers to agree on chain state (anti-Sybil)
- Equihash PoW verification — Block headers verified using Equihash (192,7)
- Hardened Runtime — macOS builds use Hardened Runtime with full library validation and minimal entitlements. No JIT (
allow-unsigned-executable-memory) or library validation bypass entitlements. All frameworks statically linked and signed. - Send-path integrity firewall — Address fingerprint and transaction check (address + amount + fee) are snapshotted at confirmation and re-verified before signing. If anything changes between confirmation and broadcast, the wallet blocks the send. Defeats clipboard hijacking, look-alike address attacks, and amount/fee manipulation.
- Rate limiting — P2P message processing rate-limited to prevent DoS
- Input validation — All external inputs (addresses, amounts, P2P messages) validated. Non-ASCII characters rejected in addresses to prevent invisible character injection.
- Notarized — macOS builds are code-signed and notarized by Apple
- DYLD injection guard — macOS Release builds refuse to launch if dynamic library injection environment variables are detected (fail-closed)
For the full security audit report and entitlement details, see docs/SECURITY.md or the Releases page.
MIT License — See LICENSE for details.
Copyright (c) 2025-2026 Zipherpunk
ZipherX is provided as-is. Cryptocurrency transactions are irreversible. Always verify addresses before sending. The developers are not responsible for lost funds due to user error, software bugs, or network issues. Use at your own risk.
Built by @VicThor2013 | ZipherPunk | @ZipherPunk on X
Also see: ZipherX Multi (cross-platform: Android, Windows, Linux, macOS, iOS) | Quantum Threat Analysis
"Privacy is necessary for an open society in the electronic age." — A Cypherpunk's Manifesto