You're absolutely right! The unified payment service should be:
ChittyTransact = ChittyPay + ChittyCharge
- ✅ ChittyCharge: Authorization holds (implemented)
- 🚧 ChittyPay: Payment processing (planned)
- 🎯 ChittyTransact: Unified service (target)
charge.chitty.cc
├── Authorization holds
├── Security deposits
└── Temporary card holds
pay.chitty.cc
├── One-time payments
├── Recurring billing
└── Instant payouts
transact.chitty.cc
├── /holds/* → Authorization holds
├── /payments/* → Payment processing
├── /payouts/* → Mercury Bank instant payouts
├── /recurring/* → Subscription billing
└── /callsigns/* → @username payments
Before:
- ChittyCharge (holds only)
- ChittyPay (payments only)
- Separate workers, separate auth, separate monitoring
After (ChittyTransact):
- Unified payment platform
- Single auth layer
- Shared rate limiting
- Consolidated monitoring
- Mercury Bank integration
- Call sign payments
- Keep ChittyCharge for now (backward compatibility)
- Build ChittyPay separately
- Merge into ChittyTransact once both stable
- Redirect charge.chitty.cc → transact.chitty.cc/holds
- Redirect pay.chitty.cc → transact.chitty.cc/payments
// Unified API
POST /api/transact/holds // Authorization hold
POST /api/transact/payments // One-time payment
POST /api/transact/payouts // Instant payout (Mercury)
POST /api/transact/subscriptions // Recurring billing
POST /api/transact/callsigns // @username → payment
// Unified webhooks
POST /webhooks/stripe
POST /webhooks/mercury
POST /webhooks/plaid
// Unified admin
GET /api/admin/transactions
GET /api/admin/reconciliation- Unified Auth: Single ChittyID token
- Shared State: KV for all transaction types
- Cross-Transaction Logic: Capture hold → instant payout
- Simplified Integration: One SDK, one API
- Consolidated Monitoring: Single dashboard
Short term: Deploy ChittyCharge as-is to validate architecture
Medium term: Build ChittyPay with same patterns
Long term: Merge into ChittyTransact with feature flags:
const features = {
holds: true, // ChittyCharge features
payments: true, // ChittyPay features
payouts: false, // Mercury (coming soon)
callsigns: false, // @username (future)
}Decision: Proceed with ChittyCharge deployment, plan ChittyTransact consolidation