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

1

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.

Zcash Shielded Viewer Landing Page
2

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.

Zcash Shielded Viewer Sync Configuration
3

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.

Zcash Shielded Viewer Transaction Details

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.