zero-knowledge Pay

flips the flow: tokens first, wallet later. Just receive via email and confirm. By removing complex crypto UX, it enables email-only onboarding and opens the door to mass adoption.

Websitegithub
  • 0 Raised
  • 316 Views
  • 0 Judges

Tags

  • counterculture capital
  • cypherpunks anonymoous

Gallery

Description

zero-knowledge Pay

without knowledge; Even your mom :)

  • flips the flow: tokens first, wallet later. 
  • Just receive via email and confirm. 
  • By removing complex crypto UX, it enables email-only onboarding and opens the door to mass adoption.
  •  with zk-verified email proofs, gasless.


Project description

our zero-knowledge Pay flips onboarding: tokens first, wallet later. 

A sender funds an email address; the recipient simply replies to claim. Our relayer verifies email authenticity with DKIM + zkEmail proofs, then executes on-chain actions and, if needed, deploys a deterministic smart wallet. Email addresses stay off-chain for privacy; only commitments and events (e.g., AccountCreated) are on-chain. 

This makes distribution use-cases—like JPYC rewards or email-based campaigns—possible without collecting wallet addresses up front, while keeping everything verifiable and composable with DeFi once the wallet exists.

Track fit (Financial Innovation): Security as Freedom (cryptographic verification, minimal trust), True Interoperability (standard ERC-20s & smart wallets), Cooperative Scaling (gas-sponsored claims), Radical Transparency (on-chain events), and Regulation Reimagined (opt-in claims with auditable proofs).


Technologies used

    •    Smart contracts: Solidity — core wallet + handlers, DKIM registry

    •    ZK: circom, snarkjs — zkEmail proofs 

    •    Relayer: Rust (axum, ethers-rs, sqlx) — SMTP/IMAP integration, proof orchestration, on-chain execution

    •    Infra: Docker Compose (Postgres, SMTP, IMAP), Base Sepolia

    •    Frontend: Next.js (TS) for ops/diagnostics


Basic architecture

    •    Client → Relayer: /api/createAccount or /api/send (email, amount, token)

    •    Relayer → SMTP: send invitation/confirmation email

    •    IMAP → Relayer: post raw reply → DKIM + zkEmail → on-chain (deploy wallet if needed, transfer/claim)

    •    State: email PII off-chain; hashes/events on-chain; Postgres for ops metadata


App Link

https://zk-email-pay.vercel.app/


Deployment

Base sepolia:

deployer: https://sepolia.basescan.org/address/0xfac8c96139d7c02df8a6155b860d90bd23bde338
relayer:https://sepolia.basescan.org/address/0xfac8c96139d7c02df8a6155b860d90bd23bde338

core contracts:

  •   RelayerHandler proxy deployed at: 0xbEc5dB4AbCab736ae8b59b0BF93baf84d129C346
  •   RelayerHandler implementation deployed at: 0x32f2CF6211d1EcC6CCeF07da98D1a9a07af1932a
  •   TestERC20 deployed at: 0xaAbE7Cc70C6eC1FA8ceD0fa91312bc144A38372f
  •   EmailWalletCore proxy deployed at: 0xcee6bd2F7Eb4242B8523D251bE23a75E8a04cf66
  •   EmailWalletCore implementation deployed at: 0x73B58FEf012E0Adce93E0b6F1d98DF42c0A44981

JSC Kaigan: 

deployer: https://5278000.testnet.routescan.io/address/0xFAC8c96139D7c02Df8a6155b860D90bD23bdE338
relayer: https://5278000.testnet.routescan.io/address/0xFAC8c96139D7c02Df8a6155b860D90bD23bdE338

core contracts:

  • TestERC20 deployed at: 0xF0aaD280D5f38879C3Ef5381Ae6be2b7ac7e24Fa
  • EmailWalletCore proxy deployed at: 0x92b17De0e75D3bD7DF00Ff496490DeD97BC8C7d5
  • EmailWalletCore implementation deployed at: 0xAdC2e008Fc0049A89149eEf3920Ffb0Aa31FDce5
  • RelayerHandler proxy deployed at: 0x24EEF027824203b1968982B83F43fa5932d09273
  • RelayerHandler implementation deployed at: 0x2885aE78eDB45c59938bE340bB3622422ec49255



github repos: https://github.com/uooooo/zk-email-pay

Attachments