Application Owners (@Octocat, @Octocat1)
@AryanJ-NYC
Organization Name
WeaveCash
How did you learn about Zcash Community Grants
Community forums and ecosystem research during WeaveCash development
Requested Grant Amount (USD)
$48,000
Category
Wallets
Project Lead
Name: Aryan Jabbari
Role: CTO, WeaveCash
Background: Software engineer and creator of WeaveCash, a crypto-to-crypto payments platform using NEAR Intents for cross-chain settlement. Built and shipped the WeaveCash OpenClaw Agent Skill (clawhub.ai/AryanJ-NYC/weave). Proficient in TypeScript, Next.js, Go, and full-stack web development.
Responsibilities: Architecture design, core development, Rust sidecar integration, testing, and documentation.
Additional Team Members
Name: Chris Tramount
Role: Business Development
Responsibilities: Merchant onboarding, ecosystem partnerships, go-to-market strategy, and community outreach.
Project Summary
weave-zec is an open-source, non-custodial shielded Zcash payment module for WeaveCash. It enables merchants and AI agents to receive private ZEC payments by providing a Unified Full Viewing Key (UFVK) or Unified Incoming Viewing Key (UIVK) from their existing wallet. weave-zec derives rotating shielded addresses per transaction, monitors for incoming payments via lightwalletd, and confirms receipt, all without holding merchant funds or spending keys.
The project has two components: (1) a lightweight Rust sidecar service (weave-zec-node) that wraps the librustzcash SDK for UFVK import, address derivation, and payment scanning, and (2) a TypeScript integration layer that connects it to WeaveCash’s existing Next.js invoice system and Defuse/NEAR Intents settlement pipeline. Both components will be fully open-source and designed for reuse by any payment platform in the Zcash ecosystem.
Because WeaveCash already has an OpenClaw agent skill, weave-zec enables AI agents to autonomously invoice and settle in shielded ZEC. Agents that need private treasury management or private payments between services can save in shielded ZEC rather than transparent on-chain assets, bringing Zcash’s privacy guarantees into the emerging agentic economy.
Project Description
WeaveCash (weavecash.com) is a crypto-to-crypto payments platform. Accept any crypto. Store your value. The buyer pays in any coin; the merchant receives their preferred coin, instantly, via NEAR Intents.
WeaveCash also provides an OpenClaw agent skill so AI agents can autonomously send invoices paid in any coin and receive settlement in their preferred coin. The platform is live today with an existing invoice system, payment flow, and Defuse/NEAR Intents settlement pipeline.
Invoice source code: GitHub - AryanJ-NYC/weave-cash · GitHub (AGPL-3.0)
Proposed Problem
Zcash has best-in-class on-chain privacy, but merchant adoption is bottlenecked by the absence of non-custodial payment infrastructure. Bitcoin solved this years ago with BTCPay Server (xpub import, address derivation, payment monitoring). Zcash has no equivalent, despite the SDK primitives being available in librustzcash.
This gap means merchants either sacrifice privacy, give up custody, or don’t accept ZEC at all. Zodl has proven rotating shielded addresses work on the consumer side. The merchant side needs the same treatment.
Proposed Solution
Build weave-zec as open-source infrastructure that makes merchant acceptance of shielded ZEC as simple as pasting a viewing key. The Rust sidecar handles cryptographic complexity while integrating cleanly with WeaveCash’s existing TypeScript/Next.js payment flow.
WeaveCash will be the first production deployment, providing immediate real-world validation. The NEAR Intents integration means merchants and agents can receive shielded ZEC but settle in USDC, removing ZEC price volatility as an adoption barrier while preserving payment privacy.
Solution Format
The grant produces two open-source deliverables, structured so the core infrastructure is reusable across the entire Zcash ecosystem:
- weave-zec-node (Rust, MIT licensed): A standalone, platform-agnostic Rust HTTP service wrapping librustzcash. Handles UFVK/UIVK import, rotating shielded address derivation, payment monitoring via lightwalletd, and webhook-based payment confirmation. Packaged as a Rust crate, standalone binary, and Docker container. Any developer can run it alongside their existing stack without Rust knowledge.
- WeaveCash integration (TypeScript, AGPL-3.0 matching existing repo): A complete reference implementation showing how to connect weave-zec-node to a real payment system. Includes TypeScript client library, Next.js API routes, Prisma schema additions for merchant UFVK storage and ZEC payment trac
Dependencies
- zcash_client_backend (v0.21+) - core wallet logic, UFVK import, address derivation
- zcash_client_sqlite - persistent storage for watch-only accounts
- zcash_keys - UFVK/UIVK parsing and validation
- lightwalletd (public or self-hosted) - block data source
- tonic - gRPC client for lightwalletd communication
- Existing WeaveCash stack: Next.js 16, Prisma, PostgreSQL, Defuse/NEAR Intents
Technical Approach
weave-zec-node is a Rust HTTP service with the following components:
- Merchant Account Manager: Imports UFVKs/UIVKs via WalletWrite::import_account_ufvk, creating watch-only accounts in a local zcash_client_sqlite database.
- Address Derivation: Calls get_next_available_address with a shielded-only UnifiedAddressRequest per payment. Maps diversifier indices to invoice IDs for reconciliation.
- Payment Monitor: Syncs with lightwalletd to scan for incoming shielded transactions. Detects payments to generated addresses and sends webhook callbacks to WeaveCash.
- HTTP API: Simple REST endpoints: POST /merchants (UFVK import), POST /merchants/{id}/addresses (new address), GET /payments/{id}/status (payment polling), POST /webhooks (configure callbacks).
The WeaveCash integration layer adds:
- Prisma schema extension: New MerchantZecConfig model (UFVK storage, birthday height) and ZecPayment model (address, amount, status, invoice relation).
- Next.js API routes: Merchant onboarding endpoint, ZEC payment option in invoice creation flow, webhook handler for payment confirmations.
- Settlement bridge: Optional path through existing Defuse/NEAR Intents for merchants who prefer USDC settlement.
Upstream Merge Opportunities
Development may surface documentation improvements for the librustzcash crates around server-side usage patterns (which have primarily been exercised by mobile wallets). Any such improvements will be contributed upstream.
Hardware/Software Costs (USD)
$1,000
Hardware/Software Justification
Cloud hosting for lightwalletd node and weave-zec-node staging server during development and testing.
Service Costs (USD)
$2,000
Service Costs Justification
Security review of UFVK handling and address derivation logic by an independent Zcash-knowledgeable reviewer.
Compensation Costs (USD)
$45,000
Compensation Costs Justification
Estimated 500 person-hours at a blended rate of $90/hour. Breakdown: approximately 250 hours for the Rust sidecar (weave-zec-node) including librustzcash integration, HTTP API, Docker packaging, and test suite; 150 hours for TypeScript WeaveCash integration (Prisma schema, API routes, merchant UI, settlement bridge); and 100 hours for documentation, wallet export guides, developer integration guide, and community outreach.
Total Budget (USD)
$48,000
Previous Funding
No
Previous Funding Details
No response
Other Funding Sources
No
Other Funding Sources Details
WeaveCash development has been bootstrapped by the team. This grant specifically funds the open-source Zcash integration module (weave-zec).
Implementation Risks
- UFVK export UX: Not all wallets make UFVK export easy. Zodl does not yet expose a copy-UFVK button. Mitigation: document the export process for each major wallet; YWallet and Zenith already support UFVK export.
- librustzcash API changes: The zcash_client_backend crate is actively developed. Mitigation: pin to a stable release and track upstream changes.
- Lightwalletd reliability: Payment detection depends on a functioning lightwalletd. Mitigation: support configurable fallback servers and document self-hosting.
- Sender compatibility: Some exchanges cannot send to shielded-only UAs. Mitigation: optional fallback to include transparent receivers, with clear privacy tradeoff documentation.
Potential Side Effects
weave-zec gives merchants a privacy-preserving alternative to transparent address reuse, which could increase shielded transaction volume on the network. The UFVK-based approach requires merchants to share their viewing key with the weave-zec operator, revealing incoming transaction details. This is the same tradeoff as sharing an xpub with BTCPay Server and will be clearly documented.
Success Metrics
- weave-zec-node published as an open-source Rust crate, standalone binary, and Docker image on GitHub (MIT license)
- WeaveCash integration live in production, accepting shielded ZEC payments from both human users and AI agents via OpenClaw skill
- At least 3 merchants or agent operators onboarded and processing payments via UFVK import within 60 days of launch
- Developer integration guide enabling other platforms to deploy weave-zec-node and process their first shielded payment in under a day
- At least one additional platform or agent framework (beyond WeaveCash) expressing intent to integrate weave-zec-node
Startup Funding (USD)
$3,000
Startup Funding Justification
Initial lightwalletd infrastructure setup, development environment provisioning, and security review deposit.
Milestone Details
Milestone 1: weave-zec-node (Rust Sidecar Service)
Amount: $22,000
Expected Completion: 8 weeks after grant approval
Deliverables:
-
Rust HTTP service implementing UFVK/UIVK import, rotating shielded address derivation, and payment monitoring via lightwalletd
-
REST API with merchant registration, address generation, and payment status endpoints
-
Webhook-based payment confirmation callbacks
-
Docker container and docker-compose deployment configuration
-
Integration test suite against Zcash testnet
-
Published open-source repository (MIT license) on GitHub
Milestone 2: WeaveCash Integration & Production Deployment
Amount: $17,000
Expected Completion: 13 weeks after grant approval
Deliverables:
-
Prisma schema extensions for merchant ZEC configuration and payment tracking
-
Merchant onboarding UI for UFVK/UIVK input and validation
-
End-to-end payment flow: invoice creation → address generation → payment detection → confirmation
-
Optional NEAR Intents settlement path (shielded ZEC → USDC) via existing Defuse integration
-
Production deployment on WeaveCash mainnet
-
OpenClaw agent skill updated to support shielded ZEC invoicing and settlement, enabling AI agents to autonomously save and transact in shielded ZEC
Milestone 3: Documentation & Ecosystem Outreach
Amount: $6,000
Expected Completion: 16 weeks after grant approval
Deliverables:
-
Comprehensive weave-zec-node API documentation and deployment guide
-
Step-by-step UFVK export guides for Zodl, YWallet, Zingo, and Zenith wallets
-
Quick-start tutorial for developers integrating weave-zec-node into their own platforms
-
Security considerations document covering viewing key handling and privacy implications
-
Independent security review report
-
Community forum post and ecosystem outreach
Supporting Documents
WeaveCash source: https://github.com/AryanJ-NYC/weave-cash
WeaveCash website: https://weavecash.com
WeaveCash OpenClaw Agent Skill: https://clawhub.ai/AryanJ-NYC/weave
librustzcash WalletWrite trait: https://docs.rs/zcash_client_backend/latest/zcash_client_backend/data_api/trait.WalletWrite.html
ZIP 316 (Unified Addresses and Viewing Keys): https://zips.z.cash/zip-0316
ZIP 315 (Wallet Best Practices, Address Rotation): https://zips.z.cash/zip-0315