Seamless Pay App
My project consists in a mobile app that allows c2c, and b2c payments using PYUSD
Problem Statement
Seamless Pay is a next-generation C2C and B2C mobile payment platform that enables users to send, receive, and manage payments using PYUSD (PayPal USD).It bridges traditional financial interactions with Web3 technology, offering a secure, intuitive, and modern way to transact between individuals and businesses. Users can manage balances, make purchases, and interact with merchants—all powered by blockchain smart contracts for transparency and traceability.The platform includes:🌐 A Next.js landing page for onboarding and marketing.📱 A React Native mobile app as the main wallet and payment hub.⚙️ An Express.js (TypeScript) API serving as the backend orchestrator, following SOLID principles and class-based architecture.🧠 Smart Contracts built with Hardhat, ensuring secure on-chain payments and identity verification.🪩 A PostgreSQL database managed via Drizzle ORM to store off-chain metadata (users, orders, KYC).🔗 WalletConnect, ethers.js, and wagmi integrated across the app ecosystem to handle wallet sessions and contract calls seamlessly.
Solution
🪙🔗Smart Contracts (Hardhat + Ethers):Implements payment channels for PYUSD transfers.Manages escrow logic and C2C settlement rules.Uses ethers for deployment and testing, with wagmi hooks for frontend interaction.⚙️Backend (Express + TypeScript):Built using class-based controllers following SOLID principles (single responsibility, dependency inversion, etc.).Integrates Zod for schema validation, zod-to-openapi for docs, and Scalar for API reference visualization.Connects to Drizzle ORM for transactional persistence.Handles authentication, KYB/KYC flows, and order reconciliation.📱🧭Frontend (Next.js + React Native):Next.js landing page: introduces the product, guides users to the app, and includes wallet connect preview via wagmi.React Native app: main wallet and payment interface; integrates with WalletConnect and supports multi-chain in future releases.🗃️Database (Drizzle + PostgreSQL):Manages off-chain data such as users, merchant profiles, and transaction logs.Uses migrations and seed scripts aligned with the API domain model.📘Documentation (Scalar + Zod):API routes automatically documented via Zod schemas → OpenAPI → Scalar web docs.
Hackathon
ETHOnline 2025
2025
Contributors
- bluehat8
5 contributions
- CosmicTiger
4 contributions