Legacy that couldn't be turned off.
The operator's existing platform handled a very large monthly transaction volume. Maintenance windows were measured in hours of forgone revenue — a replatform with a freeze was not commercially possible. A parallel-run with manual reconciliation would have introduced reconciliation drift across multiple regulators. Either path was unacceptable.
Live cut-over, wallet-first, region-by-region.
We migrated wallet first. Both stacks read the same balance state through a thin shim that survived the entire cut-over. CRM and content followed once wallet parity was verified daily over a sustained window. Each region was cut over independently, so a regression in one market couldn't propagate. The legacy stack stayed online as a read-only fallback for a defined soak period post-migration.
By the numbers.
- Zero player-visible downtime across the live migration
- Full wallet-balance parity verified daily through cut-over
- Cross-sell wallet enabled day-one post-migration
- Compliance reports filed across multiple regulators with zero queries
Evidence status: first-party case claims pending a governed evidence pack with cohort dates, definitions, denominators, exclusions and source snapshots.
The migration didn't show up in our metrics. Players didn't notice — that was the brief, and that's what we got.