Debit player balance for a bet
Wuzzlo to Operator. Verify the Wuzzlo signature and debit amount atomically. A new debit returns OP_SUCCESS. The same reqId returns OP_DUPLICATE_REQUEST. A new reqId with an existing debit transactionId returns OP_DUPLICATE_TRANSACTION. Insufficient funds returns OP_INSUFFICIENT_FUNDS. All non-success scenarios leave balance unchanged.
Authentication
Wuzzlo-to-Operator: Base64 RSA-SHA256 PKCS#1 v1.5 signature of the exact UTF-8 JSON body, verified with the Wuzzlo public key.
Request
Operator session token validated through /auth/login.
Durable idempotency key. An exact replay must return OP_DUPLICATE_REQUEST without changing balance.
Authoritative monetary amount. Use decimal-safe arithmetic.
Response
HTTP 200 debit response. The body status MUST be the single exact value assigned to the matching scenario; statuses are not interchangeable.
Balance returned for this response scenario. Successful mutations return the calculated post-transaction balance; duplicate and rejected scenarios return the unchanged balance.