ZecPay: Native Zcash Payment Infrastructure for E-commerce

Grant Application: ZecPay - Native Zcash Payment Infrastructure for E-commerce

Category: Infrastructure
Requested Grant Amount: $44,180 USD


Project Summary

ZecPay is payment processing infrastructure that provides merchants with a modern REST API, webhooks, and e-commerce plugins to accept Zcash payments. Built specifically for the post-zcashd era, it leverages Zebra nodes and supports Unified Addresses (ZIP-316) to make accepting ZEC as simple as integrating Stripe.


Project Description

ZecPay is a native Zcash payment processor designed specifically for online merchants and e-commerce platforms. Unlike existing solutions like BTCPay Server (which is Bitcoin-first with Zcash as an afterthought), ZecPay is built from the ground up for Zcash’s unique features including shielded transactions, Unified Addresses (ZIP-316), and the Zebra node architecture.

The infrastructure consists of three core layers:

  1. Payment API Backend - REST API service that interfaces with Zebra nodes to generate invoices, monitor transactions, track confirmations, and deliver webhooks. Built in Rust for performance and reliability.

  2. E-commerce Plugins - Drop-in plugins for major platforms (starting with WooCommerce) that allow merchants to enable Zcash payments with minimal configuration.

  3. Merchant Dashboard - Self-hosted web interface for merchants to manage payments, view transaction history, configure webhooks, and export reports.

The goal is to make accepting Zcash payments as easy as integrating Stripe or Square, while maintaining self-custody and privacy principles core to Zcash. By providing modern payment infrastructure, ZecPay unlocks merchant adoption and creates practical real-world use cases for ZEC beyond speculation.


Proposed Problem

The merchant adoption problem is real and urgent:

No native Zcash payment infrastructure exists

  • BTCPay Server supports Zcash but prioritizes Bitcoin features

  • No payment gateway built specifically for Zcash’s privacy features

  • Merchants wanting to accept ZEC face significant technical barriers

E-commerce integration is broken

  • No maintained plugins for major platforms (WooCommerce, Shopify)

  • Existing solutions don’t support Unified Addresses (ZIP-316)

  • Shielded transaction handling is not supported

  • Invoice generation and webhook delivery are manual processes

Developer experience is poor

  • No modern REST API for payment processing

  • Documentation assumes developers run full nodes manually

  • No standardized way to monitor transaction status

  • Webhook delivery for order confirmation is DIY

Real-world adoption suffers

  • Merchants choose Bitcoin/Lightning because tooling is mature

  • Zcash’s privacy advantages are lost if merchants can’t accept it

  • E-commerce platforms have zero ZEC integration despite user demand

The timing is critical: As the ecosystem transitions from zcashd to Zebra, now is the opportunity to build payment infrastructure correctly from the start, supporting modern Zcash features like Unified Addresses and optimized for the Zebra architecture.


Proposed Solution

ZecPay provides complete payment processing infrastructure purpose-built for Zcash, making merchant integration as simple as adding a Stripe API key.

Core Components:

1. Payment Processing API (Rust)

  • Invoice Generation: REST endpoint creates invoices with Unified Addresses (ZIP-316), QR codes, amount in ZEC, and expiration times

  • Transaction Monitoring: Automatic watching of generated addresses via Zebra node connection, real-time confirmation tracking

  • Webhook Delivery: Reliable webhook system notifies merchants of payment events (received, confirmed, expired) with retry logic

  • Status API: Query endpoints for transaction status, confirmation count, and payment details

2. WooCommerce Plugin (PHP/JavaScript)

  • One-click installation from WordPress plugin directory

  • Configuration UI in WooCommerce settings (Zebra node URL, webhook secret, confirmation requirements)

  • Checkout integration that displays ZEC payment instructions with QR codes

  • Order management hooks that mark orders as paid when webhooks arrive

  • Admin dashboard showing ZEC payments and transaction history

3. Merchant Self-Hosted Backend

  • Docker deployment with single-command setup (Zebra + ZecPay API + Dashboard)

  • Dashboard UI for viewing payments, configuring settings, testing webhooks

  • Database layer (PostgreSQL) for invoice storage and webhook tracking

  • Security defaults (API key authentication, HTTPS enforcement, webhook signature verification)

