Debit (place bet)
Subtracts the stake from the player’s wallet when a bet is placed.
Every debit is eventually settled by exactly one Credit or one Rollback carrying the same gameRoundId — never both.
Free rounds: when reason is freeround the stake is 0. Deduct nothing, but still create the transaction and return a valid response.
The status code you choose here is a contract, not a formality — see the response list below. 422 tells Zero-Dash the transaction definitively does not exist on your side; 500 tells us it might, and we will send a rollback.
Authorizations
Hex-encoded HMAC-SHA512(apiPath|timestamp|data, secretKey) computed by Zero-Dash. Recompute it and compare before doing anything else. See Request signature.
Unix time in milliseconds, and the exact value that was signed. Reject requests older than 5 minutes.
Body
Player account ID.
Zero-Dash ID of this bet transaction. Use it as your idempotency key.
Slug of the game the round belongs to.
"lucky-duck"
Groups the bet with its settlement. The credit or rollback that settles this bet carries the same value.
"round-1234"
Decimal amount to subtract from the balance. 0 for free rounds.
The session token from game launch.
Type of the bet. paid is real money; freeround is a free round — each free spin is a separate bet with its own debit call.
paid, freeround Present only when reason is freeround.
Response
Bet accepted and the stake was subtracted.
Your internal transaction ID. Stored by Zero-Dash for troubleshooting only.
The player's balance after the operation was applied.
Transaction creation date (ISO-8601 UTC). Defaults to the time of processing when omitted.