Transaction Management
Idempotency: Transactions are idempotent using transactionId (for that round). Promotion payouts are idempotent using transactionId.
Duplicate Handling: Duplicate requests will return the original response with the balance at current point in time.
Idempotency Window: 24 hours for all transaction types.
Round Completion: Rounds must always be marked as completed when finished to prevent orphaned transactions.
Free Game Management
Validation: Free game offers should be checked for validity on every relevant transaction, as free game instances can be assigned at any time.
Auto-Assignment: Free games may be auto-assigned between API calls, always check the latest state.
Balance Management
Real-time Updates: Player balances can update outside of game sessions due to promotions, other games, or manual adjustments.
Refresh Strategy: Implement balance refresh when there is no player activity. Recommended refresh interval is 7 seconds.
Currency Handling: Use the currency multiplier for accurate financial calculations and reporting. For game play and client display, always use the value as per player currency.