Key Technical Decisions:

  • Zebra-first architecture: Built for the current node, not the deprecated zcashd

  • Unified Address support: Native ZIP-316 implementation for modern address format

  • Shielded transaction ready: Architecture supports shielded payment monitoring (MVP focuses on transparent for simplicity, with clear path to shielded support)

  • Self-hosted by default: Merchants control their own infrastructure, no third-party custody

  • Open source: MIT licensed, community can audit and extend

Why This Solves The Problem:

  • Reduces integration time from weeks to hours - Plugin installation + API key configuration

  • Production-ready infrastructure - Webhook reliability, automatic confirmation tracking, error handling

  • Zcash-native features - Built for UA, Zebra, and future shielded support

  • Merchant-friendly UX - Familiar patterns from Stripe/Square, not blockchain complexity

  • Unlocks real adoption - Practical use case for ZEC beyond trading


Solution Format

Type: Open-source software infrastructure (Payment API + E-commerce plugins + Documentation)

Core Deliverables:

  1. ZecPay API Service (Rust)

    • REST API server for payment processing

    • Zebra node integration for transaction monitoring

    • Webhook delivery system with retry logic

    • Invoice generation with QR code support

    • PostgreSQL database for payment tracking

  2. WooCommerce Plugin (PHP/JavaScript)

    • Installable WordPress/WooCommerce plugin

    • Admin configuration interface

    • Checkout payment gateway integration

    • Order status management via webhooks

    • Transaction history view in admin panel

  3. Deployment Infrastructure

    • Docker Compose setup (Zebra + ZecPay + PostgreSQL)

    • Single-command deployment for merchants

    • Health checks and monitoring configuration

    • Environment-based configuration (testnet/mainnet)

  4. Documentation

    • Merchant setup guide (15-minute quickstart)

    • API reference documentation

    • Plugin installation instructions

    • Webhook integration guide for custom platforms

    • Troubleshooting common issues

  5. Testing Suite

    • Automated API tests

    • Integration tests with Zebra regtest

    • Plugin functional tests

    • Webhook delivery tests

Distribution:

  • GitHub repository (MIT License)

  • Docker Hub images for easy deployment

  • WordPress Plugin Directory submission (post-audit)

  • Documentation hosted on GitHub Pages

Maintenance Window:

  • 90 days post-launch for bug fixes and minor updates

  • Community handover plan with clear contribution guidelines


Dependencies

Technical Dependencies:

Zcash Infrastructure:

  • Zebra (zebrad) - Primary dependency for blockchain access

  • REST API for transaction submission

  • RPC interface for address monitoring

  • Regtest mode for testing

  • Unified Address libraries (zcash_address crate) for ZIP-316 support

Development Stack:

  • Rust (stable) for API backend

  • actix-web or axum for REST API

  • sqlx for database access

  • tokio for async runtime

  • PostgreSQL for payment and invoice storage

  • Docker & Docker Compose for deployment packaging

  • PHP 7.4+ for WooCommerce plugin

  • WordPress 5.0+ with WooCommerce 4.0+

Infrastructure:

  • Linux server for development/testing

  • Domain for documentation hosting (GitHub Pages - free)

  • Docker Hub account for image distribution (free tier)

Human Collaboration:

Solo developer project with community feedback through:

  • Zcash Community Forum for milestone reviews

  • GitHub issues for feature requests and bug reports

  • Discord/Telegram for technical discussions with Zebra/wallet teams

Project Lead:

  • Name: Olowu Timilehin

  • Role: Solo Developer & Project Lead

  • Background: Full-stack developer with contributions to Zcash ecosystem projects including Zaino (indexer infrastructure) and ZecKit (Zebra testing toolkit). Experienced in building REST APIs, payment systems, and blockchain integrations. Proficient in Rust, JavaScript/TypeScript, and modern web frameworks.


Technical Approach

ZecPay follows a layered architecture designed for flexibility, scalability, and security.

Architecture Overview:

Merchant Layer → ZecPay API (Rust) → Zebra Node + PostgreSQL

Implementation Phases:

Phase 1: Core API Foundation

  • API server skeleton using Actix-web

  • Database schema for invoices and payments

  • Zebra node connection and health checks

  • Invoice generation endpoint (transparent address MVP)

  • Basic transaction monitoring loop

