Log in

Enter your email to receive a one-time login code to access your account.

Don't have an account? Sign up now and get a sign up bonus!

Email sent!

Enter the verification code we emailed you below to access your account.

Didn't receive our email?

Resend

Try different method

Sign up

Enter your email to receive a verification code to create your account.

Already have an account? Login to play!

Email sent!

Enter the verification code we emailed you below to confirm your account.

Didn't receive our email?

Resend

Account setup

Step 1/2: Fill out your details

Select your nickname

Verify Bet

Magnifying Glass

Below you can authenticate the outcomes of any bet placed on our site. Please provide the information for the specific bet you wish to verify.

Quick Pick: How we get the winning numbers

// Generate a secure HMAC hash using the client seed, nonce, and server seed
$hexhash = hash_hmac("sha512", "$cseed-$nonce", $sseed);

// Convert the hexadecimal hash to a large GMP (arbitrary precision) integer
$dechash = gmp_init($hexhash, 16);

// Calculate the denominator for scaling (16^length_of_hash - 1)
$denominator = gmp_sub(gmp_pow(16, strlen($hexhash)), 1);

// Scale the large integer to a high-precision decimal by dividing by the denominator
// and multiplying by 10^20 to expand the range for better randomness
$dechash = gmp_div_q(gmp_mul($dechash, gmp_pow(10, 20)), $denominator);

// Convert the GMP decimal to a BCMath high-precision number, maintaining 20 digits of precision
$dechash = bcdiv($dechash, gmp_pow(10, 20), 20);

// Convert the high-precision decimal into a large integer pool for random number generation
$winning = bcmul($dechash, bcpow('10', '20'), 0);

// Remove the first two digits from the result to avoid any potential bias in the output
$winning = substr($winning, 2);

// Define the number of winning digits to generate (e.g., 4 numbers for this example)
$winning_digit = 4;

// Initialize an array to store the final winning numbers
$winning_array = [];

// Generate the winning numbers
for ($i = 0; $i < $winning_digit; $i++) {
    // Extract a 2-digit chunk from the large integer pool
    $chunk = substr($winning, $i * 2, 2);

    // Apply modulo operation to constrain the value within the desired range (0-49 for this example)
    $mod_value = (int)fmod(intval($chunk), 50);

    // Format the value as a 2-digit number and add it to the winning array
    $winning_array[] = str_pad($mod_value, 2, '0', STR_PAD_LEFT);
}

// At this point, $winning_array contains the final winning numbers
// Example output for players: ["09", "25", "34", "47"]

Line Bingo: How we get the winning numbers

// Generate a secure HMAC hash using the client seed, nonce, and server seed
$hexhash = hash_hmac("sha512", "$cseed-$nonce", $sseed);

// Convert the hexadecimal hash to a large GMP (arbitrary precision) integer
$dechash = gmp_init($hexhash, 16);

// Calculate the denominator for scaling (16^length_of_hash - 1)
$denominator = gmp_sub(gmp_pow(16, strlen($hexhash)), 1);

// Scale the large integer to a high-precision decimal by dividing by the denominator
// and multiplying by 10^20 to expand the range for better randomness
$dechash = gmp_div_q(gmp_mul($dechash, gmp_pow(10, 20)), $denominator);

// Convert the GMP decimal to a BCMath high-precision number, maintaining 20 digits of precision
$dechash = bcdiv($dechash, gmp_pow(10, 20), 20);

// Convert the high-precision decimal into a large integer pool for random number generation
$winning = bcmul($dechash, bcpow('10', '20'), 0);

// Remove the first two digits from the result to avoid any potential bias in the output
$winning = substr($winning, 2);

// Initialize an array to store 5 single-digit winning numbers
$winning_array = [];

// Extract 5 single-digit numbers from the processed pool
for ($i = 0; $i < 5; $i++) {
    // Extract a single digit at position $i
    $digit = substr($winning, $i, 1);
    
    // Add the extracted digit to the winning array
    $winning_array[] = $digit;
}

// At this point, $winning_array contains 5 single-digit winning numbers
// Example output for players: ["3", "7", "4", "1", "9"]

High-Low: How we get the winnings numbers

// Generate a secure HMAC hash using the client seed, nonce, and server seed
$hexhash = hash_hmac("sha512", "$cseed-$nonce", $sseed);

// Convert the hexadecimal hash to a large GMP (arbitrary precision) integer
$dechash = gmp_init($hexhash, 16);

// Calculate the denominator for scaling (16^length_of_hash - 1)
$denominator = gmp_sub(gmp_pow(16, strlen($hexhash)), 1);

// Scale the large integer to a high-precision decimal by dividing by the denominator
// and multiplying by 10^20 to expand the range for better randomness
$dechash = gmp_div_q(gmp_mul($dechash, gmp_pow(10, 20)), $denominator);

