Define system ownership first
| Domain | Required ownership decision |
|---|---|
| Customer and account | Which platform owns identity, lifecycle state, support context, and permissions? |
| Payments | Which system owns transaction status, entitlements, refunds, and reconciliation? |
| Sports data | How are event identifiers, settlement, corrections, and provider outages handled? |
| Communications | Which events trigger messages, and where is delivery or failure recorded? |
| Analytics | Which definitions govern activation, qualification, retention, and payout metrics? |
Use event-driven state changes with idempotency
Each external event should have a stable identifier, timestamp, source, expected state transition, and replay policy. Repeated webhooks must not create duplicate accounts, entitlements, notifications, commissions, or payouts.
Design for failure, not just connection
Protect the audit trail
Operators should be able to answer what changed, which service initiated the change, what rule applied, whether a retry occurred, and who approved any manual correction.
Integration acceptance checklist
- Happy path and duplicate event.
- Delayed event and out-of-order event.
- Provider timeout and invalid credentials.
- Manual correction with recorded reason.
- Reconciliation and export.
See the core sports prop tech layer this architecture supports. The sports prediction infrastructure guide covers the broader platform, while the implementation proof guide helps assign responsibilities.