Escrowd — Commission Escrow with Paymob
Overview

Cursor × Paymob buildathon build: Arabic-first escrow for illustration commissions — deposit starts work, balance unlocks the file
The Problem
Buildathon challenge #03, "Brief to delivery": Nour, 27, an illustrator in Alexandria, takes commissions through Instagram DMs. Clients ghost her after half the work is done, nothing is written down so scope and price get argued after the fact, and she sends the same twelve pricing messages to every new enquiry.
The Solution
One bio link → an Arabic-first brief with a live price calculator → a deposit on Paymob Unified Checkout starts the work → the artist uploads preview and final → the balance payment unlocks a signed download. Paid state is written only after the HMAC-SHA512 webhook verifies, with Transaction Inquiry as fallback.
Technologies used
13Languages
Platforms
Backend, data & cloud
Tooling & delivery
Experience & UI
Other
Key Outcomes
- Two real Paymob payments (deposit + balance) on one order row, each a fresh Intention with a single-use client secret and a typed special_reference.
- Client needs no account: a secret 12-char order URL, frozen brief receipt, and a private Supabase bucket that withholds the final file until the balance clears.
- Shared pricing function on client and server, studio dashboard with KPIs and a one-step-at-a-time status machine, 8 node:test suites covering HMAC field order and tampered amounts.