// Convert the GMP decimal to a BCMath high-precision number, maintaining 20 digits of precision
$dechash = bcdiv($dechash, gmp_pow(10, 20), 20);

// Convert the high-precision decimal into a large integer pool for random number generation
$winning = bcmul($dechash, bcpow('10', '20'), 0);

// Remove the first two digits from the result to avoid any potential bias in the output
$winning = substr($winning, 2);

// Initialize an array to store 5 two-digit winning numbers
$win = [];

// Extract 5 two-digit numbers from the processed pool
for ($i = 0; $i < 5; $i++) {
    // Extract a 2-digit chunk starting at position $i * 2
    $digit = substr($winning, $i * 2, 2);
    
    // Add the extracted two-digit number to the win array
    $win[] = $digit;
}

// At this point, $win contains 5 two-digit winning numbers
// Example output for players: ["12", "34", "56", "78", "90"]

Lucky 7s: How we get the winning numbers

// Generate a secure HMAC hash using the client seed, nonce, and server seed
$hexhash = hash_hmac("sha512", "$cseed-$nonce", $sseed);

// Convert the hexadecimal hash to a large GMP (arbitrary precision) integer
$dechash = gmp_init($hexhash, 16);

// Calculate the denominator for scaling (16^length_of_hash - 1)
$denominator = gmp_sub(gmp_pow(16, strlen($hexhash)), 1);

// Scale the large integer to a high-precision decimal by dividing by the denominator
// and multiplying by 10^20 to expand the range for better randomness
$dechash = gmp_div_q(gmp_mul($dechash, gmp_pow(10, 20)), $denominator);

// Convert the GMP decimal to a BCMath high-precision number, maintaining 20 digits of precision
$dechash = bcdiv($dechash, gmp_pow(10, 20), 20);

// Convert the high-precision decimal into a large integer pool for random number generation
$winning = bcmul($dechash, bcpow('10', '20'), 0);

// Remove the first two digits from the result to avoid any potential bias in the output
$winning = substr($winning, 2);

// Initialize an array to store 5 single-digit winning numbers
$winning_array = [];

// Extract 5 single-digit numbers from the processed pool
for ($i = 0; $i < 5; $i++) {
    // Extract a single digit at position $i
    $digit = substr($winning, $i, 1);
    
    // Add the extracted digit to the winning array
    $winning_array[] = $digit;
}

// At this point, $winning_array contains 5 single-digit winning numbers
// Example output for players: ["3", "7", "4", "1", "9"]

Pick Six: How we get the winning numbers

// Generate a secure HMAC hash using the client seed, nonce, and server seed
$hexhash = hash_hmac("sha512", "$cseed-$nonce", $sseed);

// Convert the hexadecimal hash to a large GMP (arbitrary precision) integer
$dechash = gmp_init($hexhash, 16);

// Calculate the denominator for scaling (16^length_of_hash - 1)
$denominator = gmp_sub(gmp_pow(16, strlen($hexhash)), 1);

// Scale the large integer to a high-precision decimal by dividing by the denominator
// and multiplying by 10^20 to expand the range for better randomness
$dechash = gmp_div_q(gmp_mul($dechash, gmp_pow(10, 20)), $denominator);

// Convert the GMP decimal to a BCMath high-precision number, maintaining 20 digits of precision
$dechash = bcdiv($dechash, gmp_pow(10, 20), 20);

// Convert the high-precision decimal into a large integer pool for random number generation
$winning = bcmul($dechash, bcpow('10', '20'), 0);

// Remove the first two digits from the result to avoid any potential bias in the output
$winning = substr($winning, 2);

// Initialize an array to store 5 two-digit winning numbers
$win = [];

// Extract 5 two-digit numbers from the processed pool
for ($i = 0; $i < 5; $i++) {
    // Extract a 2-digit chunk starting at position $i * 2
    $digit = substr($winning, $i * 2, 2);
    
    // Add the extracted two-digit number to the win array
    $win[] = $digit;
}

// At this point, $win contains 5 two-digit winning numbers
// Example output for players: ["12", "34", "56", "78", "90"]

Magic Dice: How we get the winning numbers

// Generate a secure HMAC hash using the client seed, nonce, and server seed
$hexhash = hash_hmac("sha512", "$cseed-$nonce", $sseed);

// Convert the hexadecimal hash to a large GMP (arbitrary precision) integer
$dechash = gmp_init($hexhash, 16);

// Calculate the denominator for scaling (16^length_of_hash - 1)
$denominator = gmp_sub(gmp_pow(16, strlen($hexhash)), 1);

// Scale the large integer to a high-precision decimal by dividing by the denominator
// and multiplying by 10^20 to expand the range for better randomness
$dechash = gmp_div_q(gmp_mul($dechash, gmp_pow(10, 20)), $denominator);

// Convert the GMP decimal to a BCMath high-precision number, maintaining 20 digits of precision
$dechash = bcdiv($dechash, gmp_pow(10, 20), 20);

