Grant Proposal: Develop a Go interface to state-of-the-art Zcash light-wallet tech

I’ve submitted a grant application to Zcash Community Grants and I would appreciate the community’s review and feedback.

GitHub application: Develop a Go interface to state-of-the-art Zcash light-wallet tech · Issue #501 · ZcashCommunityGrants/zcashcommunitygrants · GitHub

Summary

We’re building a Zcash light-wallet Go module: an idiomatic Go interface over an FFI binding to librustzcash, with function signatures and lifecycle management that Go programmers will find familiar. Any Go project can import it, and it’s free to use under the MIT license.

This is, roughly speaking, an analogue of zcash/zcash-android-wallet-sdk

We’ll also build a command-line JSON-RPC wallet on top of the module, both as a demonstration and as a useful tool in its own right.

  • Ironwood-first. The first consumer is Caribou, our multi-wallet, where Zcash will be a usable and tradeable asset (Caribou supports NEAR Intents).
  • A wrapper, not a reimplementation. Earlier Go proposals (#133, #191) proposed a full Go Zcash implementation with an FFI as a byproduct. This project is a Go interface to the battle-tested librustzcash codebase.
  • Platforms: Linux, Windows, macOS, Android, and iOS, with uniffi-bindgen-go generating the bindings.

Why

There are Go wallet implementations for all the major UTXO-based blockchains except Zcash. Anyone who wants to add Zcash functionality to a Go project has no reasonable path forward today. We aim to fix that.

Team

  • Brian Stafford (buck54321), lead. Lead developer of Bison Wallet / DCRDEX, where I built and maintained a Zcash wallet integration (GUI and backend). 766 merged PRs since 2018, including 493 in DCRDEX; creator of TinyDecred.
  • Joe (JoeGruffins), advisor and code reviewer, with mobile development expertise. 615 merged PRs since 2019 across the Decred ecosystem, Caribou, and mobile wallets including Cake Wallet.
  • Donald (dnldd), critical review of all proposed code. 510 merged PRs, including 193 in Decred’s full node (dcrd), 157 in dcrpool (top contributor), 56 in dcrwallet, and 49 in Caribou.

Approach

I define the architecture and get sign-off from my co-developers, then write the code by hand and with AI assistance. Every change goes through review rounds with the team until it reaches a secure, polished state, and documentation is thorough.

Milestones and budget

Milestone Scope Amount (USD) Due
M1 FFI bindings, regtest network, automated testing framework, database interface, documentation $13,200 2026-12-11
M2 Light wallet: create/open/restore, sync, cancellation, balances, basic sends $11,800 2027-01-08
M3 Complete Go API: migration into Ironwood, PCZT, ZIP-321, history; unit and regtest integration suites $12,700 2027-02-05
M4 Mainnet hand testing, command-line wallet with JSON-RPC, platform-specific build scripts, v1.0.0 $10,300 2027-03-15
Total $48,000

Paid per milestone on completion. No startup funding, and no hardware, software, or service costs.

Success metrics

Unit tests, regtest-based integration tests, and hand testing all pass. After final delivery, user-reported issues will be handled promptly for at least one year.

Questions, critiques, and suggestions are welcome here or on the GitHub issue.

I’m in the market for external validators. If anybody can make a suggestion, I would appreciate it.

Donald here, I’ll be working with Buck on getting this done. Looking forward to getting started, it should be a great resource for the community.

I’ve been working with these guys for years. The job will be done as outlined but input is also welcome. We look forward to improving the Zcash ecosystem and crypto as a whole.

I can expand on the milestones, if needed.

Thanks for bringing this proposal to ZCG. After deliberation and time set aside for the community to weigh in, the committee has elected not to advance it. We recognize the work behind your submission and encourage you to keep contributing to Zcash.

The committee’s discussion is recorded here: Zcash Community Grants Meeting Minutes 11/9/2026