Zcash Shielded Viewer
A modern, lightweight desktop application for managing and viewing Zcash (ZEC) shielded transaction history.
Version 0.1.0 • ~8MB • Open Source
Why is this a desktop app?
Zcash is a privacy chain requiring complex cryptography. Integrating full shielded support directly into a web browser is challenging due to WASM limitations and dependency issues with zingolib and webzjs. This desktop application bypasses those limitations by running a native Rust backend, ensuring secure and reliable synchronization with the Zcash network.
Fast "Light Wallet" Sync
Connects to public lightwalletd servers to sync only data relevant to your keys. Supports "Wallet Birthday" scanning to skip years of history and sync in seconds, unlike full nodes that require 300GB+ of storage.
Privacy First
Uses Zcash's zero-knowledge proof technology (via zingolib) to view shielded balances and transactions securely. Your viewing keys never leave your local machine.
Dual Network Support
Switch instantly between Testnet (safe for testing) and Mainnet (real funds) with completely separated databases. The backend instantly swaps context to prevent mixing.
Detailed Analytics
View Total Inflow vs. Outflow, inspect raw Transaction IDs (TXID) and Memos, and access raw backend logs for developer verification.
How to Use
Install & Launch
Download and install the application for your operating system. Upon launching, you'll be greeted by the landing page. Here you can choose your network (Mainnet or Testnet) and prepare to import your viewing key.

Configure & Sync
Enter your Unified Full Viewing Key (UFVK) and the Wallet Birthday Block height. Click "Sync" to start the process. The app will connect to a lightwalletd server and securely scan for your transactions without exposing your private spending keys.

View Details
Once synced, you'll see a high-level summary of your wallet history. Click on any inbound transaction to view extra details, including memos and raw transaction data.

Under the Hood
The "Lazy Sync" Fix
Implements a "Nuclear Option" logic: when requesting a scan from Block 0, the backend automatically deletes the local database to force a clean, cryptographic re-verification, ensuring no transaction is missed.
The Dependency Patch
Solves version conflicts by patching Cargo.toml to redirect all Zcash library requests to a specific commit hash (3ba772c9b8) compatible with the bleeding-edge zingolib.
Hybrid Architecture
Frontend: React (Vite + TypeScript) for UI.
Backend: Rust (Tauri v2) using zingolib and librustzcash for core logic.
This project is open-source and intended for educational and personal use.
Disclaimer: Zcash privacy relies on complex cryptography. While this viewer uses official libraries, always exercise caution when handling real funds and viewing keys.