When a P2P trade is created on Cambridge TCG, the platform routes it through one of three escrow tiers. The tier determines how the card moves between buyer and seller, whether Cambridge TCG inspects it in transit, and what guarantees both parties have.
Where this lives in code.apps/storefront/src/lib/escrow/trust-engine.ts(tier routing),apps/storefront/src/lib/escrow/types.ts(theEscrowTierenum andTRUST_TIERStable).
Seller ships straight to the buyer. Cambridge TCG holds the buyer's payment in escrow until the buyer confirms receipt. Used when both buyer and seller have sufficient trust scores and the trade value is below the inspection threshold.
Seller uploads photos of the card before shipping. The platform reviews the photos to catch obvious mismatches (wrong card, visible damage not declared in the listing). Once approved, the seller ships directly to the buyer.
Seller ships the card to Cambridge TCG. We inspect it physically, confirm it matches the listing, then ship it on to the buyer. The slowest tier; reserved for high-value trades, brand-new sellers, or counterparties whose trust history doesn't yet support the lighter tiers.
The router runs at trade-creation time and considers four inputs:
The chosen tier is stamped on the trade row at creation (market_trades.escrow_tier) and does not change for the life of the trade — even if the seller's trust score moves while the trade is in flight, the trade completes at the tier it was created with.
Every trade you're part of shows its tier on /account/trades. The escrow status (Awaiting Payment → Paid → Awaiting Shipment → … → Completed) follows a tier-specific lifecycle, and the page shows you exactly where you are.