Money
Earnings and payouts
Gross / refunded / fees / availableBalance + payout history.
/provider/earnings shows rolling totals per currency: gross, refunded, platform fee, tip-payable, pending earnings, released, paid out, available balance. The available-balance ribbon at the top of /provider is what you can withdraw right now.
Payouts are pulled by Stripe / Razorpay daily (test mode pulls instantly). Failed payouts surface a red status pill with the failureReason inline.
Multi-gateway routing
INR offerings auto-route to Razorpay; everything else defaults to Stripe. You can override per-tenant from /provider/settings → Payments. Razorpay supports UPI, cards, netbanking, and wallets via the Razorpay modal on checkout.
loadConfig() refuses to start the API with live Stripe keys outside NODE_ENV=production. Test mode is sticky during local dev.