Screenshots






Problem Statement
We have built a trustless, 0 fee and globally accessible cross platform payment system that utilizes ZK proofs of email DKIM signatures. Venmo and Revolut both send proof of payment emails that can be verified usingZK Email.The solution is cross platform (Venmo to Revolut) which allows much better rates than using TradFiUse ZK proofs to prove emails from Venmo for free domestic USD payments and from Revolut for free domestic EUR paymentsThe system uses coincidence-of-wants to match all user intents in the system and keep net currency flow 0 across countries. This means USD stays in US, and EUR stays in EuropeTake advantage of superior and permissionless forex liquidity in DeFi using USDC EUR stablecoins in Uniswap or CurveThe sender and receiver donβt need to be on-chain to complete the flow, similar to your favorite Web2 appsNo need to install crypto wallets (e.g. Metamask)There are 4 actors in the system:USD payer who wants to send a x border payment to EUR receiverEUR receiver who receives a payment from USD payerUSD offramper who wants to offramp USDC into USD in Venmo and matches with USD payerEUR onramper who wants to onramp EUR in Revolut into agEUR and matches and send funds to EUR receiver to complete x-border paymentThere are 2 ZKPs that need to be generated in order to complete 1 x-border transfer:Proof of Venmo payment from USD payer to USD offramperProof of Revolut payment from EUR onramper to EUR receiver
Solution
We used the latest libraries in ZK such as ZK-email for verification of email DKIM signatures to prove payment emails. We used Circom and RapidSnark serverside proving which enables fast Groth16 proofs and abstract away the need for users to interact with the blockchain.We designed a network of keepers and on / off-rampers. The system uses coincidence-of-wants to match all user intents in the system and keep net currency flow 0 across countries. This means USD stays in US, and EUR stays in Europe. This is similar to Wise's flow in Web2Since Circom client side proving is slow, we needed to use a server, which does not preserve privacy of user emails. This means that some privacy might be leaked to the server, but emails mostly don't contain sensitive information. The user also had to manually upload raw .eml files which was a bit hacky.We deployed our project to Polygon and used a real USDC agEUR 0.01% pool on Uniswap V3 to transact. This was pretty cool that we were able to deploy a mainnet demo and use ZK to settle real transactionsThe other notable thing was that in our UI, the sender and receivers of x-border payments do not need to connect Metamask or any wallet to use the app. This is the holy grail of crypto, where users don't need to know that they're interacting with a blockchain
Hackathon
ETHGlobal Paris
2024
Prizes
- π
π₯· Linea β Best Use
- π
π° Mantle β Best DeFi
- π
π Ethereum Foundation β Open Track
- π
π Neon EVM β Pool Prize
Contributors
- Divide-By-0
374 contributions
- stevenhao
78 contributions
- sampritipanda
24 contributions
- rmccrear
22 contributions
- ecnerwala
21 contributions
- saleel
19 contributions
- richardliang
10 contributions
- lermchair
10 contributions
- Ocolus1
6 contributions
- RiverRuby
6 contributions
- 0xSachinK
4 contributions
- dependabot[bot]
3 contributions
- felix2feng
1 contributions
- curryrasul
1 contributions
- s-wu
1 contributions