PayFlow

Pay anyone, any token, any chain. Tell us who and how much. Done.

PayFlow

Created At

HackMoney 2026

Winner of

ENS

ENS - Integrate ENS

Prize Pool

Project Description

PayFlow simplifies crypto payments by combining cross-chain transfers, invoice parsing, and ENS identity into a single interface.

Natural Language Interface: Type commands like "send 10 USDC to nick.eth" in the chatbot and complete the payment in one flow.

Invoice Parsing: Upload a PDF or image invoice. AI extracts the recipient, amount, token, and due date automatically.

Cross-Chain Payments: Pay from any token on any supported chain. The app finds the best route to deliver the exact amount the recipient expects, even if you do not have the token the recipient asked for.

Contact Management: Save addresses with ENS profile data for quick repeat payments. Invoice Generation: Create invoices with your wallet address and share them for payment.

How it's Made

The stack is Next.js 16 with App Router and TypeScript. Privy handles wallet auth since it makes both embedded and external wallet connections pretty painless.

LI.FI is what makes the cross-chain magic work. When you want to pay someone, I fetch quotes using their "receive exact" mode, which means the recipient gets exactly what they asked for regardless of slippage or bridge fees. LI.FI finds the best route across bridges and DEXs, and the SDK handles the full execution including token approvals and chain switching. For now I set it to auto-accept exchange rate updates during LI.FI route execution to keep the demo flow smooth. In production you'd want user confirmation there.

ENS integration goes beyond basic address resolution. I do reverse lookups when adding contacts, pull full profiles including avatar, bio, and social links from ENS text records, and implemented ENSIP-11 for chain-specific addresses. So if someone configured a different address for Arbitrum in their ENS, I load that.

For the AI side, Google Gemini powers two parsing flows. One handles natural language in the chatbot ("send 10 USDC to nick.eth") and the other extracts payment details from uploaded invoices (PDFs and images). Both use structured prompts and return JSON I can work with directly.

Database is Turso (libSQL) for contacts, invoices, and payment history.

background image mobile

Join the mailing list

Get the latest news and updates

PayFlow | ETHGlobal