Phase 2: Payment Flow & Webhooks

  • Transaction confirmation tracking

  • Webhook delivery system with retry logic

  • Payment status API endpoints

  • QR code generation

  • Comprehensive error handling

Phase 3: WooCommerce Integration

  • WooCommerce plugin scaffold following WordPress standards

  • Admin settings page

  • Checkout payment gateway integration

  • Webhook receiver endpoint

  • Order status management

Phase 4: Production Readiness

  • Docker Compose deployment

  • Security hardening (API authentication, webhook signatures)

  • Comprehensive documentation

  • Full testing suite (API + integration tests)

  • Example deployment and video tutorial

Security Considerations:

  • API key authentication (per merchant)

  • Webhook signature verification using HMAC-SHA256

  • HTTPS enforcement

  • Rate limiting on API endpoints

  • Input validation and sanitization

  • No private keys stored (watch-only addresses only)


Upstream Merge Opportunities

This project is integration-focused infrastructure that sits adjacent to core Zcash repositories.

Potential Contributions:

1. Zebra (ZcashFoundation/zebra)

  • Documentation improvements: Add merchant/payment processor use case examples

  • REST API enhancements: Contribute PRs to improve merchant-relevant endpoints

  • Payment monitoring patterns: Document best practices for watching addresses

  • Target: After Milestone 2

2. zcash/librustzcash

  • Invoice format standards: Contribute to specification if standardized format emerges

  • Address utility functions: Contribute reusable Unified Address handling code

  • Target: After Milestone 1

3. WooCommerce Ecosystem

  • Plugin submission: Submit ZecPay plugin to official WordPress Plugin Directory

  • WooCommerce documentation: Add Zcash payment gateway to official integration guides

  • Target: After Milestone 4

4. Zcash Wallet Interoperability

  • Invoice format coordination: Align QR code format with mobile wallet expectations

  • Payment URI standards: Contribute to ZIP if needed for zcash: payment URIs

  • Target: Throughout development via community feedback


Budget Breakdown

Total Budget: $44,180 USD

Hardware/Software Costs: $500

  • Development Server (Linux VPS): $90 (6 months)

  • Domain & Hosting: $50

  • Development Tools: $360 (JetBrains IDE, testing tools)

Service Costs: $0

  • All open-source components, no paid services required

Compensation Costs: $36,500

  • Total Development Hours: 304 hours

  • Hourly Rate: $120/hour (standard Zcash ecosystem rate)

  • Solo developer handling all aspects: dev, testing, docs, deployment

Startup Funding: $7,680

  • Covers Milestone 1: API architecture, Zebra integration, database design

  • Proves technical feasibility before larger milestones


Implementation Risks

Risk Likelihood Impact Mitigation
Zebra API changes during development Medium High Pin versions; monitor releases; build abstraction layer
WooCommerce compatibility issues Medium Medium Follow official guidelines; test multiple versions
Transaction monitoring reliability Medium High Robust polling; health checks; comprehensive error handling
Webhook delivery failures Medium Medium Retry logic; delivery tracking; manual replay option
Security vulnerabilities Low High Follow Rust best practices; community security review
Low merchant adoption Medium Medium Extensive docs; video tutorials; demo instance

Success Metrics

Technical Metrics:

  • Invoice generation: < 200ms response time

  • Webhook delivery: 99% success rate (with retries)

  • Transaction monitoring: < 15-second detection latency

  • Test coverage: > 80% for core payment logic

  • System uptime: 99%+ in testing environment

Adoption Metrics (Post-Launch):

  • ≥ 50 GitHub stars within 3 months

  • ≥ 10 community forum posts discussing the project

  • ≥ 5 external contributors

  • ≥ 3 merchants testing in production

  • ≥ 200 Docker image pulls per month

  • Plugin installed on ≥ 25 WordPress sites

Validation:

  • Milestone acceptance by community representatives

  • Public demo instance for testing

  • Usage analytics (Docker Hub, GitHub, WordPress stats)

  • Merchant feedback surveys

  • Code review by Zcash developers


Milestone Details

Milestone 1: Core API Foundation

Amount: $7,680 USD
Expected Completion: January 31, 2026

User Stories:

  • “As a developer, I want a REST API to generate payment invoices, so that I can integrate Zcash payments into my application”

  • “As a merchant, I want invoices with Unified Addresses, so that I’m using the modern Zcash address format”

