← Back to home

EazyPay

Tap to Pay crypto payments → instant fiat. Merchants get USD, customers pay with any token.

Problem Statement

EazyPay: Crypto Tap-to-Pay with Instant Fiat SettlementDescriptionEazyPay solves the biggest barrier to mainstream crypto adoption: enabling merchants to accept cryptocurrency payments while receiving instant USD settlement in their traditional bank accounts, eliminating volatility risk and complexity.The ProblemToday's crypto payment landscape is fragmented and merchant-hostile:Volatility Risk: Merchants receiving crypto face constant price fluctuationsComplexity: Current solutions require merchants to manage crypto wallets and exchangesPoor UX: Customers must choose which wallet/token/chain to pay withHigh Fees: Traditional crypto payment processors charge 3-5% feesSlow Settlement: Converting crypto to fiat takes days through existing servicesOur Solution: "1inch for Payments"EazyPay acts as intelligent payment routing that automatically finds the optimal way to pay across multiple wallets and blockchain networks, while providing instant fiat settlement to merchants.Core Innovation: Smart Payment Routing AlgorithmMulti-Chain Balance Detection: Automatically scans customer's funds across Ethereum, Base, Polygon, Arbitrum, and OptimismOptimal Token Selection: Prioritizes L2 stablecoins (Base USDC > Polygon USDC > L1 ETH) for lowest feesInstant Conversion: Crypto → USD conversion via financial infrastructure APIsDirect Bank Settlement: USD deposited directly to merchant's bank account via ACH/RTPUser Experience: True contactless payments via NFCCustomer: Tap phone → Payment automatically routed → Done (no wallet/token selection needed)Merchant: Enter amount → Customer taps → Receive USD instantly (no crypto knowledge required)

Solution

