1. About this Policy
- 1.1
This Fairness policy (the "Policy") sets out how the results of games on the Site are produced, how you can check the result of any Bet placed on an Original, how we calculate the return to player of each Original, how Studio games differ, and what happens when a game or one of our systems fails. It applies to every Bet placed through the Site and to every Fun play round.
- 1.2
This Policy forms part of the Terms of service (the "Terms"). A capitalized word that this Policy does not define, including Account, Balance, Bet, Fun play, Game Aggregator, Maximum Payout, Originals, Play break, Prohibited Conduct, Provably fair, Round, Site, Studio, Studio games, Support and Verifier, carries the meaning that the Terms give it. Where this Policy and the Terms conflict, the Terms prevail, unless a clause of this Policy states that it overrides a named clause of the Terms, as clause 14.7 does.
- 1.3
For each Rules Version of an Original other than Crash, the Published Code is the controlling statement of how Results are produced. If a description in this Policy differs from the Published Code, the Published Code governs and we will correct the description.
- 1.4
For the purposes of this Policy, fairness means that:
- the hidden outcomes of every Bet on an Original are fixed by inputs committed before the Bet is placed, and its Result is calculated from those outcomes and your own decisions by a published method, so that you, or anyone holding the same inputs, can reproduce it once the Server Seed or Round Seed has been revealed;
- we do not alter a Result, a payout table or a probability for any player, Account, stake, Balance, time of play or playing history; and
- the results of Studio games are produced by the Studio that supplies each game, under that game's own rules, as section 13 describes.
- 1.5
Provably fair does not mean favorable to the player. Every Original carries a house edge, stated in section 11. The method in this Policy shows that a Result was not changed after the Bet was placed. It does not show how the Server Seed behind a Bet was chosen, and it does not improve your chance of winning. Each Result is independent of every other, and past Results neither predict nor influence future ones.
2. Definitions
- 2.1
In this Policy:
- "Result" means the outcome of a Round as recorded on our servers, including every number, card, position and multiplier drawn for it and the payout calculated from them;
- "Bet ID" means the reference that identifies a Bet in its details, in your bet history and in a lookup under clause 9.6;
- "Server Seed" means a secret value generated by our server which, with a Client Seed and a Nonce, produces the Results of Bets on every Original other than Crash;
- "Server Seed Hash" means the SHA-256 hash of a Server Seed, written as 64 hexadecimal characters;
- "Client Seed" means the value paired with a Server Seed, which you may choose;
- "Seed Pair" means one Server Seed together with its Client Seed;
- "Nonce" means the number that identifies a Bet within a Seed Pair;
- "Counter" means the number that ends the message of an HMAC and rises by one each time a draw needs a further output, as clause 5.2 describes;
- "Word" means an unsigned 32-bit number read from an HMAC output in the way clause 5.2 describes;
- "Rotation" means the step described in clause 8.2 by which you retire your active Seed Pair, its Server Seed is revealed and a new Seed Pair begins, and "rotate" has a matching meaning;
- "Crash Round" means one shared Round of Crash, and "Round Seed" means the secret value generated for a single Crash Round, which Crash displays as the server seed of that Round;
- "Seeds page" means the page of the Site at /provably-fair/seeds on which you manage your Seed Pair;
- "Published Code" means the source code of the Verifier and of the rules of each Original other than Crash, published at /fairness/implementation.json;
- "Proof" means a copy, in text, of the values from which the Verifier checks a Bet or a Crash Round: for a Bet, its game, Rules Version, stake, settings, Server Seed, Server Seed Hash, Client Seed, Nonce, decisions and recorded Result, and for a Crash Round, its Round Seed, the hash of that Round Seed and its crash point;
- "Rules Version" has the meaning given in the Game rules, and covers the rules, payout tables and result method of an Original under which a Bet is settled;
- "Return to player" or "RTP" means, as in the Terms, the share of total stakes that a Game is designed to return over a very large number of Rounds, and "house edge" means 100% less the RTP; and
- "Malfunction" means a fault in our systems, in a game or in a Studio's systems that causes a Round, a Result, a payout or a display to depart from the rules of the game or from this Policy, but not a fault in your own device, software or internet connection.
3. Games covered by this Policy
- 3.1
The Originals are Baccarat, Blackjack, Chicken Cross, Coinflip, Crash, Dice, Hilo, Keno, Limbo, Mines, Moles, Plinko, Rock Paper Scissors, Roulette, Tower, War and Wheel. Peeks builds and operates each of them, produces their Results on its own servers by the method in sections 4 to 7, and makes each of those Results verifiable under section 9.
- 3.2
Studio games, being slots, live casino games and game shows, are supplied by Studios. We do not describe any of them as Provably fair, and neither the Seeds page nor the Verifier applies to them, even where a Studio game shows a fairness check of its own. Section 13 applies to them.
- 3.3
Fun play rounds are not Bets. We keep no record of them, and the Verifier cannot check them. Section 12 applies to them, including its rule for Fun play in Crash.
- 3.4
We make no claim that an outside laboratory has tested the Originals, the random number generator behind them or the method in this Policy. The fairness of each Result of an Original rests on the method in this Policy, which you, or anyone else, can check without relying on us. Before an Original or a new Rules Version goes live, our automated tests check that its Results match those that the Published Code produces and that its RTP for each setting equals the figure in clause 11.4.
4. How the Result of a Bet is committed
- 4.1
Each Account has one active Seed Pair at a time. We create it when you first need one, and it serves every Original other than Crash until you rotate. Each Bet, in whichever of those games it is placed, takes the next Nonce of that Seed Pair, and the name of the game forms part of every calculation made for it.
- 4.2
A Server Seed consists of 32 bytes taken from the cryptographically secure random number generator of our server and written as 64 hexadecimal characters. We hold each Server Seed in encrypted form until it is revealed, our staff tools do not display a Server Seed that has not been revealed, and we do not disclose a Server Seed to anyone before its Rotation.
- 4.3
The Server Seed Hash is calculated by applying SHA-256 to the 64-character text of the Server Seed. The Server Seed Hash of your active Seed Pair is shown on the Seeds page before the first Bet that uses that Server Seed, and it is stored with every Bet placed with the Seed Pair. Because the hash cannot practically be reversed, and no other value can practically be found that gives the same hash, it fixes the Server Seed without disclosing it.
- 4.4
When a Seed Pair is first created, its Client Seed is a random value of 24 hexadecimal characters generated by our server. You may set a different Client Seed each time you rotate, as section 8 describes. A Client Seed must be 1 to 64 characters long, each character being a letter from A to Z or a to z, a digit, a hyphen or an underscore, and any spaces before or after it are removed. The Seeds page proposes a random 16-character Client Seed, which you may keep or replace.
- 4.5
The first Bet placed with a Seed Pair has Nonce 0, and the Nonce rises by one with each later Bet placed with that Seed Pair. Every step and decision within a Round uses the Nonce of the Bet that opened the Round. A Seed Pair can carry 2,147,483,646 Bets, with Nonces from 0 to 2,147,483,645, after which you must rotate before placing another Bet.
- 4.6
The Result of each Bet on an Original other than Crash is therefore determined by its Server Seed, Client Seed and Nonce, the settings you chose for the Bet, the decisions you made during the Round, and its Rules Version. The same inputs always produce the same Result. If a Server Seed were altered after its Server Seed Hash had been shown, the revealed value would not reproduce that hash, and the alteration would be apparent to anyone who checks.
- 4.7
When you rotate, our server generates the new Server Seed at that moment and shows its Server Seed Hash, together with the Client Seed you set, before your next Bet.
- 4.8
The table below shows when you can see each value behind a Bet on an Original, and clause 9.6 sets out which of those values any other person may see. In Crash, the hash of the Round Seed is shown when the Crash Round opens for Bets, the crash point when the multiplier reaches it, and the Round Seed itself when the Crash Round ends.
Value Before you bet Once the Bet has settled After you rotate Server Seed Hash On the Seeds page Recorded with the Bet No change Client Seed On the Seeds page Recorded with the Bet No change Nonce On the Seeds page, as the number of Bets already placed with the Seed Pair Recorded with the Bet No change Your settings and decisions Chosen by you Recorded with the Bet No change Result and payout Not known to you Recorded with the Bet No change Server Seed Kept secret Kept secret Shown with every Bet placed with it, and on the Seeds page while the Seed Pair is among your 20 most recently retired
5. How Results are calculated
- 5.1
For each Bet on an Original other than Crash, the game computes an HMAC, a keyed hash, using SHA-256 or SHA-512 as section 6 states for that game. The key is the text of the Server Seed. The message joins with colons, in the order that section 6 gives for each game, the Client Seed, the Nonce, the name of the game and the Counter, and in Hilo, Moles, Rock Paper Scissors, Tower and Wheel also the number of the card, board, throw, level or spin within the Round.
- 5.2
Each HMAC output is read as a series of Words, four bytes at a time with the most significant byte first. A SHA-256 output yields 8 Words and a SHA-512 output yields 16. Where a draw needs more Words than one output provides, the Counter rises by one and a further output is computed. The Counter starts at 0, and in a game whose message carries the number of a card, board, throw, level or spin, it starts again at 0 for each of them.
- 5.3
Where a game needs a whole number below a given count, it takes the next Word that is lower than the largest multiple of that count not exceeding 2^32, and uses the remainder left when that Word is divided by the count. Words at or above that limit are passed over. Every whole number below the count is therefore equally likely.
- 5.4
Where a game must not draw the same item twice, such as a mine position, a Keno number, a mole's hole or a card from a shoe, it lists the items in the starting order that clause 5.5 gives and draws them one at a time. For each draw it takes a whole number below the count of items not yet drawn, by the method in clause 5.3, exchanges the item at that position with the last item not yet drawn, and takes the item then in that last position as the one drawn. This is the Fisher-Yates method, under which every possible order of draws is equally likely. This clause and clause 5.5 describe the current Rules Version of each Original, and the Published Code sets out the method of each earlier Rules Version.
- 5.5
Positions are counted from 0, and the items of each game are listed as follows:
- a deck runs clubs, diamonds, hearts and spades, each suit running from the Ace, through the cards numbered 2 to 10, to the Jack, Queen and King, so that card 0 is the Ace of clubs and card 51 the King of spades, and an eight-deck shoe in Blackjack, Baccarat and War lists eight such decks one after another, as cards 0 to 415;
- in Hilo, the whole number drawn for a card is its number in that deck, and Aces rank lowest and Kings highest;
- the Keno numbers are listed in ascending order, from 1 to 40, or from 1 to 56 at the Extreme risk;
- the tiles of Mines are numbered from 0, left to right along each row and then row by row from the top;
- the tiles of each Tower level are numbered from 0 on the left;
- the holes of Moles are numbered from 0 to 6, hole 0 being the center hole and holes 1 to 6 running clockwise around it from the top;
- in Plinko, a 0 bit sends the ball to the left and a 1 bit sends it to the right, so that bucket 0 is at the far left; and
- in Rock Paper Scissors, 0 is rock, 1 is paper and 2 is scissors.
The number of each tile or hole you choose, and every other decision you make, is recorded with your Bet.
- 5.6
In Originals with several steps, every hidden outcome of the Round is fixed by the inputs in clause 4.6 when the Bet is placed. Your decisions during the Round determine which of those outcomes you reach and when the Round ends; they do not change what the hidden outcomes are.
- 5.7
Payouts are calculated in cents by applying the multiplier to the stake, and any fraction of a cent is disregarded. No Bet on an Original pays more than the Maximum Payout of $1,000,000, stake included, as clause 11.5 explains.
- 5.8
The animation, sound and timing of a game only display a Result produced on our servers. They have no effect on that Result.
6. The method for each Original
- 6.1
Dice uses SHA-256 with the message
clientSeed:nonce:dice:counter. The game takes the first Word below 4,294,960,000, and the roll is the remainder of that Word divided by 10,000, which is then divided by 100 for display as a number from 0.00 to 99.99. An over bet wins when the roll equals or exceeds the target, and an under bet wins when the roll is below the target. The win chance may be set from 0.01% to 98%, and the multiplier is 99 divided by the win chance in percent, rounded to four decimal places. - 6.2
Limbo uses SHA-256 with the message
clientSeed:nonce:limbo:0. Taking the first Word as w, the drawn multiplier in hundredths is the whole part of 99 × 2^32 divided by (w + 1), and it is never lower than 1.00x. A Bet wins when the drawn multiplier equals or exceeds the target, which may be set from 1.01x to 100,000.00x, and a winning Bet pays the stake multiplied by the target. - 6.3
Plinko uses SHA-256 with the message
clientSeed:nonce:plinko:0, any spaces at the start or end of the Client Seed having been removed. The leading bits of the output, one for each row and read from the most significant bit, set the path of the ball as clause 5.5 describes, and the ball comes to rest in the bucket whose number equals the count of 1 bits among them, the buckets being numbered from 0 up to the number of rows. With r rows, bucket k is reached with a chance equal to the number of ways of choosing k of the r rows, divided by 2 to the power of r. You choose from 8 to 16 rows and a Low, Medium or High risk, which together set the multiplier of each bucket, as the game shows and the Published Code lists. - 6.4
Keno uses SHA-512 with the message
clientSeed:nonce:keno:counter. Ten numbers are drawn without repetition, by the method in clause 5.4, from 40 numbers in the Classic, Low, Medium and High risks and from 56 numbers in the Extreme risk. You pick from 1 to 10 numbers, and the payout depends on the risk and on how many of your numbers are drawn. - 6.5
Mines uses SHA-512 with the message
clientSeed:nonce:mines:counter. When the Bet is placed, the positions of all the mines on a grid of 25, 36, 49 or 64 tiles are drawn without repetition by the method in clause 5.4. Each safe tile you reveal raises the multiplier, the first mine you uncover ends the Round, and you may cash out after any safe tile. After k safe tiles on a grid of N tiles holding m mines, the multiplier is 0.96 times the number of ways of choosing k tiles from all N tiles, divided by the number of ways of choosing k tiles from the N − m safe tiles, rounded half up to two decimal places. Your chance of reaching that point is the second of those numbers divided by the first, so that each cash-out point returns 96% before that rounding. The table for each grid and number of mines ends at its last multiplier at or below 10,000,000x, and a Round can also end early under clause 11.5. - 6.6
Tower has 8 levels and uses SHA-256 with the message
clientSeed:nonce:level:tower:counter, where level is the number of the level, counting from 1. For each level the game draws a whole number below the number of tiles on that level, by the method in clause 5.3, and that number is the position of a tile under clause 5.5. On Easy (4 tiles, 1 trap) and Medium (3 tiles, 1 trap) it marks the trap; on Hard (2 tiles, 1 trap), Expert (3 tiles, 2 traps) and Master (4 tiles, 3 traps) it marks the one safe tile. All 8 levels are fixed when the Bet is placed. The multiplier after k levels is 0.96 × (tiles ÷ safe tiles) to the power of k, rounded down to two decimal places, so that each cash-out point returns 96% before that rounding. - 6.7
Wheel uses SHA-256 with the message
clientSeed:nonce:spin:wheel:counter, where spin is the number of the spin within the Round, counting from 1. Each spin takes a whole number below 100,000,000 by the method in clause 5.3. The five multipliers of the chosen risk divide that range into consecutive bands in the order of the table below, each band holding 1,000,000 numbers for every whole percent of its chance, and the multiplier whose band contains the number is the result of the spin. On Low, for example, 0x holds the numbers 0 to 19,999,999 and 1.10x the numbers 20,000,000 to 63,999,999. The 25 segments on the wheel display those chances, and where a segment sits on the wheel plays no part in the draw. The first spin takes place when the Bet is accepted. A 0x result ends the Round. Any other result multiplies the running multiplier, which is rounded down to two decimal places after each spin and never exceeds 10,000x, and you may cash out after any winning spin, for up to 10 spins.Risk Multipliers in drawing order, with the chance of each Low 0x 20%, 1.10x 44%, 1.20x 24%, 1.40x 8%, 2.00x 4% Medium 0x 40%, 1.20x 32%, 1.50x 16%, 2.20x 8%, 4.00x 4% High 0x 60%, 1.50x 16%, 2.00x 12%, 3.00x 8%, 6.00x 4% Risky 0x 84%, 2.00x 4%, 3.00x 4%, 4.00x 4%, 15.00x 4% - 6.8
Roulette uses SHA-256 with the message
clientSeed:nonce:roulette:counter. The winning pocket is a whole number below 37 drawn by the method in clause 5.3, giving a single-zero wheel with pockets 0 to 36, and every position on the table is settled against that one pocket. A winning position that covers n pockets pays 36 ÷ n times the amount placed on it, that amount included, so that every position returns 36 ÷ 37 of the amount placed on it. - 6.9
Coinflip uses SHA-256 with the message
clientSeed:nonce:coinflip:0. The first Word provides up to 20 coins: the first coin is its most significant bit, the second coin the next bit, and so on, a 1 showing heads and a 0 showing tails. Classic and Target modes settle those same coins under their own payout rules. - 6.10
Hilo uses SHA-256 with the message
clientSeed:nonce:step:hilo:counter, where step is the number of the card within the Round: the starting card is step 0, and each later card, including one that replaces a skipped card, takes the next step. Each card is a whole number below 52 drawn by the method in clause 5.3 and read as a card under clause 5.5, so every card comes from a complete 52-card deck and the same card can appear more than once in a Round. If you choose the starting card before placing the Bet, step 0 is not drawn. A call made while the multiplier stands at 1.00x pays 0.96 × 13 ÷ the number of winning ranks, and each later winning call multiplies the running multiplier by 13 ÷ the number of winning ranks with no further house edge, each result being rounded half up to two decimal places. - 6.11
Blackjack uses SHA-512 with the message
clientSeed:nonce:blackjack:counter. Cards come from an eight-deck shoe of 416 cards: each card is taken from the cards still in the shoe by the method in clause 5.4, so the order of the entire shoe is fixed when the Bet is placed, and cards are dealt in that order as play proceeds. The first four cards go to you, to the dealer face up, to you, and to the dealer face down, in that order. When you split, the next card goes to the first of your two new hands and the card after it to the second. Every later card is the next card of the shoe, taken when play needs it: your hits and doubles in the order you make them, and then the dealer's draws. The Verifier displays the first 16 cards of the shoe, and the Published Code gives the order of all 416. - 6.12
Baccarat uses SHA-512 with the message
clientSeed:nonce:baccarat:counter. Cards come from an eight-deck shoe of 416 cards by the method in clause 5.4. They are dealt from the start of the shoe to the Player hand, the Banker hand, the Player hand and the Banker hand, in that order, and any third cards follow under the standard drawing rules: a third card for the Player hand is the next card, and a third card for the Banker hand is the card after it, or the next card where the Player hand stands. - 6.13
War uses SHA-512 with the message
clientSeed:nonce:war:counter. Cards come from an eight-deck shoe of 416 cards by the method in clause 5.4. Your card is the first card of the shoe and the dealer's is the second. On a tie you may go to war or surrender. A war takes the next eight cards of the shoe in this order: three cards burned for you, your new card, three cards burned for the dealer, and the dealer's new card. A further tie is played out in the same way from the following eight cards, up to the limit on ties in the Game rules. - 6.14
Rock Paper Scissors uses SHA-256 with the message
clientSeed:nonce:throw:rock-paper-scissors:counter, where throw is the number of the throw within the Round, counting from 1. The house hand for each of up to 20 throws is a whole number below 3, drawn by the method in clause 5.3 and read under clause 5.5, so that rock, paper and scissors are equally likely, and every house hand is fixed when the Bet is placed. - 6.15
Chicken Cross uses SHA-256 with the message
clientSeed:nonce:chicken-cross:0. Taking the first Word as w, the crossing value is 0.96 × 2^32 ÷ (w + 1), worked to 20 decimal places with halves rounded up. The chicken crosses each lane, in order, whose multiplier is at or below the crossing value, and the first lane whose multiplier is above it is where the Round is lost. Easy has 24 lanes, Medium 22, Hard 20 and Expert 15. The Verifier shows the highest multiplier that the Round could have paid. - 6.16
Moles uses SHA-256 with the message
clientSeed:nonce:board:moles:counter, where board is the number of the board within the Round, counting from 1. For each of up to 9 boards, the holes of the 1 to 6 moles you chose are drawn from the 7 holes without repetition by the method in clause 5.4, and every board is fixed when the Bet is placed. You win a board when a mole is in the hole you pick. After r boards won with n moles, the multiplier is 0.96 × (7 ÷ n) to the power of r, rounded down to two decimal places, so that each cash-out point returns 96% before that rounding. The table for each number of moles ends at its last multiplier at or below 10,000,000x, so that with 1 mole no more than 8 boards are played, and a Round can also end early under clause 11.5. - 6.17
Crash uses a Round Seed for each Crash Round in place of your Seed Pair, as section 7 sets out.
- 6.18
The options, payouts, side bets, limits and maximum multipliers of each Original are set out in the game itself and in the Game rules. This section gives the payout rule of an Original where it has one, and the Game rules hold the full payout tables.
7. Crash Rounds
- 7.1
Crash is played in shared Crash Rounds, and every Bet in a Crash Round meets the same crash point. Each Crash Round has its own Round Seed, made of 32 random bytes generated by our server and written as 64 hexadecimal characters. Your Seed Pair, Client Seed and Nonce play no part in Crash.
- 7.2
We publish the SHA-256 hash of the Round Seed when the Crash Round opens for Bets, before any Bet is placed in it and before the multiplier starts to rise, and we hold the Round Seed in encrypted form until the Crash Round ends, when we reveal it.
- 7.3
The crash point is calculated with HMAC-SHA256, keyed with the Round Seed, over the message
peeks-crash-1:public:0. Taking the first Word of the output as w, the crash point in hundredths is the whole part of 99 × 2^32 divided by (2^32 minus w), subject to a minimum of 1.00x and a maximum of 1,000.00x. A crash point at or above a target of t therefore occurs in 0.99 ÷ t of Crash Rounds, to within one part in 2^32, so that every target returns 99%, subject to clause 11.5. A crash point of 1.00x occurs in about 2 of every 101 Crash Rounds; such a Crash Round ends the moment it starts, and every Bet in it that has not been canceled loses. - 7.4
Once a Crash Round starts, the displayed multiplier rises from 1.00x along a fixed curve, equal to e raised to the power of 0.00008 multiplied by the milliseconds elapsed, until it reaches the crash point.
- 7.5
You may have one Bet at a time in each Crash Round while it is open for Bets. You may cancel that Bet for a full refund until the multiplier starts, and then place a new one while betting is still open. An automatic cash-out target at or below the crash point settles the Bet at that target as soon as the multiplier reaches it, and a Bet with a stake of more than $1,000 cashes out by itself at $1,000,000 divided by its stake, rounded down to 0.01x, unless it has cashed out sooner. A manual cash-out is judged by the moment your request reaches our server. If it arrives before the crash point, it wins at the multiplier current at that moment, unless our server has already settled the Bet as lost by the time it can act on the request. If it arrives at or after the crash point, the Bet loses. A Bet not cashed out before the crash point loses, and Crash Bets settle in this way whether or not you remain connected.
- 7.6
Crash lists its 20 most recent finished Crash Rounds, showing for each the Round Seed and the hash of that Round Seed. Any of them can be checked in your browser from within Crash, and you can copy the Proof of a finished Crash Round. You can also enter a revealed Round Seed on the Crash page of the Verifier at /provably-fair/game-verifier/crash, which confirms that the SHA-256 hash of the Round Seed equals the published hash and reproduces the crash point by the method in clause 7.3. The Round Seed of a finished Crash Round also appears with each Bet placed in it.
- 7.7
We may pause Crash. While it is paused, new Bets are refused with the message "Paused for maintenance." and no new Crash Round is created, and a Crash Round already open continues to its crash point. While we pause play with money across the whole Service, no new Crash Round is created either, and a Crash Round that has not yet started is canceled and each Bet in it is refunded in full.
8. Seeds: viewing, rotating and revealing
- 8.1
The Seeds page shows the Server Seed Hash and the Client Seed of your active Seed Pair, together with the number of Bets placed with it, which is also the Nonce of your next Bet.
- 8.2
You may rotate at any time from the Seeds page, subject to clause 8.3. On Rotation:
- the Server Seed of your active Seed Pair is revealed, and you can confirm that its SHA-256 hash equals the Server Seed Hash shown before your Bets;
- that Seed Pair is retired, and no further Bet can be placed with it;
- a new Seed Pair begins, made of a new Server Seed, shown by its Server Seed Hash, and the Client Seed you entered; and
- the Nonce of the new Seed Pair starts at 0.
- 8.3
You cannot rotate while a Round of any Original on your Account remains open, because revealing the Server Seed would expose the hidden outcomes of that Round. The Seeds page names each game in which a Round is open, or tells you that a Round is still settling, and you may rotate once those Rounds are finished.
- 8.4
A Server Seed is revealed only by your Rotation. Until you rotate, the Bets placed with that Server Seed cannot be verified, and we do not reveal the Server Seed to you or to anyone else.
- 8.5
The Seeds page lists your 20 most recently retired Seed Pairs, each with its revealed Server Seed, its Server Seed Hash, its Client Seed and the number of Bets placed with it. A revealed Server Seed also remains attached to every Bet placed with it, so older Bets stay verifiable from their own records.
- 8.6
Your Client Seed is stored with each of your Bets and is visible to anyone who looks up one of those Bets under clause 9.6. Do not use personal information, a password or any other secret as a Client Seed.
- 8.7
We may limit how many times an Account can rotate within a short period, and we record every Rotation in our audit log.
9. Verifying a Result
- 9.1
The Verifier reproduces the Result of any Bet on any Original from its inputs. Its calculations run in your browser, so a check does not rely on any calculation made by our servers. The Provably fair page summarizes the steps below and opens a worked example in the Verifier.
- 9.2
You can check a Bet in any of these ways:
- from the details of the Bet, which offer a check of it once its Server Seed or Round Seed has been revealed, and from which you can copy its Proof;
- by entering its Bet ID on the Seeds page, which opens the Verifier with the recorded inputs, settings and Result of the Bet filled in, or by pasting its Proof there; or
- by entering the Server Seed, Client Seed, Nonce and settings in the Verifier yourself.
- 9.3
To verify a Bet:
- rotate the Seed Pair used for the Bet, so that its Server Seed is revealed;
- check that applying SHA-256 to the revealed Server Seed gives the Server Seed Hash that was shown before the Bet and is recorded with it;
- reproduce the Result from the Server Seed, the Client Seed, the Nonce, the settings and decisions recorded for the Bet, and its Rules Version, using the Verifier, the Published Code, or code of your own written from sections 5 and 6 and the payout tables in the Game rules; and
- compare the reproduced Result with the recorded Result.
The Server Seed Hash recorded with a Bet comes from our own records. For a check that does not depend on them, copy the Server Seed Hash from the Seeds page before your first Bet with a Seed Pair, and keep that copy until you have rotated and checked the Seed Pair.
- 9.4
A Round that is still open cannot be verified until it has finished, and a Bet whose Server Seed has not been revealed cannot be verified until you rotate.
- 9.5
You are not required to use the Verifier. The Published Code contains the source of the Verifier and of the rules of every Original other than Crash, with a SHA-256 fingerprint for each file, and you may run it, or an implementation of your own, entirely outside the Site. The method for Crash is set out in full in clause 7.3.
- 9.6
Any person may look up a settled Bet by its Bet ID and see its game, stake, settings, Result, Server Seed Hash, Client Seed and Nonce, and its Server Seed once that Server Seed has been revealed. A player who has turned off Public profile appears as Hidden.
- 9.7
The values below let you test code written under clause 9.5. With the Server Seed
3575f4bf1e5c4a3b4693ea09e7b2adf598ebc0066f6a7b234ff046aa04b0c408, the Client Seedpeeks-exampleand Nonce 0:- the Server Seed Hash is
62f5bb413d997a369741acf69dfb1cb634e555e4476c483022053cf3d40ce348; - HMAC-SHA256 keyed with that Server Seed over the message
peeks-example:0:dice:0gives3a5fe8ad540cdaf345c82525e239b83c6ed01ab50cae01f4ce09b8392913512c; - the first Word of that output is 979,364,013, which is below 4,294,960,000, and its remainder on division by 10,000 is 4,013, so the Dice roll is 40.13; and
- the first four cards of the Blackjack shoe for the same Seed Pair and Nonce, drawn under clause 6.11, are the 10 of hearts, the 3 of diamonds, the 7 of diamonds and the King of hearts.
- the Server Seed Hash is
- 9.8
If a check does not reproduce the recorded Result, or a revealed Server Seed does not match its Server Seed Hash, keep the Bet ID and contact Support as section 16 describes.
10. Rules Versions
- 10.1
Every Bet records the Rules Version under which it is settled. The Site labels each Rules Version by game and number, for example "Dice rules v1".
- 10.2
A Bet is always verified under the Rules Version recorded with it. For the Originals other than Crash, the Published Code keeps the code of every Rules Version under which a Bet has been settled, and the Verifier checks a Bet placed under an earlier Rules Version from that Bet's own record.
- 10.3
We may introduce a new Rules Version for an Original to change its method, options or payouts. A new Rules Version applies only to Bets placed after it takes effect, and never to a Bet already placed or a Round already open. When it takes effect we will update this Policy and the Published Code.
- 10.4
The Verifier lists every Rules Version of each Original other than Crash in its Rules selector, under a label such as "Mines rules v2". For the Rules Version chosen, it shows the file of the Published Code that holds its code, with the SHA-256 fingerprint of that file, and the whole Published Code can be downloaded from the same place.
- 10.5
Where a new Rules Version lowers the RTP of any setting or the payout of any outcome, we may announce it on the Site before it takes effect. We may announce any other new Rules Version on the Site, and clause 10.3 applies to a new Rules Version whether or not it has been announced.
11. Return to player and house edge
- 11.1
The RTP of a game is the share of all amounts bet on it that it pays back as winnings across a very large number of Bets. It describes the game and not any player or session, and over any period your own return may be far above or far below it.
- 11.2
We calculate the RTP of each Original from its rules and payout tables across every possible outcome, by exact counting or exact probability rather than by sampling. Depending on the game, the calculation uses:
- a count of every outcome for every setting, as for each target in Dice, Limbo and Crash, each pocket in Roulette, each crossing value in Chicken Cross and every deal of four to six cards from the eight-deck shoe in Baccarat;
- binomial counts, as for the buckets in Plinko and the coins in Coinflip;
- hypergeometric counts, as for the matches in Keno and the safe tiles in Mines;
- the odds of each step compounded over the steps taken, as in Tower and Moles;
- in Wheel, the chance and multiplier of each result of a single spin;
- in Hilo, the odds of each card and call on the first call, any later call being priced at fair odds; and
- every path a Round can follow, as for the throws in Rock Paper Scissors and the ties in War.
Blackjack is the one exception: its RTP is calculated for a player who follows basic strategy under the game's rules, and it is a close estimate rather than an exact figure.
- 11.3
RTP figures are rounded half up to two decimal places, and a range covers every main bet setting of the game. Doubles and splits in Blackjack and the raise in War count as amounts bet. The Baccarat range covers the Player and Banker bets. The Tie bet and side bets have figures of their own, given below, and so does Wheel, the one Original whose highest multiplier can cut a win short. Each figure assumes that a payout is made in full. Because payouts are rounded down to the cent under clause 5.7, a small stake can return less: a $0.10 Dice Bet at 1.98x pays $0.19 rather than $0.198.
- 11.4
The RTP of each Original under its current Rules Version is:
- Baccarat: Player 98.76% and Banker 98.94%; Tie 85.64%; side bets Player pair 89.64%, Banker pair 89.64%, Either pair 86.29%, Perfect pair 86.97%, Player bonus 97.35% and Banker bonus 90.63%;
- Blackjack: 99.57% with basic strategy; side bets Perfect Pairs 95.90% and 21+3 96.30%;
- Chicken Cross: 95.93% to 96.00%;
- Coinflip: 98.99% to 99.00%, Classic being 99.00%;
- Crash: 99.00%;
- Dice: 99.00%;
- Hilo: 95.62% to 96.23%;
- Keno: Classic 98.96% to 99.04%, Low 98.75% to 99.07%, Medium 98.65% to 98.99%, High 98.65% to 99.01%, and Extreme 97.98% to 98.04%;
- Limbo: 99.00%;
- Mines: 95.58% to 96.47%;
- Moles: 95.51% to 96.00%;
- Plinko: 98.91% to 99.16%;
- Rock Paper Scissors: 98.00%;
- Roulette: 97.30% on every bet;
- Tower: 95.63% to 96.00%;
- War: 96.56% when going to war on every tie and 96.27% when surrendering on ties; side bets Tie 95.33% and Colored tie 95.34%; and
- Wheel: 96.40% for one spin on Low and 96.00% for one spin on Medium, High and Risky. Each further spin applies the house edge again, so the return falls the more spins you take: where you play all 10 spins of a Round at a $1 stake, it is 68.61% on Low, 66.26% on Medium, 49.64% on High and 39.75% on Risky.
The house edge of each Original is 100% less its RTP, so that an RTP of 99.00% is a house edge of 1.00%.
- 11.5
The most that a single Bet on an Original can pay is the Maximum Payout of $1,000,000, stake included, as the Game rules set out. Under the current Rules Version of each Original, no payout is reduced to meet it, except under clause 4.10 of the Game rules for a Bet accepted by mistake. Depending on the game, a Bet whose possible win would exceed it is not accepted, a Round played in steps ends before a step that could take its payout above it and pays in full the payout reached, or, in Crash, a Bet with a stake of more than $1,000 cashes out by itself before its payout could pass it. None of these lowers the figures in clause 11.4. In Wheel, a Round also ends when its running multiplier reaches 10,000x, which can cut a win short, and the Wheel figures in clause 11.4 allow for it.
- 11.6
The rules, payout tables and rounding of an Original, and so its RTP, are the same for every player. We do not adjust them for any player, Account, Balance, time of play or result, and they change only through a new Rules Version under clause 10.3.
- 11.7
The RTP of a Studio game is set by its Studio and is shown in the game's own information or paytable screen where the Studio provides it. A Studio may supply the same game at more than one RTP setting. We do not calculate the RTP of a Studio game and cannot verify it.
12. Fun play
- 12.1
Every Original, Crash included, can be played in Fun play by guests and by players with an Account. Nothing is staked in Fun play, nothing is paid out, and Fun play never changes your Balance.
- 12.2
Except in Crash, Fun play rounds are drawn in your browser under the same game rules, from random values that your device generates for each round. Those rounds are not committed in advance, are not stored by us and cannot be checked with the Verifier, and they have no connection with the Result of any Bet. In Crash, a Fun play round follows the live Crash Round: it meets the same crash point as the Bets placed in that Crash Round, with nothing staked, and its cash-outs are handled in your browser and are not recorded by us.
- 12.3
Some Studio games offer Fun play run by their Studio and some do not. The results of Fun play in a Studio game are produced by the Studio's systems, and we do not record them.
13. Studio games
- 13.1
Studio games are slots, live casino games and game shows supplied by Studios through the Game Aggregator. They run on the Studio's systems and open in a frame on the Site.
- 13.2
The results of slots and other software games are produced by each Studio's own random number generator. The results of live casino games and game shows are produced by physical equipment, cards and dealers in the Studio's facilities. Peeks does not produce, see in advance or alter any of those results.
- 13.3
Studio games are not Provably fair. The Seeds page and the Verifier do not apply to them, and we are not able to verify their results ourselves. A Studio does not disclose the values from which its results are drawn in a form the Verifier can use, so no player can check a Studio result in the way section 9 allows for the Originals. Any assurance about a Studio game rests on the Studio's own testing and on any license it holds, neither of which we control.
- 13.4
A Studio game may show a fairness check of its own, made by its Studio, such as a hash shown before a round and a seed revealed after it. Such a check belongs to the Studio's game. It runs on the Studio's systems by the Studio's own method, and the Studio alone answers for it. It is not the Verifier, the Seeds page has no effect on it, and we cannot confirm what it shows. We do not describe a Studio game as Provably fair because it carries such a check.
- 13.5
Responsibility for having a Studio's random number generator and games tested, and for any certificate issued for them, rests with that Studio. Unless this Policy names a testing body for a Studio, we make no statement that any laboratory has tested the games of that Studio. Where a Studio publishes a testing certificate for one of its games, Support will tell you on request where to find it.
- 13.6
The rules and paytable shown inside each Studio game apply to that game, and the Studio's record of a round decides its result. A Malfunction in a Studio game, and any error made by a live dealer, are dealt with under the Studio's rules for that game. A round that the Studio cancels, or a stake that it rolls back, is returned to your Balance in the amount the Studio reports, but never more than the amount taken for that round and not yet returned. A win that the Studio reverses is taken back from your Balance, but never more than that win, and a reversal that your Balance cannot cover is refused and recorded.
- 13.7
Every stake, win and refund in a Studio game is recorded as a separate entry in our ledger, and each round is recorded with the Studio's own reference for it.
- 13.8
We may hide or remove any Studio game, or all the games of a Studio, at any time, including where a game fails to open or to accept Bets. Hiding or removing a game does not affect any round already settled in it.
- 13.9
If you question the result of a round in a Studio game, we take the matter up with the Studio through the Game Aggregator, using the Studio's reference for the round, and we pass the Studio's answer on to you.
- 13.10
Where a Studio game carries a jackpot shared by players at several casinos, its Studio runs that jackpot under the rules shown in the game, which govern how it is won and how it counts toward the game's RTP.
14. Malfunctions, interruptions and errors
- 14.1
The Result recorded on our servers decides every Bet on an Original. Anything your device displays, including an animation, a sound, a multiplier or a Balance, is only a display of that record, and where the two differ, the record prevails.
- 14.2
A Bet, once placed, settles whether or not you remain connected. A Round that is open when you disconnect stays open until you return to it, and Crash Bets settle as clause 7.5 states.
- 14.3
We may pause any Original, including for maintenance, and when we find a Malfunction in an Original we pause it until the cause has been put right. While an Original is paused it accepts no new Bets, and you may finish an open Round in it only by an action that adds no stake: cashing out, standing or declining insurance in Blackjack, or surrendering in War. A Round of Chicken Cross, Hilo, Mines, Moles, Rock Paper Scissors or Tower in which nothing has yet been won offers no cash-out. If such a Round is ended while the game is paused, or while you are on a Play break or in Self-exclusion, it is closed with its stake returned to your Balance in full. Otherwise it stays open at the point it has reached until the pause or that period ends.
- 14.4
Where a Malfunction affects a Bet on an Original, we settle the Bet at the Result that its inputs and its Rules Version produce, if that Result can be established. If it cannot, the Bet is void and its stake is returned to your Balance. Where the Bet has already been settled, clause 14.5 governs any difference between the amount paid and that Result.
- 14.5
Where a Malfunction or a settlement error has paid you less than the Result that a Bet's inputs and its Rules Version produce, we add the difference to your Balance. Where it has paid you more, we may remove the excess under clauses 11.14 and 11.15 of the Terms. Each correction and each void is made by a new entry in our ledger, and we tell you which Bet it concerns, what went wrong and the amount.
- 14.6
Taking advantage of a Malfunction, an error in a game or a defect in the method described in this Policy is Prohibited Conduct under section 14 of the Terms, and any Bet placed to do so is void.
- 14.7
If a multiplier, payout table or rule displayed in an Original differs from its Rules Version, the Rules Version applies. This clause overrides clause 1.3 of the Terms to the extent that clause would let the rules shown in a game decide such a Bet.
- 14.8
When we find a Malfunction, we look for every Bet it may have affected, and we settle, void or correct each of them under this section, whether or not anyone has raised it.
15. Records
- 15.1
For every Bet on an Original we record its Bet ID, game, time, stake, settings, Seed Pair, Server Seed Hash, Client Seed, Nonce, Rules Version, each decision you made during the Round, and its Result and payout.
- 15.2
For every Crash Round we record the hash of its Round Seed, the Round Seed itself and the crash point, and for each Bet in it, the stake, any automatic cash-out target, the multiplier at which the Bet was cashed out and the payout.
- 15.3
Every movement of your Balance, including each stake, payout, refund and correction, is recorded as a separate entry in our ledger. Ledger entries cannot be edited or deleted, and a correction is made only by a new entry.
- 15.4
You can view your Bets and transactions in your Account and download them as CSV files.
- 15.5
We keep these records as the Privacy policy sets out.
16. Questions and complaints about a Result
- 16.1
If you believe a Result is wrong, contact Support through the Support page or at support@peeks.gg, giving the Bet ID, the game, the time, the Result you expected and your reasons. For an Original, include the revealed Server Seed if you have rotated.
- 16.2
Raise a question about a Result as soon as you can. For a round of a live casino game or game show, tell the dealer or the Studio's staff through the game's chat where the game has one, and tell Support promptly, since a Studio may not keep its video and records of a round for long. You may still complain about any Result within the time that the Complaints policy allows, but a question raised late may be impossible to check against a Studio's records.
- 16.3
For a Bet on an Original, we reproduce the Result from the inputs and the Rules Version recorded with the Bet and compare it with the recorded Result and with our ledger. For a Studio game, we obtain the Studio's record of the round through the Game Aggregator. If a Studio's own fairness check under clause 13.4 does not match a round, send us the round reference and the values the check showed, and we take the matter up under clause 13.9.
- 16.4
If the recorded Result or the payout is wrong, we correct it under section 14. If it is right, we show you how the Result was reached.
- 16.5
A complaint that Support does not resolve is handled under the Complaints policy, which sets out the stages, the time limits and the final decision.
17. Changes to this Policy
- 17.1
We may change this Policy. The date shown at the head of this page is the date of its last change, and a change takes effect when the new version is published on the Site. No change alters the Result of a Bet already placed or the Rules Version recorded with it. We keep each earlier version of this Policy with the dates it applied, and Support will send you any of them on request.
18. Contact
- 18.1
You can contact us about this Policy through Support or at support@peeks.gg.