Skip to content

digimercados/digipaga

Repository files navigation

DigiPaga β€” Pay Utility Bills with Mento Stablecoins

License: MIT Celo Mento Global Stablecoin Hackathon

Making crypto useful for everyday essentials πŸ’‘

Pay electricity, water, internet & more with stablecoins on Celo

πŸ“‹ Table of Contents

🌟 Overview

DigiPaga bridges the gap between crypto and everyday utility payments. Our platform allows users to pay real-world bills directly with Mento stablecoins on the Celo network, providing a seamless experience between digital currency and essential services.

Demo Video: Watch how DigiPaga works (Stablecoin Mento Celo MiniPay Hackathon)

πŸ” The Problem & Solution

Problem: Millions lack access to reliable tools for paying essential services with crypto. In emerging markets, high fees, delays, and infrastructure gaps create significant barriers between digital assets and real-world utilities.

Solution: DigiPaga provides a mobile-first platform enabling instant, secure utility payments using Mento stablecoins. Our integration handles the complexity of blockchain transactions and automatically converts crypto to fiat for service providers, enabling:

  • For Users: Pay bills anytime with low fees using stablecoins
  • For Providers: Receive payments in local currency without blockchain knowledge

πŸ’« Key Features

Feature Description
🧾 Multi-Currency Support Pay with cUSD, cEUR, cREAL, eXOF, and other Mento stablecoins
πŸ’± Automatic Fiat Conversion Backend converts crypto to fiat for service providers
πŸ” Transaction Verification On-chain verification with transparent tracking
🌎 Multi-Country Support Initial focus on Mexico & Colombia, expanding across LatAm
πŸ“± MiniPay Integration Seamless experience with the MiniPay wallet
πŸ”„ Status Tracking Real-time payment status updates

πŸ—οΈ System Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    Client Side    β”‚     β”‚   Backend Layer   β”‚     β”‚ External Services β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚     β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚     β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  Next.js UI │──┼─────┼─▢│ API Routes β”‚  β”‚     β”‚  β”‚   Payment   β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚     β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚     β”‚  β”‚  Providers  β”‚  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚     β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚     β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  β”‚  MiniPay    │◀─┼─────┼─▢│  Payment   β”‚  β”‚     β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚   Wallet    β”‚  β”‚     β”‚  β”‚  Service   │◀─┼─────┼─▢│    Celo     β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚     β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚     β”‚  β”‚ Blockchain  β”‚  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“Š Payment Flow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  User   │───▢│ DigiPaga │───▢│   MiniPay   │───▢│    Celo      β”‚
β”‚         β”‚    β”‚          β”‚    β”‚   Wallet    β”‚    β”‚  Blockchain   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
     β”‚              β”‚                 β”‚                   β”‚
     β”‚              β”‚                 β”‚                   β”‚
     β”‚              β”‚                 β”‚            Verify β”‚
     β”‚              β”‚          Send   β”‚          Transaction
     β”‚              β”‚      Transactionβ”‚                   β”‚
     β”‚              β”‚                 β”‚                   β”‚
     β”‚         Show β”‚                 β”‚                   β”‚
     β”‚       Status β”‚                 β”‚                   β”‚
     β”‚              β”‚                 β”‚                   β”‚
     β–Ό              β–Ό                 β–Ό                   β–Ό

🧰 Tech Stack

Frontend Backend Blockchain Integration
Next.js 15 API Routes Celo Network Payment APIs
React 19 Payment Service Mento Stablecoins Provider APIs
TypeScript Verification API MiniPay Wallet Status APIs
TailwindCSS Transaction Logger Smart Contracts Analytics
Shadcn UI
Wagmi/Viem

πŸš€ Getting Started

Prerequisites

You'll need:

Quick Setup

# Clone the repo with submodules
git clone --recurse-submodules https://github.com/digimercados/digipaga.git
cd digipaga

# Install dependencies
bun install

# Install additional dependencies for Mento integration
bun add uuid @types/uuid

# Set up environment variables
echo "NEXT_PUBLIC_CELO_RPC_URL=https://alfajores-forno.celo-testnet.org
NEXT_PUBLIC_DEFAULT_FEE_CURRENCY=0x765DE816845861e75A25fCA122bb6898B8B1282a" > .env.local

# Start development server
bun dev

Visit http://localhost:3000 in your browser.

πŸ”’ Security Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Authentication    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ - Wallet Auth      β”‚
β”‚ - API Protection   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Transaction Securityβ”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ - Payment IDs      β”‚
β”‚ - Verification     β”‚
β”‚ - Validation       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Data Protection    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ - Env Variables    β”‚
β”‚ - Secure Storage   β”‚
β”‚ - HTTPS            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“ Project Status

Current milestone: Mento Stablecoin Integration (May 2025)

  • βœ… Frontend UI for service selection and payment
  • βœ… MiniPay wallet integration
  • βœ… Mento stablecoin payment processing
  • βœ… Transaction verification and logging
  • βœ… Payment receipt generation
  • πŸ”œ Service provider API integration
  • πŸ”œ Multi-country expansion
  • πŸ”œ Payment history and analytics

πŸ‘₯ Team

  • digipaga.eth - Project Lead
  • ottox.eth - Blockchain and Smart Contract Developer
  • ozkite.eth - Frontend Developer and Product

πŸ“š Documentation

πŸ”— Links


Built for the Global Stablecoin Hackathon (May 2025)

DigiPaga | GitHub | Website

Releases

No releases published

Packages

 
 
 

Contributors