Hi all,
I’ve submitted a ZCG grant application and wanted to share it here for community feedback, as required before ZCG can discuss and vote on it.
GitHub issue: github
Summary
The Zcash Foundation has already built and partially audited (NCC) a full FROST threshold signature stack for Zcash — frost-core, the RedPallas ciphersuite (reddsa), and reference tooling (frostd, frost-client). ZF’s own writeup on the state of FROST for Zcash says the next step is for wallets to integrate FROST using these tools directly or as reference. But that tooling is protocol-level: a wallet developer who wants to add threshold-signed shielded addresses today has to understand FROST’s round structure, key-package handling, and Zcash’s rerandomization requirements (ZIP 312) before writing a single line of integration code.
I’m proposing a small, standalone Rust SDK that sits on top of ZF’s existing crates and exposes a minimal high-level API ,generate a threshold key group, start a signing session, submit a share so wallet teams can add multi-party shielded custody without becoming FROST experts first. It doesn’t reimplement any cryptography; it wraps what ZF already shipped and adds the ergonomics and network resilience (retry/backoff/circuit-breaking around frostd sessions) that a production wallet integration needs.
Why this and not a from-scratch FROST implementation
I want to be upfront that my first instinct going into this was to propose building FROST support from scratch I caught that this duplicates ZF’s already-audited work, and pivoted to the integration-layer gap instead, which is where ZF has explicitly said help is still needed.
Scope
- $22,000 total, 3 milestones over 3 months
- Standalone crate, no dependency on any specific wallet’s codebase or maintainer buy-in
- Deliverables: key generation wrapper, signing session wrapper with resilience patterns, full docs + CLI example + published crate
Background
I’m a systems engineer with 6+ years of production Rust/C++ experience in distributed systems and protocol engineering (former CTO at StreamLivr, published crates including circuit_breaker, rate_rs, daemon_rs, agenticrs).
Feedback welcome, especially from anyone closer to frostd/frost-client or wallet teams (Zashi, YWallet, etc.) on whether the proposed API surface is actually the right shape for real integration work.
Thanks, Mahmud (@mahmudsudo)