PayPunk
PayPunk: Buy real goods with crypto. No Visa. ZK proofs verify delivery. Cross-chain magic. π³π€
Problem Statement
PayPunk is a decentralized marketplace that enables crypto-to-physical-goods transactions without routing through Visa or traditional banking.The Problem: Current crypto-to-physical-goods payments still rely on Visa cards, reintroducing the centralized systems crypto was meant to replace.The Solution: PayPunk uses a trustless escrow system with zero-knowledge proofs and cross-chain interoperability.How It Works: Users create listings specifying what they want to buy from Shopify, how much they'll pay in USDC (with a premium), and encrypted delivery credentials. Funds are locked in a custom EVVM escrow contract until delivery is verified. Buyers browse listings and purchase items using their own payment method (cards, crypto, etc.), then have items delivered to the requester. Buyers generate zero-knowledge proofs via vlayer's Web Prover Server that cryptographically verify both purchase and delivery without revealing sensitive information. Once ZK proofs are verified on-chain using RISC Zero verifiers, funds unlock and become withdrawable only by the buyer who fulfilled the purchase. A background bot automatically pays out tokens to the buyer using x402 when funds are unlocked.Cross-Chain Support: Users can create listings from any chain using any token. The Ethereum Interoperability Layer (EIL) automatically swaps tokens to USDC and bridges assets across chains, providing true chain abstraction.Key Technologies: Custom EVVM service for secure escrow with async nonce support, vlayer for privacy-preserving ZK proof generation, RISC Zero for on-chain proof verification, EIL SDK for seamless cross-chain token movement, and x402 for automated payouts.Features: Trustless escrow, privacy-preserving credentials, ZK-proof verification, multi-chain support, automated payouts, and payment flexibility. No banks, no cardsβjust decentralized infrastructure.
Solution
PayPunk uses a custom EIP-3009-compatible transferWithAuthorization for x402 automated payouts. It follows EIP-3009's signature format but implements custom escrow release logic.When a buyer submits a ZK proof verifying purchase and delivery, funds unlock in their EVVM balance. A background bot detects this and calls transferWithAuthorization with a backend-signed authorization. The function validates the EIP-712 signature, checks time validity and nonce replay protection, then withdraws from the buyer's EVVM balance to their wallet.This uses EIP-3009's signature structure while customizing behavior: instead of standard transfers, it withdraws from EVVM balances to wallet addresses. The backend signs the authorization, and x402's bot infrastructure automatically submits it, enabling automated payouts without manual steps.
Hackathon
ETHGlobal Buenos Aires
2025
Prizes
- π
Your custom Service or EVVM Chain2nd place
EVVM
- π
Use the MATE Metaprotocol
EVVM
- π
Feedback on EVVM or MATE Metaprotocol
EVVM
Contributors
- jacksmithinsulander
24 contributions
- JustAnotherDevv
6 contributions