Razed
LuxurySkin
  • Unboxing
  • Battles
  • Deals
  • UpgraderNew
  • Leaderboard
  • Rewards
  • Pick'emNew
LuxurySkin
GAMES
  • Unboxing
  • Battles
  • Deals
  • UpgraderNew
OTHER
  • Leaderboard
  • Rewards
  • Pick'emNew

About

  • Open Cases
  • Case Battles
  • Deals
  • Rewards
  • Leaderboard

Terms

  • Terms and Conditions
  • Privacy Policy
  • Responsible Gaming
  • Provably Fair
  • Help Center
  • FAQ

Socials

Copyright © 2026 www.razed.io

www.razed.io is owned and operated by 3-102-956872 S.R.L., registration number: 3-102-956872, with its registered office at Province 01 San José, County 15 Montes De Oca, District One of San Pedro, Los Yoses, Avenues Eight and Ten, Street Thirty-Nine, Ly Center, Costa Rica. Certain payment processing functions may be performed by Codenova Limited, registration number HE 483049, a company with its registered office at Kasou 18, Flat/Office 41, 1086 Nicosia, Cyprus.

www.razed.io provides casual entertainment games only. It is not an investment service, gambling service, or any form of financial services provider, and does not offer such services to any users, irrespective of age.For Kinguin

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Luxury
LuxurySkin
GAMES
  • Unboxing
  • Battles
  • Deals
  • UpgraderNew
OTHER
  • Leaderboard
  • Rewards
  • Pick'emNew

Provably Fair

BoxesBattlesDealsUpgrader

Upgrader

We provide a verification system to ensure the integrity of every upgrade, using a combination of a server seed (generated by us), a client seed (chosen by you), and a nonce to prevent manipulation. The server seed is hashed with SHA256 and published in advance, allowing you to verify its authenticity after the unhashed seed is revealed when you rotate it or update your client seed.

Each upgrade roll is generated from the server seed, client seed and nonce, so the outcome is fixed before you press Upgrade and cannot be changed afterwards.

Definitions

  • Server seed - a random string of 64 characters long, unique for each user, which is generated on the server.
  • Client seed - user's seed. It can be changed at any time.
  • Nonce - sequenced number used for generating ticket. It grows by one after every game played on the same seed pair.
  • Ticket - a random number generated using the combined seed. The result number is in the range of 1 - 100,000,000.
  • Ticket range - the winning tickets of your upgrade: N tickets that start where you placed the win zone (ticket 1 when it is at 12 o'clock). The higher your chance, the wider the range.

How the upgrade roll works

  1. The seeds are joined as serverSeed:clientSeed:nonce and the string is hashed with SHA-512.
  2. The hash is read as one big number: ticket = (hash mod 100,000,000) + 1.
  3. Your winning range has N = floor(100,000,000 × chance / 100) tickets. It starts at the ticket where your win zone begins (1 at 12 o'clock) and can wrap past 100,000,000 back to 1; Verify shows its exact start and end. For example, a 25% chance gives N = 25,000,000.
  4. The upgrade is won if the ticket falls inside your winning range, otherwise it is lost.

Algorithm

You can check our algorithm with our tool at the end of the page or run the JavaScript code manually. The ticket result, the ticket range and the seeds of every upgrade are in its Verify window on the upgrades history page.

const serverSeed = "0bcfbdd1bdb8b5a3cc36f29dedc03fdf705a18b3610e46f094fe3337475de0ea";
const clientSeed = "5e62aa1e3792036cf6bcc5f59f1c9f6a18d0438410077db13b531b4604dfad6c";
const nonce = 1;

random(serverSeed, clientSeed, nonce).then((x) => console.log("Open result", x));

async function sha512(str) {
  return crypto.subtle.digest("SHA-512", new TextEncoder("utf-8").encode(str)).then((buf) => {
    return Array.prototype.map
      .call(new Uint8Array(buf), (x) => ("00" + x.toString(16)).slice(-2))
      .join("");
  });
}

async function random(...parts) {
  const combinedHash = await sha512(parts.join(":"));
  const hashInt = BigInt("0x" + combinedHash);
  const maxInt = BigInt(100000000);
  return Number((hashInt % maxInt) + BigInt(1));
}

Algorithm