Skip to main content
PlayStarters calls your wallet endpoint with type: "BET", "WIN", or "VOID" to move funds during gameplay.

Request

Field reference

string
Your unique identifier for the player.
string
BET, WIN, or VOID.
number
Transaction amount in the player’s currency. Always positive.
string
ISO 4217 currency code.
string
UUID of the game the transaction belongs to.
string
Identifier for the game round. Groups related BET/WIN/VOID transactions together.
string
Unique identifier for this transaction. Use it as your idempotency key — see Idempotency.
string
Sent only for WIN and VOID. References the requestId of the original BET so you can correlate them.
Even if parentTransactionId 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:

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:
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 parentTransactionId you don’t recognize, log it and still respond 200 OK with the player’s current balance.
Every transaction includes a requestId. Persist it server-side and return the stored balance on retries instead of re-applying the movement. See Idempotency for details.