Randomness

All game results are generated using PHP's random_int() function, which uses the operating system's cryptographically-secure pseudo-random number generator (CSPRNG). This is the same standard used in cryptographic applications and is not predictable or manipulable by the server.

Specifically:

  • Roulette: random_int(0, 36) — equal probability for all 37 numbers
  • Case Opening: random_int(1, total_weight) — weighted by item rarity
  • Lucky Draw: array_rand($tickets) seeded from random_bytes()
  • Bingo: random_int(0, count($remaining) - 1) from unpicked numbers
Audit Trail

Every game session is logged in the game_sessions database table with:

  • User ID, game type, bet amount, payout, and result
  • Creation and completion timestamps
  • Game-specific data (e.g. roulette number, case item won)

Admins can view and audit any individual session. If you believe a result was incorrect, contact an admin with your session details and it can be manually reviewed against the database record.

House Edge
GameHouse EdgeHow Applied
Roulette 2.7% The single zero pocket (natural European roulette edge)
Case Opening 10% Item weights and multipliers are set so expected value = 1 − house edge
Lucky Draw 5% 5% of each ticket price is retained; remainder enters prize pool
Bingo 5% 5% of each ticket price is retained; remainder enters prize pool
Your Data

Your Torn API key is stored in our database solely to refresh your profile information on login. We never use it to interact with your Torn account. We store your Torn ID, display name, level, and faction for personalisation only.

All balance and transaction data is stored server-side. We do not use cookies beyond the session cookie required for login.