PVPspinArena

Fairness protocol

Jackpot, Coinflip, Roulette and P2P Slott commit a secret seed and reveal it so you can recompute the draw. Poker publishes the shuffle. 8-ball does not draw a winner: the seed only racks the balls, and you replay the shots through the published rules. A paid winner that disagrees with that replay is not a verified result.

PvPStrike: server-validated gameplay

PvPStrike is a competitive FPS, not a random draw. Its match server validates movement, ammunition, hits and damage and records the round scores and match winner. No committed seed chooses that winner. The calculators below do not verify FPS matches, and a recorded result is not proof that every player input was unaided.

FPS rules, fees and public results · How the games work

The pot is split into one ticket per cent. A committed seed and rejection sampling pick the winning ticket — you can recompute it below, or open any completed game and press “Verify”.

Verify a draw

Check a recorded Jackpot game

Loads the recorded result from public data and compares it in your browser.

How the draw works
Before entries open:
  server_seed      = 32 random bytes (CSPRNG, Postgres pgcrypto)
  server_seed_hash = SHA256(server_seed)            -> published on the game

Fixed message (known before any entry):
  message(c) = "PVPCasino:jackpot:v1:" + game_id + ":" + draw_version + ":" + c

After entries close (N = final pot in cents = ticket count):
  limit = floor(2^64 / N) * N
  for c = 0, 1, 2, ...:
    h = HMAC-SHA256(key = server_seed, data = message(c))
    r = first 8 bytes of h, big-endian unsigned 64-bit
    if r < limit: winning_ticket = r mod N; stop       (rejection sampling: no modulo bias)
  winner = entry with ticket_start <= winning_ticket < ticket_end

After settlement: server_seed is revealed on the game record.
What this does and doesn’t prove
  • The seed was fixed before any entry: its hash was public from the moment the round opened.
  • The draw input has no free parameter: the message is fully determined by the game number and protocol version.
  • Ticket mapping is integer-only and unbiased thanks to rejection sampling.
  • Limitation: the operator generates the seed alone. A future version will mix in an independent randomness source before any real-money use.

Want to check results by hand? Read our provably fair calculator guide or learn how HMAC-SHA256 works.