Grant Application — Nozy Sync Engine: public CompactTxStreamer in front of Zebrad

I submitted a ZCG application to put Nozy Sync Engine on a public endpoint.

Application: ZCG GitHub form fill - Nozy Sync Engine public ($45k) · Issue #455 · ZcashCommunityGrants/zcashcommunitygrants · GitHub
Ask: $45,000 · Infrastructure
Code: Nozy-wallet/nozy-sync-engine at master · LEONINE-DAO/Nozy-wallet · GitHub
Issue: Nozy Sync Engine: Zebra/Zakura ingest + LWD-compat CompactTxStreamer for Zeaking · Issue #274 · LEONINE-DAO/Nozy-wallet · GitHub

Light wallets do not talk to Zebrad directly. They talk to lightwalletd (CompactTxStreamer over gRPC). If you run your own Zebrad, you still have to run that second server.

Nozy Sync Engine is that second server, written in Rust, in our repo. It reads Zebrad or Zakura over JSON-RPC and serves the same CompactTxStreamer API Zeaking already uses. Point LIGHTWALLETD_GRPC at it. The wallet does not change.

That path already works on a local node. Phase 1 and 2 are in the repo: compact blocks, tip and range, treestate, subtree roots, and a SendTransaction proxy. We synced Zeaking through it against a live Zebrad and checked shielded compact output against zec.rocks. Write-up: Nozy-wallet/docs/reference/NOZY_SYNC_ENGINE_CASE_BREAKDOWN.md at master · LEONINE-DAO/Nozy-wallet · GitHub

This grant does not pay for that. It pays to run it as public light-client infrastructure:

  1. Staging — TLS, rate limits, health checks, operator config.
  2. Client gaps — the CompactTxStreamer calls Zeaking and Nozy mobile still need, with a sync log. Anything we do not implement stays explicitly unimplemented.
  3. Production URL — a public endpoint with monitoring and an uptime note.
  4. Shared-infra privacy — a zero-indexer in front of the engine, or a written gate if that tooling is not ready, plus copy that says what a public server does and does not hide.

Startup $5,000. Milestones $10k / $12k / $13k / $10k. Through April 2027. Full user stories and acceptance criteria are on the GitHub issue.

This is not a hosted wallet and not a Zebrad replacement. Keys stay on the user’s device. A public sync server is not the Nym mixnet; the proposal says that in plain language.

Please review the issue and comment here or on GitHub. I will answer questions on the thread.

Lowo88
LEONINE DAO · NozyWallet

3 Likes

FYI, Zebra is experimenting offering a lightwalled server built-in.

Not sure I see the difference from the other implementations of lightwalletd…

I’m ready to go with mine Hanh. I’m running off no funding here trying my best to stay in the game and keep the lights on. @hanh will I be able to do the audit soon?

1 Like

This is very random but we’re writing the bridge frontend for We just did a fully trustless shielded ZEC to EVM atomic swap with no new signing primitives! And yes, it is programmable and the issue is Tatum is rate-limiting us like hell. I would really appreciate it if you could point us to some Zebrad nodes that have JSON-RPC and don’t ask us to pay $99- @Lowo88

1 Like

I’ll love to do for free, once funding come building would be a little easier.

I wish ZF would pick me back when I ran late November in 24 this would be good stuff here. Just random thought

Hello ZCG,

thank you for the review, and thank you Hanh for pointing at Zebra’s light-client server. I am grateful for any support ZCG can give this work.

Yes @hanh you are right that Zebra 6.4 can already serve CompactTxStreamer as an experiment. Zebra’s docs say not to depend on that for a public service yet: it is plaintext, and it has not been tested against the mobile light-client SDKs. This grant is the operated public endpoint in front of Zebrad, with TLS, rate limits, health checks, and compact history from Ironwood (NU6.3, height 3,428,143), so light wallets can sync while keys stay on the device.

One budget correction: the ask is still $45,000. Milestone 1 is now $5,000, not $10,000, so startup plus the four milestones adds up. The updated schedule is on the GitHub issue: ZCG GitHub form fill - Nozy Sync Engine public ($45k) · Issue #455 · ZcashCommunityGrants/zcashcommunitygrants · GitHub

Thank you for submitting your proposal. Following a thorough review by the ZCG and a period for community feedback on the forum, the committee has decided not to move forward with this proposal.

We sincerely appreciate the time and effort you invested in your application and encourage you to stay involved and continue contributing to the Zcash community. Further details available here: Minutes

2 Likes

Thanks for the review, I will keep building and shipping into next time ZCG.