project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

ZK X Border

Trustless and 0 fee international remittance using ZK proofs

ZK X Border

Created At

ETHGlobal Paris

Winner of

πŸ₯· Linea β€” Best Use

πŸ’° Mantle β€” Best DeFi

πŸ”“ Ethereum Foundation β€” Open Track

🏊 Neon EVM β€” Pool Prize

Project Description

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 using ZK Email.

The solution is cross platform (Venmo to Revolut) which allows much better rates than using TradFi

Use ZK proofs to prove emails from Venmo for free domestic USD payments and from Revolut for free domestic EUR payments

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

Take advantage of superior and permissionless forex liquidity in DeFi using USDC EUR stablecoins in Uniswap or Curve

The sender and receiver don’t need to be on-chain to complete the flow, similar to your favorite Web2 apps

No 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 receiver
  • EUR receiver who receives a payment from USD payer
  • USD offramper who wants to offramp USDC into USD in Venmo and matches with USD payer
  • EUR onramper who wants to onramp EUR in Revolut into agEUR and matches and send funds to EUR receiver to complete x-border payment

There 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 offramper
  • Proof of Revolut payment from EUR onramper to EUR receiver

How it's Made

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 Web2

Since 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 transactions

The 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

background image mobile

Join the mailing list

Get the latest news and updates