Skip to content

Kenbak/cipherscan

Repository files navigation

CipherScan Logo

CipherScan

⚑ The Privacy-First Zcash Blockchain Explorer

Mainnet β€’ Testnet β€’ API Docs β€’ Learn Zcash

Next.js 15 TypeScript Rust WASM License AGPL v3 + Commons Clause


πŸ“– Table of Contents


🎯 About

CipherScan is a blockchain explorer for Zcash that makes privacy technology accessible to everyone. No jargon, no confusion β€” just clear, simple explanations of what's happening on-chain.

Mission: Make the Zcash blockchain accessible to everyone, not just developers.


✨ Features

πŸ” Core Explorer

Feature Description
Search Find addresses, transactions, and blocks instantly
Balances View transaction history and balances
Block Explorer Navigate blocks with full transaction details
Mempool Viewer Real-time pending transactions
Live Updates WebSocket for real-time block notifications

πŸ›‘οΈ Privacy Tools

Feature Description
Privacy Dashboard Real-time shielded adoption metrics
Decrypt Memos Client-side Orchard memo decryption (WASM)
Privacy Risks Round-trip transaction linkability detection
100% Private Viewing keys never leave your browser

πŸ”— Cross-Chain

Feature Description
ZEC Flows Real-time cross-chain swaps via NEAR Intents
Inflows/Outflows Track ZEC moving to/from BTC, ETH, SOL + 15 chains

πŸ“š Education & UX

Feature Description
Learn Zcash Comprehensive guide to addresses, viewing keys, wallets
Address Labels Tag addresses with custom labels (localStorage)
Light/Dark Mode Theme toggle with system preference support
Mobile Responsive Full mobile support

πŸ”§ Developer Tools

Feature Description
API Documentation Interactive REST API docs at /docs
Public Infrastructure Free Lightwalletd gRPC + REST API

🌐 Live Demo

Network URL
Mainnet cipherscan.app
Testnet testnet.cipherscan.app

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn
  • PostgreSQL (optional, for full indexer)

Installation

# Clone the repository
git clone https://github.com/Kenbak/cipherscan.git
cd cipherscan

# Install dependencies
npm install

# Run development server
npm run dev

# Open http://localhost:3000

Production Build

npm run build
npm start

πŸ—οΈ Tech Stack

Layer Technology
Frontend Next.js 15, React 19, TypeScript
Styling Tailwind CSS
Database PostgreSQL
API Server Express.js + WebSocket
Cryptography Rust + WebAssembly
Zcash Node Zebra

πŸ”Œ Public Infrastructure

CipherScan provides free public infrastructure for Zcash developers:

Mainnet

Service Endpoint
Lightwalletd gRPC lightwalletd.mainnet.cipherscan.app:443
REST API https://api.mainnet.cipherscan.app/api/*

Testnet

Service Endpoint
Lightwalletd gRPC lightwalletd.testnet.cipherscan.app:443
REST API https://api.testnet.cipherscan.app/api/*

πŸ“– API Documentation

Full interactive documentation available at cipherscan.app/docs

Quick Examples

// Fetch block data
const block = await fetch('https://api.mainnet.cipherscan.app/api/block/2500000');
const data = await block.json();

// Fetch privacy stats
const stats = await fetch('https://api.mainnet.cipherscan.app/api/privacy-stats');
const privacy = await stats.json();
import requests

# Fetch mempool
response = requests.get('https://api.mainnet.cipherscan.app/api/mempool')
print(f"Pending transactions: {response.json()['count']}")

Rate Limit: 100 requests/minute per IP


βš™οΈ Configuration

The app works out of the box with public endpoints. For custom Zcash node:

# .env.local
ZCASH_RPC_URL=http://localhost:8232
ZCASH_RPC_USER=your_username
ZCASH_RPC_PASSWORD=your_password

πŸ“‹ Roadmap

See GitHub Issues for upcoming features and improvements.

Coming soon: Sapling memo decryption, batch transaction scanning, CSV export.


🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow the existing code style
  • Write meaningful commit messages
  • Add tests for new features when applicable
  • Update documentation as needed

β˜• Support the Project

CipherScan is free, source-available, and community-driven. If you find it useful, consider supporting development:

Zcash Donation Address (Shielded)

u1fh3kwyl9hq9q907rx9j8mdy2r7gz4xh0y4yt63dxykk2856gr0238vxsegemyfu8s5a77ycq72tcnzkxa75ykjtcn6wp2w9rtuu3ssdzpe2fyghl8wlk3vh6f67304xe4lrxtvywtudy5t434zc07u6mh27ekufx7ssr55l8875z7f4k76c3tk23s3jzf8rxdlkequlta8lwsv09gxm

πŸ›‘οΈ This is a Unified Address β€” your donation is private and encrypted.

Your support helps us:

  • Keep the infrastructure running 24/7
  • Add new features and improvements
  • Maintain free public APIs for developers

πŸ” Privacy Principles

CipherScan is built with privacy-first principles:

Principle Implementation
No Tracking No Google Analytics or third-party trackers
No IP Logging Aligned with Zcash privacy values
No Cookies No unnecessary data collection
Client-Side Decryption Viewing keys never leave your browser
Source Available Verify our privacy claims yourself

πŸ“„ License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) with the Commons Clause restriction β€” see the LICENSE file for details.

What this means:

  • βœ… You can view, fork, and modify the code
  • βœ… You must share your modifications under the same license
  • ❌ You cannot sell this software or offer it as a paid service

πŸ™ Acknowledgments


Built with ⚑ for the Zcash community

GitHub β€’ Discord β€’ Forum

About

Zcash blockchain explorer. Privacy meets transparency.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published