MATCH ESCROWRun verified demo  →
DemoOverviewArchitectureWhy skill-basedSecurityIntegrationEvidenceWhy Match EscrowFAQ
HOW MATCH ESCROW WORKS

Skill decides the outcome.
Code settles the prize.

Match Escrow adds programmable, non-custodial settlement to an existing competitive game. Your backend remains the authority on gameplay; the smart contract holds equal stakes and accounts for the verified result.

✓ Non-CustodialPlayer wallets + contract✓ Edge-NativeCloudflare Workers✓ Base MainnetChain ID 8453✓ Global NetworkCloudflare edge
01 · THE CONCEPT

A settlement layer — not a new game platform

The product does not replace matchmaking, identity, gameplay or result verification. It connects a studio's existing backend to a fixed 1:1 settlement contract.

That separation keeps integration focused: the game decides what happened; Match Escrow enforces what the verified result pays.

01Game backendCreates the match and verifies the outcome
authenticated
request  →
02Escrow APIValidates, deduplicates and submits
Base
transaction  →
03MatchEscrowHolds USDC and applies fixed rules
claimable
balance  →
04Player walletThe winner claims directly
02 · ARCHITECTURE

Each layer has one clear responsibility

A small surface area makes the system easier to integrate, monitor and reason about.

YOUR PRODUCT

Game frontend & backend

Owns players, matchmaking, skill rules and result verification. The API signing secret remains in the backend.

  • Creates a unique match ID
  • Starts play after both deposits
  • Submits player1, player2 or draw
EDGE CONTROL

Cloudflare Worker API

Authenticates create and resolve operations, validates the 1:1 invariant and submits resolver transactions.

  • HMAC-signed writes
  • Idempotent retries and nonce protection
  • Durable request and audit state
SETTLEMENT

MatchEscrow contract

Holds equal player deposits and deterministically credits the winner, refunds or fee recipient.

  • Exactly two fixed players
  • Terminal result and timeout exits
  • Transparent USDC accounting
USER CUSTODY

Player wallets

Players approve, deposit, refund and withdraw directly. The Worker receives neither player funds nor keys.

  • Unsigned calldata from the API
  • Wallet verifies and signs
  • Pull-based claims
EDGE-NATIVE INFRASTRUCTURE

Built for global execution

Match Escrow runs on Cloudflare's global edge network. Instead of depending on one regional API server, requests are served through Cloudflare's worldwide edge infrastructure and executed close to the requesting client.

This makes the API layer edge-native by design. Base Mainnet remains the final settlement layer, while the Worker handles authenticated orchestration, validation and durable request state.

  • Global edge execution
  • Low-latency API responses
  • No single regional API backend
  • Automatic horizontal scalability
  • Smart contract settlement on Base Mainnet
🌍Cloudflare Global Edge300+ network locations worldwide
nearest edge execution
Escrow APIAuthentication · validation · orchestration
resolver transaction
MatchEscrowBase Mainnet · official USDC
03 · WHY SKILL-BASED

The economic result follows a verified competitive result

Match Escrow is designed for contests where the outcome comes from player performance and the game backend can identify a winner or draw. The contract does not roll dice, price odds or invent a result.

Your game remains the source of truth for skill. Match Escrow becomes the source of truth for settlement.
GAME DECIDESWho playedWhat rules appliedWho won or drewWhen progression updates
ESCROW GUARANTEESEqual locked stakesOnly registered players fundDeterministic payout mathEvery token unit accounted
04 · TRUST BOUNDARIES

Non-custodial does not mean trust-free

The contract protects custody and settlement rules. The integrating backend remains trusted to submit the correct result.

We never

  • Hold player funds in the Worker
  • Receive player private keys
  • Access or operate player wallets
  • Determine the gameplay winner
  • Charge a separate upfront platform fee

The contract guarantees

  • Both players deposit the same stake
  • Both deposits exist before resolution
  • A terminal player1, player2 or draw outcome
  • Winner payout plus fee equals the pot
  • Fee-free draw and timeout refunds
05 · INTEGRATION

Three backend touchpoints. Player wallets do the rest.

The API behaves like an escrow adapter between your backend, player wallets and Base.

1
BEFORE PLAY

Create the 1:1 match

Persist both wallet addresses, equal stake, chain and deterministic match ID. Send one authenticated, idempotent request.

POST /api/matches
2
PLAYER FUNDING

Prepare wallet transactions

The public API returns chain-bound unsigned calldata. Each player signs approve and deposit from their own wallet.

approve() → deposit(matchId)
3
AFTER PLAY

Submit the verified result

Wait for confirmed chain state, submit player1, player2 or draw, then update progression after resolve finality.

POST /api/matches/:id/result
Important reliability rule

Contract state is authoritative. If a wallet receipt succeeds but the application callback fails, reconcile the confirmed transaction instead of asking the player to pay again.

06 · NOT A MOCKUP

One real-USDC lifecycle, verifiable end to end

The guided demo replays a controlled production run from the SkillChess integration. It does not fabricate transactions or submit new ones during the presentation.

VERIFIED RESULTPlayer 2 won0.0198 USDC claimed0.0002 USDC platform fee · 0.0000 unaccounted
Application matchinvite-mrmhrcsj
Game referencePmzC45on
On-chain match0xfc6494…501b8d
Escrow contract0x8b9a63…11836f ↗
Resolve transaction0x75186f…190eb ↗
Winner withdrawal0x51cb28…9a371 ↗
07 · WHY MATCH ESCROW

Settlement infrastructure built for real games

Five practical properties make the system useful to studios and verifiable by technical teams.

Integrates into Existing GamesNo need to rebuild your backend, matchmaking or game logic.
Automated Prize SettlementSmart contract rules turn a verified result into a claimable payout.
Edge-Native InfrastructurePowered by Cloudflare's global edge network.
Non-Custodial by DesignPlayers keep their keys and funds move through the contract.
Deterministic & AuditableEvery settlement follows transparent contract rules and can be independently verified on-chain.
08 · FAQ

Questions studios ask first

Does Match Escrow hold player funds?

No. USDC moves from player wallets into the MatchEscrow contract. The Worker never receives or controls those tokens.

Who decides the winner?

The authorized game backend does. Match Escrow validates match state and settles the result supplied by that trusted backend.

Why does this fit skill-based competition?

Settlement follows a result produced by player performance and verified by the game. The payment layer remains independent of game-specific rules.

What happens on a draw or timeout?

A draw returns both full stakes with no platform fee. After an unresolved funded deadline, either player can trigger a fee-free refund for both stakes.

Can this connect to an existing game?

Yes. The game needs two wallet addresses, a stable match ID, a stake and a trusted result. Matchmaking and gameplay remain unchanged.

Is it production ready?

A controlled Base Mainnet real-USDC lifecycle is operational and verified. The contract remains unaudited, so public rollout and larger stakes require independent review first.

SEE THE PRODUCT

Replay the verified lifecycle yourself.

No wallet. No funds. Every displayed transaction comes from a completed Base Mainnet run.

Launch Guided Demo  →