Skip to main content
PlayStarters calls your wallet endpoint with type: "BET", "WIN", or "VOID" to move funds during gameplay.
TypeEffect on balanceNotes
BETDeduct the amount.If the player lacks funds, reject with 400 (see below).
WINCredit the amount.Includes parent_transaction_id referencing the original bet.
VOIDCredit (refund) the amount.Sent when a round is cancelled. Includes parent_transaction_id.

Request

{
  "playerId": "your_unique_user_id",
  "type": "BET",
  "amount": 10.0,
  "currency": "EUR",
  "gameId": "game_uuid",
  "requestId": "unique_transaction_id",
  "parentTransactionId": "original_bet_id"
}

Field reference

playerId
string
Your unique identifier for the player.
type
string
BET, WIN, or VOID.
amount
number
Transaction amount in the player’s currency. Always positive.
currency
string
ISO 4217 currency code.
gameId
string
UUID of the game the transaction belongs to.
requestId
string
Unique identifier for this transaction. Use it as your idempotency key — see Idempotency.
parentTransactionId
string
Sent only for WIN and VOID. References the request_id of the original BET so you can correlate them.
“Even if parent_transaction_id is absent or does not match a known transaction, always respond with HTTP 200 and apply the credit.”

Success response — 200 OK

Return the player’s updated balance after applying the transaction:
{
  "balance": 140.50
}

Insufficient funds (BET only)

If the player does not have enough balance to cover a BET, you must reject the request with HTTP 400 Bad Request and the following body so the game provider can block the spin:
{
  "msg": "Insufficient user credit"
}
Only reject BET operations with 400. WIN and VOID must always succeed — they credit funds back to the player. If a WIN or VOID arrives for a parent_transaction_id you don’t recognize, log it and still respond 200 OK with the player’s current balance.
Every transaction includes a request_id. Persist it server-side and return the stored balance on retries instead of re-applying the movement. See Idempotency for details.