Mizu Pay

Pay with crypto anywhere—every transaction regenerates the planet.

Mizu Pay

Created At

ETHOnline 2025

Project Description

Mizu Pay is a Web3 payment gateway that lets anyone purchase real-world goods on any e-commerce platform using Celo stablecoins (cUSD) or CELO, while automatically contributing to regenerative finance (ReFi) projects with every transaction.

At its core, Mizu Pay bridges the gap between crypto usability and real-world utility. Today, millions hold digital assets they can’t easily spend. Mizu Pay fixes that by enabling users to pay on any checkout page — like Amazon or Walmart — through a browser extension and decentralized payment flow powered by Celo.

Here’s how it works:

The browser extension detects checkout pages and prompts users with a “Pay with Mizu” option.

When clicked, the user is redirected to the Mizu Pay DApp, which pre-fills details like store, amount, currency, and country.

The user pays using cUSD or CELO via their wallet (Valora, MetaMask, etc.), and the transaction is verified on-chain through a smart contract.

Once confirmed, Mizu’s backend automatically fulfills the order by purchasing a corresponding gift card (via API or inventory for MVP) and sending it instantly to the user’s email and dashboard.

Finally, 1% of every transaction is routed to a Celo-native ReFi pool, transparently funding climate-positive initiatives like carbon offsets or ecosystem restoration.

This creates a closed-loop, regenerative payment system — users spend crypto effortlessly, merchants get fiat-value gift cards, and the planet benefits from every transaction.

Unlike other Web3 payment demos, Mizu Pay is designed for scalability, maintainability, and real-world adoption:

No brittle checkout automation or web scraping.

No pre-purchased “inventory float” required.

Fully modular, with an on-chain verification layer, indexer (Envio/Subgraph), and stateless backend using “Sign in with Wallet.”

Mobile-first, aligned with Celo’s mission of making financial tools accessible globally.

In short — Mizu Pay turns crypto from a speculative asset into a usable, regenerative currency. Every time someone pays, value flows not just to merchants, but back into the planet.

💧 Fast. Seamless. Regenerative. That’s the future of payments.

Would

How it's Made

Mizu Pay is built as a full-stack, Celo-native payment system combining on-chain smart contracts, a Next.js web DApp, a browser extension, and a Supabase-powered backend — all stitched together in real time using Envio for blockchain event indexing.

🧩 Architecture Overview

Frontend (DApp): Built with Next.js + TypeScript + Tailwind, the DApp handles wallet connection, payment initiation, and transaction tracking. It interacts directly with Celo’s cUSD/CELO tokens and communicates with our backend through Next.js API routes.

Smart Contract: Written in Solidity, deployed on Celo Sepolia Testnet, and responsible for receiving payments, emitting PaymentReceived events, and storing basic transaction stats (amount, payer, timestamp, ReFi portion).

Indexer: Implemented with Envio, which listens for on-chain events from the contract, verifies successful payments, and pushes data to the backend for order fulfillment.

Backend: Powered by Next.js API routes and Supabase.

Supabase handles database operations for user profiles, payment sessions, gift card inventory (for MVP), and ReFi logs.

The backend verifies payment status from Envio, then either retrieves a pre-purchased gift card from inventory or simulates fulfillment via partner APIs (CryptoRefills, Bidali, or TangoCard).

Browser Extension: Developed in JavaScript (Manifest V3), it detects checkout pages, displays a “Pay with Mizu” prompt, and redirects users to the DApp with relevant data (store, amount, currency, etc.) via URL parameters — a simple but robust bridge between Web2 checkout and Web3 payments.

ReFi Integration: A fixed 1% of each transaction is logged for regenerative finance purposes — sent to a Celo-native ReFi pool address or recorded in Supabase for on-chain contribution tracking.

⚙️ Technical Highlights

Session Linking via Transaction Memo: Each payment includes a unique session ID in the memo field, allowing the backend to verify and match payments without centralized custodianship — a neat hack that makes the system trustless and stateless.

Stateless Auth: Users sign in with their wallet; no passwords or OAuth required. Supabase stores minimal user metadata (email + wallet address) for notifications.

Next.js + Envio Synergy: The real-time bridge between Envio’s event indexer and Next.js API routes ensures that as soon as a transaction is detected on-chain, the backend triggers fulfillment instantly.

Hackathon Adaptation: For the MVP, we use pre-purchased gift cards stored in Supabase; production would swap this with live gift card APIs.

🌍 Tech Stack

Frontend: Next.js, TypeScript, Tailwind, WalletConnect Extension: JavaScript (Manifest V3) Smart Contract: Solidity (Celo Sepolia Testnet) Indexer: Envio Backend: Next.js API routes + Supabase Database: Supabase (PostgreSQL) Ecosystem: Celo, Valora, cUSD, ReFi pools

background image mobile

Join the mailing list

Get the latest news and updates