Skip to content

A Zero-Knowledge (ZK) payment proof system built with Noir, demonstrating privacy-preserving verification of payments using ASN.1 encoded certificates.

Notifications You must be signed in to change notification settings

sanjay-sol/zkpay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZK Payment Proof Generator & ASN.1 Parser ( Grant Proposal )

A Zero-Knowledge (ZK) payment proof system built with Noir, demonstrating privacy-preserving verification of payments using ASN.1 encoded certificates.


📑 Table of Contents


Grant Proposal

Along with this project our team also primarily proposes implementing ASN.1 parsing capabilities into the Noir ecosystem to handle real-world certificate formats (e.g., DER-encoded certificates from payment gateways).

🔗 ASN.1 Parser full Spec Sheet for Grant proposal:
ASN.1 Parser Proposal and Specification Sheet

🚀 Live Frontend:
https://zkpay-six.vercel.app/

📦 Presentation Slides:
Canva Slides


What is the Problem?

Today’s digital payments are typically verified by revealing full transaction details to third parties (e.g., merchants, employers, paymentId ..). This raises concerns over privacy and data exposure.

Key challenges:

  • Need to prove payment occurred without sharing sensitive info.
  • Digital certificates (in ASN.1 format) are the standard output of payment gateways, but they are not natively parsable in Noir.

What is Our Solution?

We built a Zero-Knowledge Payment Proof Generator that allows users to:

  • Upload an ASN.1 encoded payment certificate.
  • Parse the certificate to extract payer, receiver, amount, payment ID, signature, and public key.
  • Feed extracted data into a Noir Zero-Knowledge circuit that verifies the signature and generates a ZK proof.
  • Allow organizations to verify the proof without seeing full payment details.

Example use cases:

  • Prove you’ve paid for a Netflix subscription without showing your full bank statement.
  • An employee can prove they received salary payment privately.

Workflow diagram / Architecture

Screenshot 2025-05-09 at 12 01 42 AM

What Noir is Missing

🛠 ASN.1 Parser

To fully enable this and similar use cases, Noir must support ASN.1 parsing.

🔗 ASN.1 Parser Spec Sheet:
ASN.1 Parser Proposal and Specification Sheet

Currently, developers must pre-parse certificates outside of Noir, breaking the privacy and trustless workflow. A native ASN.1 parser would unlock:

  • Payment proofs
  • Secure ID verification
  • PKI-based authentication
  • And more 🚀

How to Set Up the Project

🖥 Backend

  1. Clone the repo:
    git clone https://github.com/sanjay-sol/zkpay
    cd zkpay/backend
    
  2. Install depencies
    npm install
    
  3. Run the server
    npm run dev
    

🌐 frontend

  1. Clone the repo:
    git clone https://github.com/sanjay-sol/zkpay
    cd zkpay/frontend
    
  2. Install depencies
    yarn
    
  3. Run the server
     yarn dev
    
    

7️⃣ Future Plans

🚀 Project Roadmap

  • Add more real-world payment gateway integrations (Stripe, Razorpay, etc.).
  • Build a universal payment proof dashboard for verifiers.
  • Extend the UI/UX for better onboarding and customization.
  • Many more while building /......🚀🚀🚀🚀

🛠 ASN.1 Parser Development

  • Collaborate with the Noir community to upstream ASN.1 parsing library.
  • Full implementation of DER encoding/decoding inside Noir circuits.
  • Publish ASN.1 helper utilities to abstract common parsing tasks.
  • Many more ....🚀🚀🚀

About

A Zero-Knowledge (ZK) payment proof system built with Noir, demonstrating privacy-preserving verification of payments using ASN.1 encoded certificates.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published