Skip to main content
InternalMarkdown

ADR 0015. PlayerPal Is an Async Loyalty Sidecar

Status​

Accepted.

Together with ADR 0016, supersedes ADR 0003 for gameplay. Strengthens ADR 0004.

Context​

If PlayerPal sits in game launch, wager or payout, an identity outage becomes a casino outage. Partners will not accept that. Loyalty can be delayed; settlement cannot.

Decision​

If every PlayerPal service is unavailable, the operator and provider must still authenticate the player, launch the game, accept bets, settle rounds and pay winnings.

  • No PlayerPal call before or during game launch.
  • No PlayerPal call per wager or round.
  • The provider receives pp_plr_prv_... in the operator's existing launch metadata (provisioned at link time).
  • Activity is written to a local outbox and submitted in asynchronous batches.
  • Overlay/status reads are optional and must fail open with respect to play.

Interactive linking may fail; the game remains usable.

Consequences​

  • Token refresh is per integration worker (minutes), not per player.
  • IAM outages must not invalidate already accepted batches.
  • Interactive/core and ingestion scale independently (spec §41).
  • See docs/ingestion-and-availability.md and spec §34.