A deliberate build for the African digital economy.
# PayEase
PayEase lets users activate subscriptions without credit cards by paying in USDC on Base (Ethereum).
## Overview
- Non-custodial payment bridge for X Premium and similar subscriptions.
- Users pay USDC on Base and receive a single-use virtual card locked to the merchant domain.
- No passwords collected. Users complete checkout themselves.
- Payments are off-ramped via Kotani and fiat funds card issuance.
- Waitlist capture with a simple admin view.
# Presentation slide
Slide deck
## User flow
1. User selects platform and plan (e.g., X Premium $8).
2. User pays $10 USDC on Base (includes $2 convenience fee).
3. Backend verifies payment, off-ramps via Kotani, funds card issuer (Bridgecard).
4. User receives a single-use card (number, expiry, CVV) locked to the merchant.
5. User completes checkout directly on the merchant site.
## Features
- Wallet connect (wagmi + RainbowKit) on Base Sepolia for demo payments.
- One-time card reveal with expiry countdown and copy-to-clipboard.
- Waitlist form + admin list view.
Supported platform right now: X (Twitter) Blue.
## Tech stack
Frontend
- Next.js 16 (App Router)
- React 19
- Tailwind CSS
- wagmi + RainbowKit (Base Sepolia wallet connect)
Backend
- Node.js + Express
- MongoDB (Mongoose)
- Kotani Pay API
- Node-cron for polling
## Project structure
- `src/` - Next.js frontend
- `backend/` - Express API + payment services
## Getting started
### 1) Install dependencies
Frontend:
```bash
npm install
```
Backend:
```bash
cd backend
npm install
```
### 2) Configure environment variables
Create a `.env` in `backend/` (do not commit secrets):
```bash
# Kotani
KOTANI_BASE_URL=
sandbox-api.kotanipay.io
KOTANI_API_KEY=your_kotani_api_key
# Pricing
X_SUB_PRICE_USD=8
PAYEASE_FEE_USD=2
# Backend URLs
BASE_URL=
localhost
# Database
DATABASE_URI=mongodb+srv://user:pass@
cluster.mongodb.net
# Optional (for on-chain USDC verification)
BASE_RPC_URL=
your-base-rpc-endpoint
U …