Deliverables:

  • Rust API server with invoice generation endpoint

  • Zebra node integration for UA generation (ZIP-316)

  • PostgreSQL database schema

  • API documentation (README with endpoint specs)

  • Docker Compose setup for development

  • Automated tests for invoice generation

Acceptance Criteria: Developer can run docker-compose up, call the invoice API, receive a valid Unified Address and QR code. Test suite passes with 80%+ coverage.


Milestone 2: Payment Flow & Webhooks

Amount: $9,600 USD
Expected Completion: February 28, 2026

User Stories:

  • “As a merchant, I want automatic monitoring of payment addresses, so I don’t have to manually check transactions”

  • “As a developer, I want webhooks when payments are received, so my application can respond automatically”

Deliverables:

  • Transaction monitoring service (10-second polling)

  • Payment detection and confirmation counting

  • Webhook delivery system with retry logic

  • Webhook signature verification (HMAC-SHA256)

  • Payment status API

  • Integration tests for full payment flow

Acceptance Criteria: Tester generates invoice, sends ZEC (regtest), receives webhook within 30 seconds. After 3 confirmations, second webhook confirms finalization. Webhook retries succeed after simulated failures.


Milestone 3: WooCommerce Plugin

Amount: $10,080 USD
Expected Completion: March 31, 2026

User Stories:

  • “As a WooCommerce merchant, I want a plugin that adds Zcash as a payment option”

  • “As a store owner, I want simple configuration, so I can enable Zcash payments without technical expertise”

Deliverables:

  • WooCommerce plugin (PHP) installable via WordPress admin

  • Admin settings page (API credentials, webhook configuration)

  • Checkout integration (“Zcash” payment gateway)

  • Payment instruction page (address, QR code, countdown timer)

  • Webhook receiver endpoint

  • Order status management (pending → processing)

  • Functional tests for plugin

Acceptance Criteria: Merchant installs plugin on fresh WP/WooCommerce, configures credentials, completes test checkout. Order automatically moves to “Processing” within 2 minutes of confirmation. Plugin passes WordPress review checklist.


Milestone 4: Production Readiness

Amount: $9,140 USD
Expected Completion: April 30, 2026

User Stories:

  • “As a merchant, I want easy deployment instructions, so I can set up ZecPay quickly”

  • “As a developer, I want comprehensive documentation, so I can integrate ZecPay into my platform”

Deliverables:

  • Production Docker Compose configuration

  • Security hardening (authentication, rate limiting, HTTPS)

  • Merchant dashboard UI

  • Complete documentation site (quickstart, API reference, troubleshooting)

  • Video tutorial (10-minute setup walkthrough)

  • Security audit report

  • Deployment tested on major cloud providers

  • CONTRIBUTING.md following Zcash standards

  • Forum post with demo video and call for testers

Acceptance Criteria: Non-technical merchant deploys ZecPay on VPS within 30 minutes, configures plugin, completes mainnet test payment. Documentation covers 100% of setup steps. Video published. Security checklist shows no critical vulnerabilities.



