Base game

Scenario 01: Losing base spin (OBSERVED)

  • Trigger: single click on SPIN, bet $1.00 (UI default), splash screen already dismissed.
  • Request: POST https://clgaming-be.pixentech.com/gamebe/games/spin (XHR, JSON). File: 01-loss-spin.request.json.
  • Response: HTTP 200. File: 01-loss-spin.response.json.
  • Redactions: token and playerId (request, base64) and playerId (response). Nothing else altered.
  • Round-trip time and headers: not captured for the response (see analysis/open-questions.md).

Previous state

Balance on screen before spin: $15,207,703.67. Bet: $1.00. Reels showed a leftover grid from the previous session.

Resulting state

Response balance 15207702.676799888, on-screen $15,207,702.67. Consistent with balance minus 1 bet and 0 win (OBSERVED arithmetic; the pre-spin balance was only seen rounded to cents).

Request field observations

  • All identifying values are base64 strings, including betAmount ("MQ==" decodes to "1") and gameId (decodes to goldencatch). Decoding is my observation from standard base64; the server's handling is inferred, not verified.
  • buyBonus is an empty object {} for a normal spin. Its shape for a purchase is NOT observed.
  • No spin sequence number, client round id, or nonce is present in the request.

Response field observations

  • Envelope: success, statusCode, message, data.
  • reelView is column-major: 5 arrays (reels) of 3 symbols (rows, top to bottom). Verified against the screenshot: reel 1 showed K, Scatter, Turtle which maps to L2, SC, H1. So L2 = K, H1 = Turtle, L1 = A (inferred from the on-screen grid).
  • Symbol codes seen: L1, L2, L3, L4, H1, SC. Codes for Wild, Money/Coin and other highs are NOT observed.
  • bet is a string "1"; betPerLine is number 0.1; linesSelected is 10 (so betPerLine = bet / 10, matches the 10 payline rule text).
  • totalWin, baseWin, spinWin all 0 on a loss; winLines is [].
  • closed: true on a finished round; nextFeature: null, pendingFeature: 0, featureResults: [].
  • maxWin: 20000 (likely multiple of bet, unverified), highestExposure: 0, maxCapReached: false.
  • id equals roundId.
  • promoSpinInfo: null.
  • playerInfo.endTime is a timestamp in UTC, about 0.36 s before my recorder logged the request start (request logged 10:01:24.151Z, endTime 10:01:23.788Z). Treat as server round-end time; clock offset between client and server unknown.

Winning spins

NOT OBSERVED. Needs more spins, which I did not run because of the load-protection rule. See analysis/open-questions.md.

Built with LogoFlowershow