Provably Fair
Our provably fair system ensures that all case openings, user loot boxes, and battles are completely fair and transparent. You can verify any opening to ensure that the results were not manipulated.
How It Works
Seed Generation
For each opening, we generate a unique server seed (32 characters) and client seed (16 characters). These seeds together determine the outcome.
Server Hash
The server seed is hashed and stored. This hash serves as proof that the server seed wasn't changed after the opening.
Roll Calculation
The seeds are combined and hashed using SHA-256. The first 8 characters of the hash are converted to a number between 0.000 and 100.000.
Item Selection
The generated number determines which item will be selected based on the probability ranges of each item in the case.
Verify an Opening
Enter the opening ID to verify the fairness of any case, user loot box, or battle opening. You can find the opening ID in your profile history or in the verification link provided after each opening.
Technical Details
Roll Calculation Algorithm
// 1. Generate unique server seed (32 characters) and client seed (16 characters) serverSeed = Str::random(32) clientSeed = Str::random(16) // 2. Hash the server seed for verification serverHash = Hash::make(serverSeed) // 3. Combine the seeds combinedSeed = clientSeed + serverSeed // 4. Generate SHA-256 hash hash = hash('sha256', combinedSeed) // 5. Take first 8 characters of the hash and convert to decimal decimal = hexdec(substr(hash, 0, 8)) // 6. Scale to a number between 0 and 100,000 (for 3 decimal places) roll = (decimal % 100000) / 1000
Item Selection
Items are selected based on their probability ranges:
// Example with 3 items Item A: 50% chance (0.000 to 50.000) Item B: 30% chance (50.001 to 80.000) Item C: 20% chance (80.001 to 100.000) // If roll = 75.123 // Item B would be selected (as 50.001 ≤ 75.123 ≤ 80.000)