What actually runs
Runtime loops
Each loop is implemented, annotated on the source file with @docs, and callable over HTTP.
Click a route to hit the live server. Open the file path in the repo — the comment at the top of that file is the same story in engineer voice.
Loop · Hold at booking, capture at completion, payout on demand
Escrow & ledger
Double-entry cents. Demo writes the journal without Stripe. Production refuses if GO_LIVE blockers remain.
- Authorize hold (stripe_pending ↔ platform_clearing).
- Capture splits fees and payee shares.
- Refund reverses clearing to the processor.
- Cash-out moves payable to stripe_pending (Connect transfer in production).
backend/modules/payments/domain/ledger.ts
holdAtBooking / captureAndSplit — Zero-sum journals
backend/modules/payments/application/escrow.ts
EscrowService — Stripe when keys exist
backend/shared/golive/status.ts
assertProductionMoney — Go-live gate
$0 demo: Simulated PaymentIntent. Ledger still balances to zero.Scale: STRIPE_SECRET_KEY + Stripe Connect.