Design a P2P Fiat-Crypto Escrow Marketplace

Medium45 min
1 / 30
understanding11 min read

Problem Statement: Two Settlement Worlds Behind One Trade

Frames the marketplace as a custody-and-evidence system that reconciles irreversible on-chain settlement with reversible off-chain fiat settlement.

Problem statement

Design a peer-to-peer marketplace where individuals post buy and sell offers for crypto against local fiat, agree on a price, and settle through an escrow that holds the seller's crypto until the buyer's fiat payment is verified. The platform must support offer creation with payment-method details, escrow custody of the seller's crypto, a bounded communication channel for coordinating the transfer, dispute resolution with partial mediation, reputation, multi-currency and multi-rail support, and KYC thresholds that scale with volume.

The defining engineering fact is asymmetric verifiability. The crypto leg settles on a public chain: funding, release, and refund are cryptographically verifiable, globally observable, and eventually final. The fiat leg settles inside bank ledgers and payment rails the platform cannot read: a SEPA Instant transfer settles in under ten seconds 24/7/365 [[55]], a standard SEPA credit transfer can take one to two business days, and a PayPal or card-funded transfer can be reversed weeks later as a chargeback. The platform therefore never observes fiat settlement directly; it observes claims, receipts, rail SLAs, counterparty behavior, and reputation, and it must convert weak off-chain evidence into a safe release decision for strong on-chain value.

Why this is not a generic marketplace

A goods marketplace can refund money after a bad delivery. Here the escrowed asset is bearer value: a wrong release is irreversible. A centralized exchange can net both legs inside one ledger; here the fiat leg leaves the platform's control entirely. The design must therefore treat every trade as a small protocol between strangers with three enforcement points: reserve the crypto in escrow before the fiat window opens, bound every waiting state with timers and evidence rules, and make every release or refund decision reproducible from an append-only event history.

Public operating baseline

Public figures establish that this category runs at real scale. Paxful reported 4.5 million registered wallets and 4.6 billion USD of volume by mid-2020 [[11]], later six million users and five billion dollars of volume [[12]], and a 2025 enforcement resolution described more than 26.7 million facilitated trades [[13]]. Binance P2P advertises 800+ payment methods and 100+ fiat currencies [[18]]. Bisq moved to a 2-of-2 multisig escrow in which mediators and arbitrators hold no keys [[31]]. HodlHodl publishes a 2-of-3 multisig escrow split between buyer, seller, and platform [[37]]. These are cited public claims, not requirements for our fictional system.

The four architectural planes

  1. Market plane: offers, price and spread, FX quotes, search and matching, limits and reservation.
  2. Custody plane: escrow construction (custodial ledger, multisig, or smart contract), funding verification, release, partial release, refund, fees.
  3. Settlement plane: per-asset chain watchers, confirmation and finality policy, reorg handling, fiat payment claims, rail SLAs, chargeback windows.
  4. Trust plane: reputation, dispute mediation, compliance tiers, sanctions screening, evidence and audit.

A strong interview answer keeps these planes separate: the market plane may degrade to cached quotes while the custody plane must never double-release, and the trust plane may queue disputes while the settlement plane keeps counting confirmations.

Design assumptions

Unless tied to a citation, every number in this answer is an explicit assumption: 6,000,000 registered traders, 900,000 monthly active, 60,000 concurrent at peak, 250,000 trade attempts per day, a 5x event peak, 45,000 live offers, and 15,000 simultaneous chat sessions.

Key Highlights

  • The crypto leg is verifiable and eventually final; the fiat leg is evidence-based and reversible, so release decisions are risk decisions.
  • Escrowed crypto is bearer value: a wrong release cannot be rolled back, which makes custody correctness the top invariant.
  • Public baselines: Paxful reported 26.7M+ facilitated trades in a 2025 resolution; Binance P2P lists 800+ payment methods.
  • Four planes: market, custody, settlement, trust; each degrades independently.
  • Every uncited number in this answer is a labeled design assumption, starting with 250K trade attempts per day at 5x peak.
Lead With Asymmetric Verifiability
State in the first two minutes that the chain leg is cryptographically verifiable while the fiat leg is only evidence-based and reversible. That single sentence separates a crypto-native design from a generic marketplace answer.
Do Not Draw a Chat App With a Wallet
A design that shows offers, chat, and a wallet blob without escrow state machines, confirmation policy, and dispute enforcement will fail: the hard part is deciding when irreversible value may move on weak evidence.

Section Rescue Kit

Buzzwords to use:

Asymmetric Settlement VerifiabilityBearer-Value Custody

Safe statements:

  • "Let me separate the verifiable on-chain leg from the evidence-based fiat leg before choosing any storage technology."
  • "I will treat every release decision as a risk decision bounded by timers, evidence, and reputation rather than a simple confirmation flag."
Design a P2P Fiat-Crypto Escrow Marketplace - System Design | WinJob | WinJob