Skip to main content
Credit Debit
POST /credit-debit
This operation is idempotent.

Headers


Request Parameters

Transaction Types: Enum representing the type of transaction.
  • CREDIT_DEBIT_SPIN: A regular spin-based transaction.
  • CREDIT_DEBIT_PURCHASE: A transaction where the player directly purchases a bonus feature within the game.
  • FREEBET_CREDIT_DEBIT_SPIN: A free bet spin transaction.

Response Parameters


Error

If an error occurs while processing a request, the API must return a response with HTTP Status Code: 400 Bad Request

Responsibility of the wallet platform
The wallet platform must verify that the incoming sessionId is valid and correctly associated with the provided playerId. If promotionExternalId is present, the wallet platform must validate that it belongs to the active promotion session for the player and use it as the promo wallet context. The wallet platform must ensure that creditAmount does not exceed the player’s balance before the transaction. INSUFFICIENT_FUNDS must be returned otherwise. Negative creditAmount or debitAmount must be rejected with BET_NOT_ALLOWED. A round is started by the first request with roundStarted=true. A second request with roundStarted=true for the same roundId must be rejected with ROUND_ALREADY_STARTED. Once a request with roundFinished=true has been accepted, any further /credit-debit, /debit or /credit/rollback for that roundId must be rejected (ROUND_ALREADY_FINISHED for credit-debit and debit, INVALID_TRANSACTION for rollback). In addition, it should persist roundId, playerId, transactionId and amount to ensure that future debit or rollback operations can be reliably processed, maintaining the integrity of the player’s balance throughout the game session.