PayFren.Cash

Send Crypto to your friends without having them install a wallet with PayFren.Cash

PayFren.Cash

Created At

ETHGlobal New Delhi

Project Description

Payments on email made paypal big, now its time for web3 to follow the suit.

PayFren.Cash is a decentralized protocol that enables users to send and receive cryptocurrency directly via email, without requiring a traditional crypto wallet. By leveraging email as a universal identifier, PayFren.Cash simplifies cryptocurrency transactions, making them as intuitive as sending an email, inspired by early PayPal’s email payment system.

How it's Made

Workflow: Incoming Email → SMTP Listener → Parser → Validator → ZK Generator → Blockchain Submission → Notification.

Emails sent to [email protected] with a format like "Send 0.1 PYUSD to [email protected]" trigger transactions.

Technologies and Integration

Backend:

Node.js/Express.js: Runs the custom email server for high-throughput I/O. SMTP Listener (Nodemailer, SMTP-Server): Intercepts emails via SMTP with STARTTLS encryption, parsing MIME content. Parser (Regex): Extracts sender, recipient, amount, and intent using regex for structured formats.

Zero-Knowledge Proofs:

SP1 Protocol (Rust SDK): Generates ZKPs in a RISC-V zkVM to verify intent (e.g., sender intends to transfer X PYUSD to recipient) without exposing email content. Proofs are compact (~1KB) and generated in <1s. Integration: Backend invokes SP1 prover post-validation, serializing proofs for blockchain submission.

Blockchain:

Base Sepolia (EVM L2): Chosen for low gas fees and ERC-4337 support. Smart contracts in Solidity 0.8.x. WalletFoundry Contract: Maps keccak256(email) to ERC-4337 wallets, using CREATE2 for deterministic address generation.

Mapping: mapping(bytes32 => address) emailToWallet.

Smart Contract Wallet: Executes transfers after verifying ZKP and conditions (e.g., sufficient PYUSD balance, nonce check).

background image mobile

Join the mailing list

Get the latest news and updates

PayFren.Cash | ETHGlobal