A throw is a third each way
RPS on this site is rock, paper, scissors against a dealer, played as a streak. Win and your multiplier grows; draw and you throw again; lose and the run is over. After your first win you can cash out whenever you like. The game looks like it has a strategy — reading the dealer, avoiding the throw it just made — and it does not, because of how the dealer’s hand is chosen.
The dealer’s hand is fixed by the seed pair before you throw and does not depend on what you throw. So whatever you choose, the dealer shows the hand that beats it one time in three, the same hand one time in three, and the hand it beats one time in three. There is no pattern in a sequence of HMAC outputs to exploit, and no throw that is better than another.
Where the 1.5% comes from
The multiplier was built with the draw in the sum. Count a throw as a bet that returns ×1.97 on a win, the stake on a draw and nothing on a loss, and it returns (1.97 + 1) ÷ 3 = 99% — a 1% edge per throw. That is arithmetically true, and it is not the number a player experiences, because a draw is not a result. Nothing is paid and nothing is lost; you simply throw again until someone wins.
Take the draws out and the run is decided by the first throw that is not a draw, which is a win or a loss with equal chance. Half the time your stake becomes ×1.97, half the time it becomes nothing: 0.5 × 1.97 = 98.5%. That is the honest price of a win in this game — a 1.5% edge — and on average it takes one and a half throws to reach it.
The ladder, priced
A second win multiplies the stake by 1.97 again, at the same even odds. Riding a streak is therefore exactly the same as betting your whole running balance again at 98.5% after every win, and the edge compounds with every rung you climb.
| WINS (k) | MULTIPLIER | CHANCE OF REACHING IT | RETURN IF YOU CASH OUT HERE | EDGE |
|---|---|---|---|---|
| 1 | ×1.97 | 50% | 98.50% | 1.50% |
| 2 | ×3.88 | 25% | 97.00% | 3.00% |
| 3 | ×7.64 | 12.5% | 95.50% | 4.50% |
| 4 | ×15.06 | 1 in 16 | 94.12% | 5.88% |
| 5 | ×29.67 | 1 in 32 | 92.72% | 7.28% |
| 6 | ×58.45 | 1 in 64 | 91.33% | 8.67% |
| 8 | ×226.84 | 1 in 256 | 88.61% | 11.39% |
| 10 | ×880.36 | 1 in 1,024 | 85.97% | 14.03% |
| 12 | ×3,416.60 | 1 in 4,096 | 83.41% | 16.59% |
| 15 | ×26,121.21 | 1 in 32,768 | 79.72% | 20.28% |
Multiplier = 1.97ᵏ floored to two decimals, as the engine computes it; chance = (1/2)ᵏ; return = multiplier × chance. The flooring costs a few hundredths at most (1.97² = 3.8809 pays ×3.88). The table’s maximum profit per round still applies on top.
The same fact read the other way: a player who always rides to five wins pays 7.3% of every stake, five times the price of a player who banks each win. The top rungs are not a jackpot bolted onto the game; they are the same 98.5% coin flip, stacked, with the cost stacking too.
What a streak feels like
Two things make riding feel better than it prices. The first is that the winnings on the table feel like the house’s money rather than yours — the house-money effect — so risking ×3.88 to reach ×7.64 feels like a free shot. It is a new bet of 3.88 units at even odds and a 1.5% edge. The second is that a streak feels like momentum. The dealer’s next hand is a fresh HMAC; four wins in a row change the chance of a fifth by exactly nothing, which is the gambler’s fallacy in its mirror form.
Draws add a small illusion of their own. Two draws in a row happen one run in nine and feel like a near miss, but they cost nothing and change nothing: the next non-draw is still a coin flip.
Checking a run
- After the round, rotate your seed pair to reveal the server seed, and confirm its SHA-256 matches the fingerprint you were shown before playing.
- For throw N of the round compute HMAC-SHA256 keyed by the server seed over “clientSeed-nonce-(N−1)”, read the first 13 hex digits as a number, divide by 2⁵², multiply by 3 and floor it: 0 is rock, 1 paper, 2 scissors.
- Compare each dealer hand with your throw, count the wins, and check the paid multiplier against 1.97 to that power, floored to two decimals.
Replaying the hands shows they were fixed before you threw. The price — 98.5% per win, compounding — is not in the hash; it is in the two lines of the settlement code above.
What are the odds of winning rock paper scissors against a casino dealer?
Here the dealer’s hand is a uniform random draw, so any throw wins, draws and loses one time in three. Because a draw replays, the round is decided 50/50.
What is the house edge on RPS?
1.5% per win: a win pays ×1.97 and happens half the time once draws are taken out, so each win returns 98.5%. Counting draws as rounds that returned the stake gives 1% per throw — the same game described differently.
Should I cash out after one win or keep going?
Each extra win is a new even-money bet of your whole running multiplier at 98.5%, so the edge compounds: cashing after 2 wins returns 97.0%, after 5 wins 92.7%, after 10 wins 86.0%. Banking the first win and starting again is the cheapest way to play.
Is there a best throw in rock paper scissors here?
No. The dealer’s hand comes from the seed pair and does not depend on your throw or on previous rounds, so every throw has the same one-in-three chances.
What does a draw do?
Nothing is paid and nothing is lost; you throw again. You cannot cash out on a draw before your first win.
- Betkyo engine source, house service: OriginalRpsService.kt — getResult() (round N = Nth nextIntBelow(3) of the seed pair), betGameTicket() (push on draw; base = (1 − house edge − 1/3) ÷ (1/3); multiplier = base^winCount floored to 2dp; zero on loss), endGameTicket() (cash-out only after a win); client mirror rps/rpsApi.ts
- Exact calculation written for this article: the multiplier ladder with the engine’s 20-digit base and 2-decimal floor; reach probabilities (1/2)ᵏ; returns and edges by cash-out point; cross-checked by replaying 200,000 runs of the HMAC stream (first win reached 50.01%, three wins 12.48%; 1.50 throws per decision)



