ami-pay

AmiPay extends Peanut: Enable amigos to fund your on-chain payment allowances.

ami-pay

Created At

ETHGlobal Buenos Aires

Project Description

šŸŒŽ 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
background image mobile

Join the mailing list

Get the latest news and updates