Technical ArchitectureAndroid Mobile AppsCustomer App: NFC card emulation, automatic wallet detection (MetaMask, Rainbow, Coinbase Wallet, etc.), EIP-681 payment URI handlingMerchant POS App: NFC reader mode, calculator-style amount input, real-time settlement dashboardBackend Payment ProcessorSmart routing algorithm with multi-chain balance fetching via Alchemy APICrypto-to-fiat conversion and bank settlement simulation (Fern API integration ready)Real-time transaction monitoring and merchant notificationsBlockchain IntegrationMulti-chain support: Ethereum, Base, Polygon, Arbitrum, Optimism (testnets for demo)Token support: USDC, USDT, DAI, ETH, MATIC with automatic decimal handlingEIP-681 payment standard compliance for broad wallet compatibilityDemo FlowMerchant opens POS app, enters $10.00 chargeCustomer opens EazyPay customer app (one-time wallet linking)Customer taps NFC phone to merchant phoneApps exchange payment information via custom NDEF protocolBackend automatically detects customer has 50 USDC on Base SepoliaAlgorithm selects Base USDC (optimal: L2 + stablecoin + low fees)Customer phone opens MetaMask with pre-filled payment requestCustomer approves transactionBackend monitors blockchain, detects payment completionInstant crypto→USD conversion and settlement to merchantMerchant dashboard shows +$10.00 USD receivedMarket ImpactLower Fees: 1.5% vs 2.9% traditional card processingInstant Settlement: Same-day vs T+2 for card paymentsGlobal Access: Crypto enables payments from anywhereFuture-Proof: Ready for mainstream crypto adoption waveHow It's MadeTechnology StackMobile Applications (Android/Kotlin)UI Framework: Jetpack Compose with Material Design 3NFC Implementation: Host Card Emulation (HCE) for customer app, NFC Reader Mode for merchant appBlockchain Integration: Web3j library for Ethereum interactions, custom multi-chain RPC managementArchitecture: MVVM pattern with coroutines for async operationsBackend (Python/FastAPI)API Framework: FastAPI with async/await for high concurrencyBlockchain APIs: Alchemy SDK for multi-chain balance fetching and transaction monitoringPayment Processing: Fern API integration for crypto-to-fiat conversion and bank settlementData Models: Pydantic for type-safe API request/response handlingBlockchain InfrastructureNetworks: Ethereum, Base, Polygon, Arbitrum, Optimism (mainnet ready, testnet for demo)Standards: EIP-681 (payment URIs), EIP-155 (chain IDs), ERC-20 token standardAPIs: Alchemy for RPC calls, balance queries, and transaction monitoring webhooksKey Technical Innovations1. Custom NFC Protocol for Crypto PaymentsWe built a custom NDEF (NFC Data Exchange Format) protocol that enables direct phone-to-phone communication for payment initiation. This was particularly challenging because:Standard NFC payments (Apple Pay/Google Pay) use proprietary protocolsWe needed to exchange wallet addresses and payment amounts securelyBoth phones need to act as NFC card and reader simultaneouslyImplementation: Customer app uses Host Card Emulation (HCE) with custom AID (Application Identifier), merchant app uses NFC Reader Mode. Payment data is exchanged via NDEF messages containing wallet addresses and EIP-681 payment URIs.2. Multi-Chain Balance Aggregation & Smart RoutingThe most complex part was building an algorithm that:Queries 5+ blockchain networks simultaneously via Alchemy APIParses different token contracts (USDC has different addresses on each chain)Calculates optimal payment route considering fees, speed, and user preferencesHandles decimal precision differences (USDC=6 decimals, DAI=18 decimals)Implementation: Parallel coroutine-based balance fetching with priority scoring algorithm. Base USDC gets highest priority (native L2 stablecoin), then other L2 stablecoins, then L1 tokens.3. Wallet Auto-Detection & IntegrationSupporting 10+ different crypto wallets required reverse-engineering Android package manager APIs:Detect installed wallet apps via intent query resolutionGenerate wallet-specific deep links for payment approvalHandle different wallet URI schemes and parametersImplementation: Custom wallet detection using PackageManager.queryIntentActivities() with ethereum: URI scheme, fallback to known package name detection.Partner Technology IntegrationsAlchemy APIBenefit: Reliable multi-chain infrastructure without running our own nodesUsage: Balance queries, transaction monitoring, gas estimation across 5 networksWhy Critical: Hackathon timeline required production-ready blockchain accessFern APIBenefit: Instant crypto-to-fiat conversion with direct bank settlementUsage: Converting received crypto to USD and depositing to merchant bank accountsImplementation: RESTful API integration with customer account managementAndroid NFC StackBenefit: Leverages existing contactless payment infrastructureUsage: Host Card Emulation and NFC Reader Mode for true tap-to-pay experienceWhy Better: No QR codes, works like Apple Pay/Google Pay that users already understandNotable Hacks & Engineering Decisions1. Testnet Demo StrategyFor hackathon safety, we built dual mainnet/testnet support with a simple configuration toggle. All blockchain interactions work on both Base Sepolia (testnet) and Base mainnet without code changes.2. Demo Backend with Simulated SettlementSince full Fern API integration requires production KYC/compliance, we built a demo backend that simulates the entire payment flow with realistic delays and responses. Judges see the full user experience while we maintain the ability to switch to production APIs.3. NFC Protocol Fallback ChainNFC communication can fail due to phone positioning, interference, etc. We implemented a fallback chain:Try custom EazyPay protocolFall back to standard NDEF message exchangeFinal fallback to QR code generation (traditional crypto payment UX)4. Multi-Wallet Support Without SDK DependenciesInstead of integrating 10+ wallet SDKs (which would bloat the app), we use the universal ethereum: URI scheme that all wallets support. This "hacky" approach actually provides better compatibility than official SDK integrations.Development Challenges OvercomeAndroid NFC Debugging: NFC only works on physical devices, making development iterations slow. We built extensive logging and state management to debug payment flows.Multi-Chain State Management: Tracking balances and transactions across 5+ networks required careful async programming and error handling for network failures.UX Simplification: The hardest challenge was hiding crypto complexity from end users while maintaining security. Our solution: smart defaults with zero user configuration required.

Hackathon

ETHGlobal New York 2025

2025

Contributors