
ami-pay
AmiPay extends Peanut: Enable amigos to fund your on-chain payment allowances.
Demo
About
## 🌎 Our Story We came to Argentina for DevConnect and ETHGlobal Argentina, and we absolutely fell in love with this place! During our stay, we discovered "Peanut" - a local payment app that does an amazing job supporting both fiat money and crypto payments. However, we noticed there's still room for improvement. As the citizens from like China, we experienced the difficulty of passing KYC processes, which prevented us from paying at restaurants and shops. This inspired us to build **AmiPay** during the hackathon. ## 🎯 The Problem For many international travelers, especially those from certain regions, KYC verification can be a significant barrier to accessing payment services. This creates a frustrating experience when trying to pay for everyday expenses like meals and shopping. ## 💡 Our Solution **AmiPay** enables amigos (your friends) who can pass KYC and have the money to deposit an allowance for you. When you need to pay, you can use this pre-funded allowance.
How it's made
### How It Works The core features are following: 1. **Sponsor Deposits**: A friend (sponsor) who has passed KYC deposits tokens into the AmiPay smart contract, specifying you as the beneficiary 2. **You Spend**: When you need to pay, you can spend from the allowance your friend deposited 3. **Direct Transfer**: The payment goes directly from the smart contract to the merchant/recipient All of this is managed transparently on-chain through our smart contract, ensuring trust and security. ## 🏗️ Architecture ## 📁 Project Structure ``` ami-pay/ ├── contracts/ # Solidity smart contracts │ ├── AmiPay.sol # Main contract │ └── TestToken.sol # Test ERC20 token ├── frontend/ # React frontend application │ └── src/ │ ├── App.tsx # Main app component │ ├── components/ │ └── chainConfig.ts ├── scripts/ # Deployment and utility scripts ├── ignition/ # Hardhat Ignition deployment configs └── hardhat.config.ts # Hardhat configuration ``` ## 🛠️ Tech Stack ### Smart Contracts - **Solidity** ^0.8.28 - **Hardhat3** for development and testing - **OpenZeppelin** contracts for security - **Hardhat Ignition** for deployment ### Frontend - **React** 19 with **TypeScript** - **Vite** for build tooling - **Wagmi** & **Viem** for Ethereum interactions - **RainbowKit** for wallet connection - **React QR Scanner** for payment scanning