Архитектура iGaming-платформы: casino, sportsbook, wallet

Архитектура iGaming-платформы: casino, sportsbook, wallet

iGaming-платформа — не «сайт с играми», а финансовая система с регуляторикой. Ядро: wallet/ledger, game integration layer, risk, compliance.

Архитектура iGaming-платформы: casino, sportsbook, wallet
Иллюстрация к материалу

Core domains

  • Player account & KYC
  • Wallet / ledger (double-entry)
  • Casino aggregator + sportsbook feed
  • Bonus & CRM
  • Affiliate & reporting

Integration layer

Adapter per provider (SoftSwiss, EveryMatrix, etc.). Unified bet/settle API inward.

Non-functional

  • Latency для live betting
  • Audit trail immutable
  • Geo / license restrictions
Архитектура iGaming-платформы: casino, sportsbook, wallet
Схема и рабочий процесс

Чеклист

  • Bounded contexts documented
  • Event bus for bet lifecycle
  • Separate PCI-ish payment scope

Слои платформы

Presentation (web/mobile) → BFF/API → domain services (wallet, bonus, KYC) → integration adapters (games, PSP) → data (Postgres, Redis, event store).

Критично не смешивать ledger logic с UI и не хранить баланс одним float-полем.

Event-driven границы

Bet placed / settled / voided — доменные события в bus. Reporting и CRM подписываются асинхронно; wallet остаётся source of truth синхронно в транзакции accept bet.

Модули и команды

Команда wallet/payments не правит bonus rules напрямую — только через published API или events. Game integration — отдельный adapter layer с sandbox per provider.

Reporting читает replica или CDC, не нагружает OLTP wallet. Affiliate и CRM — eventual consistency допустима; bet accept — только strong consistency в транзакции.

License geo: enforcement на edge (CDN/WAF) и в API — двойная проверка, иначе VPN обходит только UI block.

С чего начать декомposition

  • Нарисуйте bounded contexts: wallet, games, KYC, bonus
  • Выделите adapter layer на одного провайдера как образец
  • Event bus для bet lifecycle — один flow end-to-end
  • Reporting на replica, не на OLTP wallet