FlareGate

Decentralized P2P Fiat↔Crypto On/Off-Ramp

🏆 1st Place Consumer & 1st Place Flare ETH Oxford 2025

Problem Statement

Cross-border fiat↔crypto trades usually depend on trusted intermediaries or manual reconciliation. We wanted to reduce counterparty risk by enforcing order state transitions on-chain while still validating off-chain fiat payment evidence.

Solution & Approach

We implemented a Solidity `Marketplace` order state machine (`AVAILABLE -> ACCEPTED -> PAID -> COMPLETED`) and connected it to a Next.js frontend. For fiat confirmation, we integrated Flare FDC request/proof flow (`prepareRequest`, `submitRequest`, `submitProof`) and then called `recordFiatPayment` on-chain before token claim.

Tech Stack

Solidity logoSolidity
Next.js logoNext.js
TypeScript logoTypeScript
ethers.js logoethers.js
Supabase logoSupabase

Tech choices were selected for fast hackathon iteration, clear separation of concerns, and deployable paths beyond demo scope.

System Design

System architecture is shown as a single cleaned diagram for readability.

flaregate system design diagram

Key Learnings

The biggest learning was designing around hybrid trust boundaries: on-chain logic can be strict, but off-chain payload quality and attestation timing dominate user experience. If we extended this, we would harden secret management and replace indefinite retries with bounded retries + explicit status states.

Contact Me

Feel free to reach out to me through the following channels:

Modul