A clearer view of Zcash.
Mainnet β’ Testnet β’ API Docs β’ Learn Zcash
- About
- Features
- Explorer Links
- Quick Start
- Tech Stack
- Public Infrastructure
- API Documentation
- Configuration
- Contributing
- Support the Project
- License
ZecBlock, formerly CipherScan, is a Zcash blockchain explorer built by Atmosphere Labs. Explore public transactions, blocks, shielded pool balances, network observations and tools for understanding Zcash.
The same explorer project continues under a new name and design. The source repository is Kenbak/zecblock; existing API and lightwalletd hostnames are retained for compatibility. ZecBlock launched on mainnet and testnet on October 1, 2026. Previous explorer website addresses redirect to the corresponding ZecBlock site.
Shielded transfer details are not publicly visible. Aggregate pool flows and transaction patterns do not identify users or prove that coins were sold.
Mission: Make the Zcash blockchain accessible to everyone, not just developers.
| Feature | Description |
|---|---|
| Search | Find addresses, transactions and blocks |
| Balances | View public address activity and transparent balances |
| Block Explorer | Navigate blocks and publicly visible transaction details |
| Mempool Viewer | Real-time pending transactions |
| Live Updates | WebSocket for real-time block notifications |
| CSV/JSON Export | Export address, block, and transaction data from the UI |
| Fork Watch | Chain reorganizations and orphaned block comparison |
| Feature | Description |
|---|---|
| Privacy Dashboard | Observed shielded participation and transaction patterns |
| Pool Analytics | Per-pool supply, shield/deshield flows, and deltas |
| Turnstile Tracker | Follow observable outputs after deshielding, with coverage and attribution limits |
| Decrypt Memos | Client-side Orchard memo decryption (WASM) |
| Privacy Risks | Heuristic checks for observable transaction patterns |
| Browser-local decryption | Memo/inbox tools process viewing keys in the browser; blockchain requests still reach data services |
| Feature | Description |
|---|---|
| ZEC Flows | Real-time cross-chain swaps via NEAR Intents |
| Inflows/Outflows | Explore supported cross-chain swaps involving ZEC |
| 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 | Responsive layouts for smaller screens |
| Feature | Description |
|---|---|
| API Documentation | Versioned endpoint reference, parameters and examples at /docs |
| Public Infrastructure | lightwalletd gRPC and explorer REST endpoints |
| Deployment Guide | Operational docs in DEPLOYMENT.md |
| Network | URL |
|---|---|
| Mainnet | zecblock.com |
| Testnet | testnet.zecblock.com |
- Node.js 22.14.x (see
.node-version) - npm or yarn
- PostgreSQL (optional, for full indexer)
For local development, the loopback v1 adapter reads public mainnet data. It is not a production API service.
# Clone the repository
git clone https://github.com/Kenbak/zecblock.git
cd zecblock
# Install dependencies
npm ci
# Install the API adapter dependencies
npm ci --prefix server/api
# Terminal 1: local mainnet v1 adapter on 127.0.0.1:3002
npm run dev:v1
# Terminal 2: mainnet frontend on http://localhost:3000
NEXT_PUBLIC_NETWORK=mainnet \
NEXT_PUBLIC_API_URL=http://127.0.0.1:3002 \
CIPHERSCAN_API_URL=http://127.0.0.1:3002 \
npm run dev# Set the intended network and verified API origins before building.
npm run build
npm startCopy the relevant settings from .env.example. NEXT_PUBLIC_* values are embedded at build time. Do not promote a build configured with loopback URLs to production. Testnet uses separate data and API origins; the local adapter above is mainnet-only.
# Fast lint, design-token, and TypeScript checks
make verify-fast
# The full local contract used by CI (all subprojects/toolchains)
make verify-full
# Optional responsive/light-dark browser audit
npx playwright install chromium # once per machine
npm run visual:audit # run while the app is serving on port 3000| Layer | Technology |
|---|---|
| Frontend | Next.js 16, React 19, TypeScript |
| Styling | Tailwind CSS |
| Database | PostgreSQL |
| API Server | Express.js + WebSocket |
| Cryptography | Rust + WebAssembly |
| Zcash Node | Zakura / Zebra-compatible node integration |
Existing service addresses are retained during the rebrand. Website redirects do not replace API or gRPC endpoints. Check service availability before integrating; this list does not certify current uptime.
| Service | Endpoint |
|---|---|
| Lightwalletd gRPC | lightwalletd.mainnet.cipherscan.app:443 |
| REST API | https://api.mainnet.cipherscan.app/api/* |
| Service | Endpoint |
|---|---|
| Lightwalletd gRPC | lightwalletd.testnet.cipherscan.app:443 |
| REST API | https://api.testnet.cipherscan.app/api/* |
The redesigned reference is at zecblock.com/docs, with the contract in public/openapi-v1.json.
Public v1 access at https://api.zecblock.com/v1 is a separate launch gate: verify authentication, CORS and WebSocket access before switching clients. Keep existing consumers on their working endpoints until then.
// 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 limits: Deployment-specific. Successful responses expose standard
rate-limit headers; clients should honor those headers and Retry-After on
HTTP 429 responses.
The redesigned frontend consumes /v1 endpoints. Use the local adapter above for the staged preview, or configure a verified v1 deployment. Running
against a custom node requires the Express API and indexer; configure those
services using DEPLOYMENT.md rather than placing node RPC
credentials in the browser-facing frontend environment.
See GitHub Issues for upcoming features and improvements.
Release scope and availability are tracked in issues and release notes; this README does not promise dates for unreleased features.
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style
- Write meaningful commit messages
- Add tests for new features when applicable
- Update documentation as needed
ZecBlock is free, source-available, and community-driven. If you find it useful, consider supporting development:
u1fh3kwyl9hq9q907rx9j8mdy2r7gz4xh0y4yt63dxykk2856gr0238vxsegemyfu8s5a77ycq72tcnzkxa75ykjtcn6wp2w9rtuu3ssdzpe2fyghl8wlk3vh6f67304xe4lrxtvywtudy5t434zc07u6mh27ekufx7ssr55l8875z7f4k76c3tk23s3jzf8rxdlkequlta8lwsv09gxm
This is a Unified Address. Use a wallet that supports shielded transfers and check the selected receiver before sending.
Your support helps us:
- Keep the infrastructure running 24/7
- Add new features and improvements
- Maintain free public APIs for developers
The redesigned application limits analytics to selected public landing pages, strips query strings and fragments, and honors Do Not Track and Global Privacy Control. Individual address, transaction and block pages, Ask and sensitive tools are excluded from that analytics integration.
- Viewing-key processing in memo/inbox tools runs in the browser. Requests for blockchain data still reach the services supplying it.
- Preferences and custom address labels use browser storage. They do not automatically move between domains.
- Hosting, API and security providers process connection information and may retain operational logs. We do not promise zero logging or zero retention.
- When AI is enabled, Ask sends questions and relevant context to the configured provider. Never enter private keys, recovery phrases or viewing keys into Ask, search or support messages.
See the privacy policy and terms for details. These describe the rebrand release; deployment status must be verified separately.
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
- Zcash Foundation β Zebra node
- Electric Coin Company β librustzcash
- NEAR Protocol β Cross-chain intents
- Zingo Labs β zingolib inspiration
Built with β‘ for the Zcash community
GitHub β’ @zecblock on X β’ Discord β’ Forum