GitHub Issue: [Link to ZCG GitHub Issue #168]
Project Type: Infrastructure / Payment Processing
License: MIT
Contact: @Timi16


Thank you for considering this grant application. I’m excited to contribute to Zcash’s real-world adoption through merchant payment infrastructure!

2 Likes

What about ZGo? What differentiates this project from ZGo? Also, the BTCPayServer Zcash plugin should be compatible with WooCommerce. Am not sure I see the need for a third payment option unless there’s some major differentiator when it comes to features, UI or UX. Also, zcash-walletd is a native Zcash payment processing wallet. It can be used independently from BTCPayServer, and if building a new custom solution, I would use that as a base, or zingolib, rather than create an entirely new wallet.

Both the BTCPayServer plugin and ZGo support Unified Addresses. There are REST APIs available.

BTCPayServer does technically support WooCommerce, but the experience is Bitcoin-first. Merchants get:

  • Complex setup (requires understanding BTCPay’s broader Bitcoin infrastructure)

  • Zcash as an add-on currency rather than first-class citizen

  • Configuration complexity for merchants who only want ZEC

ZecPay aims to be the “Stripe-simple” option for Zcash-only merchants.

This is excellent feedback. You’re absolutely right - building on zcash-walletd would be more sensible than creating wallet functionality from scratch. I should revise the technical approach to:

  • Use zcash-walletd for wallet operations

  • Focus ZecPay on the API layer, webhook system, and e-commerce integrations

  • This would reduce complexity and leverage existing audited code

You’re right that ZGo exists, and I should have been more precise. What I meant is there’s no self-hosted, open-source payment infrastructure with modern e-commerce plugins. ZGo is excellent but operates as a hosted service. ZecPay’s differentiators are:

  • Self-custody: Merchants run their own infrastructure (Zebra + ZecPay), no third-party custody

  • Zebra-first architecture: Built specifically for the current node, not retrofitted

  • Native plugins: Purpose-built WooCommerce integration, not generic

What do you mean by Bitcoin first experience? You can run BTCPayServer with Zcash only, I can’t think of any drawbacks compared to a “ZEC-native” solution. There’s no need to run a Bitcoin node or to have Bitcoin enabled, I run a ZEC-only BTCPayServer instance.

BTCPayServer has a lot of infrastructure that would need to be recreated from scratch to achieve feature parity, including multi-user support (pending multi-wallet support) and subscriptions.

I believe that to offer Stripe-style simplicity, there needs to be a hosted option with a multi-wallet backend. ZGo is open-source by the way, there is no third-party custody with the hosted option, it has WooCommerce support and a grant was recently approved for full migration to Zebra.

On existing solutions:

  • BTCPayServer + WooCommerce: Technically works, but merchants report a steep learning curve. The setup process assumes familiarity with Bitcoin infrastructure. For a merchant who just wants “add Zcash checkout to my store,” it’s overkill.

  • ZGo: Solid platform, but it’s positioned as a hosted service first. Self-hosting exists, but the documentation and onboarding optimize for their hosted option.

What I’m hearing is missing: The gap isn’t capability - you’re right that the pieces exist. The gap is developer/merchant experience. Compare Zcash payment setup to Stripe:

  • Stripe: 15 minutes from account creation to checkout

  • Current ZEC options: Multiple tools, node configuration, understanding custody models

Any feedback on reducing pain points would be appreciated.

Would be nice to see some examples of how you think this can be achieved. What would be the biggest improvements you’d like to happen for the developer/merchant experience?

ZecPay reduces merchant pain points by providing single-command deployment, familiar e-commerce patterns, and eliminating the need to understand blockchain infrastructure. The biggest improvement is turning a multi-day technical setup into a 15 minute plugin installation.

Concrete Examples of How This is Achieved:

For Merchants (Non-Technical Users):

  • One-command deployment: docker-compose up starts Zebra node, API, and database together - no manual configuration

  • WordPress-native experience: Install plugin from admin panel, paste API credentials in settings, enable Zcash payment option - done

  • No blockchain knowledge needed: Never interact with nodes, addresses, or confirmations directly - plugin handles everything

  • Familiar checkout flow: Customer selects “Pay with Zcash,” sees QR code and amount, order auto-confirms when paid - same UX as existing payment gateways

For Developers (Custom Integrations):

  • REST API instead of RPC: Standard endpoints like POST /invoices and GET /payments/{id} - no need to learn Zebra’s RPC interface

  • Automatic webhooks: Receive POST notifications at your endpoint when payments arrive - same pattern as Stripe, no polling required

  • Built-in QR codes: Invoice API returns ready-to-display QR codes - no manual generation

  • Unified Addresses by default: Always get ZIP-316 compliant addresses - no need to understand address format complexity

  • Standard authentication: API keys instead of node credentials - familiar security model

Biggest Pain Point Reductions:

  • Setup time: Multi-day node configuration → 15-30 minutes with video tutorial

  • Technical barrier: Blockchain expertise required → Basic WordPress/API skills sufficient

  • Maintenance: Update multiple services separately → Single Docker image updates

  • Documentation: Navigate multiple tools’ docs → One comprehensive guide covering end-to-end flow

  • Integration complexity: Custom payment monitoring code → Standard webhook callbacks

Thank you for submitting your proposal. After careful consideration by the ZCG and a period for community comments on the forum, the committee has decided not to advance this proposal.

We genuinely appreciate the work and dedication you put into your application and hope you’ll continue to participate and contribute to the Zcash community.