Bridge the gap between Fiat and Crypto with the speed of Solana and the convenience of UPI.
| Component | URL |
|---|---|
| Frontend | https://sol-upi-v2.vercel.app |
| Backend | https://solupi-backend.onrender.com |
In the current crypto ecosystem, on-ramping (converting Fiat to Crypto) is often a complex, slow, and expensive process. Users are forced to navigate:
- P2P Exchanges: High risk of scams and slow settlement times.
- Centralized Exchanges: High fees, strict KYC requirements, and custodial risks.
- Lack of Direct Access: No seamless way to use familiar local payment methods like UPI (Unified Payments Interface) in India to buy crypto directly.
SolUPI is a decentralized application (dApp) that revolutionizes the on-ramp experience. It allows users to purchase USDC (and other SPL tokens) directly using UPI, leveraging the speed and low cost of the Solana blockchain.
- 🚀 Direct UPI Integration: Pay using your favorite UPI apps (GPay, PhonePe, Paytm).
- ⚡ Instant Settlement: Automated verification via email receipts (RRN matching) ensures funds are released instantly.
- 🛡️ Non-Custodial: We never hold your funds. It's a direct bridge to your wallet.
- 🔒 Secure & Transparent: Built on Solana's secure infrastructure with transparent transaction tracking.
- Framework: Next.js 14 (App Router)
- Styling: Tailwind CSS
- Animations: Framer Motion
- Icons: Lucide React
- Runtime: Node.js
- Framework: Express.js
- Database: PostgreSQL (via Neon)
- ORM: Prisma
- Blockchain: Solana Web3.js
- Email Processing: IMAP & Mailparser (for automated payment verification)
Follow these steps to set up the project locally.
- Node.js (v18+)
- npm or yarn
- PostgreSQL Database URL
-
Clone the Repository
git clone https://github.com/yourusername/solupi.git cd solupi -
Install Dependencies
# Frontend cd frontend npm install # Backend cd ../backend npm install
-
Environment Setup Create
.envfiles in bothfrontendandbackenddirectories.Backend
.env:DATABASE_URL="postgresql://..." PORT=3001 EMAIL_USER="your-email@gmail.com" EMAIL_PASS="your-app-password" SOLANA_RPC_URL="https://api.devnet.solana.com" JWT_SECRET="your-secret-key"
-
Database Setup
cd backend npx prisma generate npx prisma db push -
Run the Application Open two terminal tabs:
# Terminal 1: Backend cd backend npm run dev
# Terminal 2: Frontend cd frontend npm run dev
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/users/:id |
Fetch user profile details. |
PUT |
/api/users/:id |
Update user profile (Name, Mobile, etc.). |
DELETE |
/api/users/:id |
Delete user account and data. |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/orders |
Create a new buy order. |
GET |
/api/orders |
Fetch user orders (Supports pagination ?page=1&limit=5). |
PUT |
/api/orders/:id/utr |
Submit UTR (Transaction ID) for verification. |
DELETE |
/api/orders/:id |
Cancel/Delete a pending order. |
- KYC Integration: Automated identity verification.
- Multi-Chain Support: Expand to Ethereum and Polygon.
- P2P Marketplace: Allow users to sell crypto for Fiat.
- Mobile App: Native iOS and Android applications.
This project is licensed under the MIT License.
