Skip to content
CSGOEmpire HelpIndependent guides

Fairness

Case Battle Fairness

How CSGOEmpire case battles use a future EOS block plus server seed, round number and player position, including documented tiebreaker handling.

Published 15 August 2026Updated 15 August 2026Last checked 15 August 2026

Edited by the CSGOEmpire Help team. This site does not invent named staff biographies or credentials.

Case battle stations illustrating fairness documentation

Nothing until the lobby is full

Case battle fairness is closer to coinflip than to solo case opens. Official help says that when you create a battle, no result is generated until all other players or bots have joined. Generating seats at creation time would let a host know everyone’s tickets before the last player committed.

After the lobby is complete, the operator selects EOS randomness that still lies in the future, then each seat’s ticket for each case round can be derived from a published recipe. Joining, teams and the documented 8.8% house edge are in the case battles game guide.

EOS block in the future

Help describes generating an EOS block index once everyone has joined. That index lets you verify, on a blockchain explorer, the timestamp associated with the hashed block. The article notes that many explorers exist; it mentions bloks.io and links the EOS Network’s explorer list. An example block in the article is cited via eosauthority.

The intended check is that the block was still some seconds in the future at join — the same “you would have to see the future” argument used for coinflip. A block that had already been mined at lobby fill would not serve that purpose.

Five inputs for a normal round

Help lists five variables for result generation:

  • Server seed — a randomly generated string assigned when the battle is created.
  • EOS block seed — the id of the EOS block generated after the battle is full.
  • Round number — which case in the battle you are checking. Ten cases means rounds 1–10.
  • Player position — seat from left to right. Second from the left is position 2.
  • Ticket quantity — tickets in that case. The article says all current cases use 100,000.

The documented HMAC outline uses the server seed as the key. For a normal round the message is EOS block seed, round number and player position. The digest is converted to a ticket with the same six-hex-pair fractional method summarised in the case fairness article. Operator PHP is in Help Centre; it is not reproduced here.

Player position

Position is a fairness input, not flavour text. Each seat must be able to verify that seat’s ticket for a round without depending on another player’s client seed (battles do not use the Info-tab client seed pipeline). Left-to-right numbering is how help tells you to pick the integer 1–4.

Verifying the wrong position will produce a different ticket that may still look “in range” for some item in the case. Always match the seat you actually occupied, or the seat you intend to audit.

Tiebreaker extra round

If players unboxed the same amount by the end of the battle, help documents a tiebreaker that is also meant to be provably fair. Three substitutions matter:

  • Round number is always total rounds plus one. A one-case battle’s tiebreaker is round 2. A two-case battle’s tiebreaker is round 3.
  • Ticket quantity becomes the number of players in the tie, not 100,000. Two people tying means quantity 2.
  • The hashed message drops player position (help: position is irrelevant for the tiebreak HMAC). Seats still map to tickets in ascending left-to-right order among participants. If positions 2 and 3 tie, ticket 1 belongs to player 2 and ticket 2 to player 3.

Official instructions also flip a dedicated “this is a tiebreaker” switch in their script. Using the normal five-field recipe on a tiebreak round is the wrong function.

100,000 tickets

Help says ticket quantity is 100,000 for all current cases and should only change if a case used a different distribution. Solo paid-case help uses a 10,000-tickets-per-item illustration; do not assume those tables are interchangeable with battles. Always read quantity from the case you are verifying on the fairness page under Case Battles.

Help notes a different published method for openings before 18 April 2024. Historic battles may need that legacy path. This site does not maintain a date-stamped verifier.

What verification cannot show

Reproducing a seat’s ticket from server seed, EOS block seed, round and position shows that this spin matches the published algorithm. Checking explorer timestamps can support the claim that the block was still in the future. Together that is the fairness product.

It cannot establish that you will profit on battles, that match betting is covered, or that CSGOEmpire.help independently audited the lobby. We do not watch EOS, we do not certify ties, and we do not run the HMAC. If history and the operator’s method disagree, use CSGOEmpire support.

Sources

FAQ

When are CSGOEmpire case battle results generated?
Official help says no result is generated until all other players or bots have joined. Then an EOS block index is generated for a block still in the future.
What inputs does a normal battle round use?
Server seed, EOS block seed, round number, player position, and ticket quantity (currently 100,000 for all cases in that article).
How do tiebreakers work in the fairness docs?
The tiebreaker is an extra round: round number is total rounds plus one. Ticket quantity becomes the number of players in the tie. Player position is ignored in the hashed message; seats map to tickets in left-to-right order.
Does this site verify battles?
No. Use csgoempire.com/fairness under Case Battles and a block explorer if you want to check timing.