// Convert the high-precision decimal into a large integer pool for random number generation
$winning = bcmul($dechash, bcpow(10, 20), 0);

// Remove the first two digits from the result to avoid any potential bias in the output
$winning = substr($dechash, 2);

// Extract the next four digits and format the result
$integer_part = substr($winning, 0, 2); // Get the first two digits as the integer part
$decimal_part = substr($winning, 2, 2); // Get the next two digits as the decimal part

// Combine the integer and decimal parts into a formatted number with two decimal places
$winning = bcmul($integer_part . "." . $decimal_part, 1, 2);

// At this point, $winning contains a formatted number (e.g., "12.34")

Mini Keno: How we get the winning numbers

// Generate a secure HMAC hash using the client seed, nonce, and server seed
$hexhash = hash_hmac("sha512", "$cseed-$nonce", $sseed);

// Convert the hexadecimal hash to a large GMP (arbitrary precision) integer
$dechash = gmp_init($hexhash, 16);

// Calculate the denominator for scaling (16^length_of_hash - 1)
$denominator = gmp_sub(gmp_pow(16, strlen($hexhash)), 1);

// Scale the large integer to a high-precision decimal by dividing by the denominator
// and multiplying by 10^500 to expand the range for better randomness
$dechash = gmp_div_q(gmp_mul($dechash, gmp_pow(10, 500)), $denominator);

// Convert the GMP decimal to a BCMath high-precision number, maintaining 500 digits of precision
$dechash = bcdiv($dechash, gmp_pow(10, 500), 500);

// Convert the high-precision decimal into a large integer pool for random number generation
$winning = bcmul($dechash, bcpow('10', '500'), 0);

// Remove the first two digits from the result to avoid any potential bias in the output
$winning = substr($winning, 2);

// Initialize arrays to store the winning numbers and track used numbers
$winning_array = [];
$used_numbers = [];
$i = 0;

// Step 3: Forward extraction loop to extract 10 unique two-digit numbers between 0 and 39
while (count($winning_array) < 10 && $i < 250) {
    // Extract a 2-digit chunk from the winning number pool
    $chunk = substr($winning, $i * 2, 2);

    // Skip if the chunk is less than 2 digits long
    if (strlen($chunk) < 2) {
        $i++;
        continue;
    }

    // Convert the chunk to an integer
    $chunk_int = intval($chunk);

    // Only accept numbers between 00 and 79
    if ($chunk_int <= 79) {
        // Scale the number to fit within 0-39
        $scaled_number = (int)fmod($chunk_int, 40);

        // Ensure the number is unique
        if (!in_array($scaled_number, $used_numbers)) {
            $winning_array[] = str_pad($scaled_number, 2, '0', STR_PAD_LEFT);
            $used_numbers[] = $scaled_number;
        }
    }
    $i++;
}

// Step 4: Fallback extraction loop (reverse extraction)
// If fewer than 10 numbers are found, extract from the end of the pool
if (count($winning_array) < 10) {
    $j = strlen($winning) / 2 - 1;
    while (count($winning_array) < 10 && $j >= 0) {
        // Extract a 2-digit chunk from the winning number pool
        $chunk = substr($winning, $j * 2, 2);

        // Skip if the chunk is less than 2 digits long
        if (strlen($chunk) < 2) {
            $j--;
            continue;
        }

        // Convert the chunk to an integer
        $chunk_int = intval($chunk);

        // Only accept numbers between 00 and 79
        if ($chunk_int <= 79) {
            // Scale the number to fit within 0-39
            $scaled_number = (int)fmod($chunk_int, 40);

            // Ensure the number is unique
            if (!in_array($scaled_number, $used_numbers)) {
                $winning_array[] = str_pad($scaled_number, 2, '0', STR_PAD_LEFT);
                $used_numbers[] = $scaled_number;
            }
        }
        $j--;
    }
}

// Step 5: Third fallback loop (extract odd-indexed numbers from the start)
if (count($winning_array) < 10) {
    for ($k = 1; $k < strlen($winning); $k += 2) { // Only odd indices
        $chunk = substr($winning, $k, 2); // Get two digits starting at odd index
        if (strlen($chunk) < 2) {
            continue;
        }
        $chunk_int = intval($chunk);
        if ($chunk_int <= 79) {
            $scaled_number = (int)fmod($chunk_int, 40);
            if (!in_array($scaled_number, $used_numbers)) {
                $winning_array[] = str_pad($scaled_number, 2, '0', STR_PAD_LEFT);
                $used_numbers[] = $scaled_number;
            }
        }
        if (count($winning_array) >= 10) {
            break; // Exit if we have 10 numbers
        }
    }
}
// At this point, $winning_array contains 10 unique two-digit numbers between 0 and 39
// Example output for players: ["07", "12", "23", "34", "09", "01", "28", "17", "35", "03"]

Verify Bet

Valid Bet

Server Seed & Hash: [MATCH]

Verify Bet