Overview
Nitro Drag Royale is built on a server-authoritative deterministic game engine. Every race outcome is generated using cryptographic methods before the match begins, ensuring that results cannot be manipulated after players have committed their entry fees. This page explains how the system works and how you can verify it yourself.
TL;DR — Three crash seeds (one per heat) are generated before the match. A SHA-256 hash of all seeds is sent to you before Heat 1 starts. After the match, the seeds are revealed. Your browser automatically verifies the hash — and you can re-derive every crash speed yourself.
How It Works
1. Seed Generation
Before each match, the server generates three independent heat seeds — one for each of the 3 heats. Each seed is 32 cryptographically secure random bytes, hex-encoded to 64 characters. The seeds are bundled with the match ID and a timestamp into a single JSON structure.
2. Hash Commitment
The server computes a SHA-256 hash of the seed JSON and sends the resulting hex string to all players as a commitment — before Heat 1 starts. This locks the server into the pre-determined outcomes. The server cannot change the seeds after publishing the hash.
3. Crash Speed Derivation
Each heat's crash speed is derived deterministically from its seed. The seed is hashed and converted to a crash time using an exponential distribution that biases toward earlier crashes. The crash time is then mapped to a crash speed along an exponential curve, producing values up to 500. The result is truncated (not rounded) to 2 decimal places.
4. Match Execution
During the match, the game engine runs each heat using the pre-determined crash time. Player actions (locking speed) are recorded with server-authoritative timestamps. When the elapsed time reaches the crash time, all unlocked players crash and the heat ends.
5. Post-Match Reveal
After the match, the server reveals the full seed data (the JSON from Step 1) to all participants. The in-game UI automatically:
- Computes
SHA-256of the revealed JSON and compares it to the pre-match commitment. - Displays all three heat seeds individually.
- Shows a Verified badge if the hash matches.
Verification
What You Can Verify
| Claim | How to Verify |
|---|---|
| Server committed to outcomes before the match | Commitment hash is delivered before Heat 1 starts |
| Crash seeds were not altered | SHA-256 of the revealed seed JSON matches the commitment |
| Crash speed was correct | Re-derive crash time and speed from the heat seed (see algorithm above) |
| Seeds were genuinely random | Statistical analysis across many matches shows uniform distribution |
Game Engine Properties
Server-Authoritative
The game server is the single source of truth for all gameplay events. Client inputs are validated and timestamped by the server. This prevents any client-side manipulation of game state, timing, or scores.
Deterministic
Given the same seeds and player inputs, the game engine will always produce identical results. There is no additional randomness introduced during heat execution — the crash time is fully determined before the match begins.
Transparent Scoring
Points are awarded based on a fixed formula:
- Players who lock their speed before the crash receive that speed as their score for the heat.
- Players who crash receive zero points for that heat.
- Final standings are the sum of scores across all 3 heats.
- Tie-breaking rules are deterministic.
What We Cannot Guarantee
While the crash seed system is provably fair, note the following:
- Network latency — There is an inherent delay between your action and the server receiving it. The server uses its own authoritative timestamps.
- Ghost players — Ghost player actions are replays of real historical player data. Their behavior in the current match was recorded from a previous real match, not generated.
- Future changes — The algorithm may be updated over time. Any changes will be documented here with advance notice.
Commitment to Transparency
We believe provably fair gaming is a fundamental right for players. Our system is designed so that you never have to trust us — you can always verify. If you find any discrepancy between a commitment and a revealed seed, please report it immediately through our official channels.
- Telegram: @NitroDragRoyale
- X / Twitter: @NitroDragRoyale