Hello everyone,
I am submitting a proposal to Zcash Community Grants (ZCG) that aims to develop a reusable, read-only Zcash Activity Scanner and Semantics Layer for developers and infrastructure projects.
## Project Overview
This project proposes a **reusable, read-only Zcash Activity Scanner and Semantics Layer** that provides reliable, standardized activity summaries for Transparent, Sapling, and Orchard pools using viewing keys only. It is designed as a **common infrastructure component** for developers, service providers, custodial platforms, audit tools, and analytics systems.
The scanner is not a wallet, does not support transaction creation or private key management, and focuses exclusively on **observation, semantic interpretation, and data export**.
## Motivation
Many applications and servicesâincluding merchant services, custodial systems, reconciliation workflows, and analytics deploymentsârequire accurate access to account activity data (e.g., balances, transaction details, confirmation status, shielding/deshielding events, memo decoding). However:
- There is currently **no standardized, reusable, open-source component** dedicated to this purpose.
- Projects often re-implement complex scanning logic or embed full wallet code, increasing security surface and engineering cost.
- Different implementations produce inconsistent interpretations of activity semantics
This leads to duplicated effort, increased risk, and inconsistent user experience across the ecosystem.
## High-Level Technical Approach
The solution consists of:
- A **Rust core library** exposing a read-only scanning API for Transparent, Sapling, and Orchard pools.
- A **semantics layer** that turns raw scan events into stable activity summaries, including direction, net value, confirmation status, and more.
- A **standalone CLI tool** for operational scanning and data export in standardized formats (CSV/JSON).
- Conformance testing and documentation to ensure correctness and reproducibility across reorgs and edge cases.
Dependencies are limited to existing Rust libraries (e.g., librustzcash) and a running local data source such as Zebra RPC or lightwalletd gRPC.
## Deliverables & Milestones
This proposal is structured around clearly defined milestones, each with concrete deliverables, acceptance criteria, and testable success conditions. These range from basic transparent scanning infrastructure and incremental sync to full multi-pool support, semantics interpretation, documentation, and stabilization.
## Proposal Details
Full proposal details, including milestones, budget breakdown, and acceptance criteria, are available here:
## Request for Feedback
I would welcome community feedback on:
Thank you for your time and input!