数 MATH OF LUCK

Rock, paper, scissors, priced: the ×1.97 win, a 1.5% edge per win, and how it compounds

Illustration for “Rock, paper, scissors, priced: the ×1.97 win, a 1.5% edge per win, and how it compounds”
The dealer’s hand is a uniform draw from the round’s seed pair, so any throw you choose wins, draws and loses one time in three. A draw replays, so the run is decided by the first non-draw: a coin flip, 50/50. A win pays ×1.97, which returns 98.5% — a house edge of 1.5% per win, not the 1% the formula was built around (that 1% counts each draw as a round that returned your stake). Every further win multiplies the stake by 1.97 again at the same 50% odds, so the edge compounds: cashing out after 2 wins (×3.88) returns 97.0%, after 5 (×29.67) 92.7%, after 10 (×880.36) 86.0%. The best price in the game is to bank ×1.97 on the first win and start again.
BETKYO RESEARCHPUBLISHED 2026-09-29UPDATED 2026-09-296 MIN READ

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.

ENGINE-VERIFIEDOriginalRpsService.kt: getResult() draws round N’s dealer hand as the Nth nextIntBelow(3) of a SeedPairRandom on the round’s server seed, client seed and nonce — cursor N − 1, one HMAC-SHA256 of “clientSeed-nonce-cursor” each, first 13 hex digits over 2⁵², times 3, floored: 0 rock, 1 paper, 2 scissors. betGameTicket(): equal hands change nothing; a win adds one to winCount and sets the multiplier to base^winCount floored to two decimals, with base = (1 − house edge − 1/3) ÷ (1/3) = 1.97 at the 1% edge; a loss sets the multiplier and payout to zero. endGameTicket() refuses a cash-out before the first win. The client mirror is rps/rpsApi.ts.

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.

For comparison, Koban Flip pays ×1.96 on a true coin flip, a 2% edge per call; the site’s dice and limbo are 1% games. RPS sits between them: 1.5% per win.

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.

Cash out after k wins
WINS (k)MULTIPLIERCHANCE OF REACHING ITRETURN IF YOU CASH OUT HEREEDGE
1×1.9750%98.50%1.50%
2×3.8825%97.00%3.00%
3×7.6412.5%95.50%4.50%
4×15.061 in 1694.12%5.88%
5×29.671 in 3292.72%7.28%
6×58.451 in 6491.33%8.67%
8×226.841 in 25688.61%11.39%
10×880.361 in 1,02485.97%14.03%
12×3,416.601 in 4,09683.41%16.59%
15×26,121.211 in 32,76879.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

  1. 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.
  2. 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.
  3. 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.

FAQ

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.

SOURCES & REFERENCES
  • 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)
THE GAMES IN THIS ARTICLE
Betkyo Research — written by the team that builds these games. Every probability quoted in the Journal is derived from our engine source or a cited reference, never copied from another site. Figures are re-checked whenever the engines change.

18+ · PLAY RESPONSIBLY · THE JOURNAL IS EDITORIAL CONTENT, NOT BETTING ADVICE