[Grant Application] create-zcash-app: Zero-to-Shielded Browser Scaffolder & Developer Toolkit

Project Information


1. Executive Summary & Problem

Building privacy-preserving client-side web applications on Zcash is historically fraught with friction for frontend and TypeScript developers. Without deep protocol engineering expertise, over 95% of web developers abandon Zcash integration due to three structural barriers:

  1. The WASM & Multi-Threading Isolation Wall: Halo 2 client-side proving requires Web Workers and SharedArrayBuffer. Modern browsers crash or disable multi-threading unless strict HTTP headers (Cross-Origin-Opener-Policy: same-origin and Cross-Origin-Embedder-Policy: require-corp) are configured properly.
  2. The Historical Scan Trap: Naive client setups attempt to scan from genesis or older blocks, locking IndexedDB and the main UI thread in a 30+ minute loop before a developer can test their first interaction.
  3. Absence of Modern Scaffolding Tooling: While ecosystems like Ethereum and Solana thrive on one-command generators (create-wagmi, create-solana-dapp), Zcash has lacked an official, zero-config CLI that scaffolds a working frontend with pre-wired RPC connections, Unified Address utilities, and shielded UI components.

create-zcash-app solves this by delivering an interactive, zero-config scaffolding CLI and client SDK that packages modern Zcash browser proving into an intuitive, one-command pipeline.


2. What Has Already Been Built (Phase 1 Baseline — 100% Complete)

Unlike speculative proposals, create-zcash-app already has an empirically verified, working monorepo at github.com/Anekenonso/create-zcash-app:

  • Turnkey Multi-Threading: Automated COOP/COEP presets preventing browser worker crashes during Halo 2 proof generation.
  • Tip-Anchored Sync (< 3s): Ultra-fast synchronization anchored to recent checkpoint heights.
  • Key Derivation & Halo 2 Prover: BIP-39 mnemonic generation, ZIP 32 Unified Address (UA) derivation, and client-side proof generation on Testnet.
  • Empirical Benchmark Suite: 3 clean-room benchmark trials documenting setup times (Median: 53.74s, beating the industry 10-minute setup standard by 91%), failure injection suites, and load-bearing ablation tests in the repository’s /evidence directory.
  • Working CLI Engine: Interactive CLI prototype (packages/create-zcash-app) scaffolding Vite + React templates.

3. Scope of Grant Funding (Phase 2)

This grant will fund the transition of this working vertical slice into a fully productionized, ecosystem-wide tool:

  1. Global NPM Release: Formally publish and maintain create-zcash-app on the public npm registry under automated semver releases and zero-vulnerability audit gates.
  2. Multi-Framework Templates: Add a native Next.js 15 (App Router) template alongside the existing Vite + React template, featuring automated server/client boundary handling for WASM.
  3. Mainnet & Multi-RPC Failover: Extend client transport to Mainnet with an automated fallback pool across public lightwalletd nodes to eliminate RPC downtime.
  4. Headless React SDK & UI Kit: Provide reusable React hooks (useZcashSync, useUnifiedAddress, useShieldedTransaction) and accessible Tailwind/shadcn components.
  5. Interactive Playground & Documentation: Launch a hosted Vercel playground and comprehensive tutorial portal to onboard hackathon builders and teams into shielded Zcash development.

4. Milestone Schedule & Budget Breakdown

Total Budget: $10,000 USD (Equated in ZEC at time of disbursement)

Milestone 1: Production NPM Release & Next.js 15 Template

  • Amount (USD): $3,500
  • Expected Completion Date: 3 weeks from grant approval
  • Deliverables:
    • Official NPM Package: Formally publish create-zcash-app to the public npm registry with zero security vulnerabilities (audit-ci).
    • Next.js 15 (App Router) Template: Production-ready template with automated WebAssembly chunking and COOP/COEP server headers configured in next.config.js.
    • Enhanced Interactive CLI: Interactive prompts for template selection (--template nextjs|vite), package manager auto-detection (npm, pnpm, yarn, bun), and zero-config project setup.
    • Automated Cross-Platform CI: GitHub Actions test matrix validating CLI scaffolding and builds across Ubuntu, macOS, and Windows environments.

Milestone 2: Mainnet Multi-RPC Failover & Headless React SDK

  • Amount (USD): $3,500
  • Expected Completion Date: 6 weeks from grant approval
  • Deliverables:
    • Mainnet & Testnet Support: Dynamic network switcher allowing developers to seamlessly build against Zcash Mainnet or Testnet.
    • Multi-RPC Failover Pool: Resilient lightwalletd connection manager with latency monitoring and automatic failover to prevent single-point-of-failure outages.
    • Headless React Hooks SDK (@create-zcash-app/react): Modular React hooks including useZcashSync, useUnifiedAddress, and useShieldedTransaction.
    • Accessible UI Component Kit: Pre-built Tailwind/shadcn components (Unified Address QR codes with Orchard/Sapling badge tags, fee estimators, and transaction progress modals).

Milestone 3: Hosted Interactive Playground, Documentation & Community Launch

  • Amount (USD): $3,000
  • Expected Completion Date: 8 weeks from grant approval
  • Deliverables:
    • Hosted Interactive Demo Application: Production playground deployed on Vercel allowing any developer to test client-side key derivation, tip syncing, and testnet transactions directly in the browser.
    • Comprehensive Developer Portal: Full documentation covering quickstart guides, architecture deep-dives, API references, and WASM troubleshooting.
    • 10-Minute Video Tutorial: Step-by-step developer video walkthrough demonstrating scaffolding an app from scratch to broadcasting a live testnet shielded transaction.
    • Community Release & Support: Active onboarding support on the Zcash Community Forum and Discord.

We welcome feedback, suggestions, and questions from the ZCG committee and the wider community!

1 Like