The data behind the score

Everything We Measure, And What We Refuse To Claim

What we read, and what it produces

Every operator is measured against the same sources, and none of them are sources an operator controls. That is the whole reason the number is worth anything.

What Niekie reads, and what each part produces Five kinds of independent source feed into Niekie's scoring, which produces a single number out of 100 that is sealed to a public audit ledger. Separately, the casinos' own public bet feeds are read and counted to produce observed return figures, which are published on their own and do not affect any score. License registries Sanctions lists Player payout reports Domain records Complaint history niekie 0 to 100 sealed to the ledger Casino bet feeds Observed return published, never scored
Independent sources in, one number out, and no operator can pay to change what happens in the middle. What a casino publishes about its own games is counted separately and kept out of the score, because it is the one input an operator controls.

What we are watching right now

Bets read from each operator's own public feed, counted by us. Return is what players actually got back across every game we saw, not a figure the operator supplied.

Casino Games Studios Bets seen Observed return Operator states Difference Biggest win
Roobet 5,656 27 1,912,978 97.9% ±2.8% not published not published 5,000x
Winna 1,611 33 963,621 collecting not published not published 9,900x
Shuffle 3,306 0 608,598 collecting not published not published 5,951x
Stake.com 3,907 408 174,631 collecting 97.0% not published 80,085x

Observed return is uncorrected. These feeds are the operators' own marketing surfaces and the selection leans toward winning rounds, so the figure is biased upward by an amount we cannot measure and that differs between operators. Where it exceeds 100% we label the feed curated, because no game returns more than it takes. Rolling 7 days. A return figure appears once an operator passes 1,000 observed bets, because below that the average is decided by whichever rare large win happened to land in the window. The range after each figure is the 95% interval. These feeds are rolling windows the operators publish themselves, so this is a sample of their play and not all of it.

Observed return, game by game

What players actually got back on the games we saw most, next to what the operator says the game returns. The second column is only filled where an operator publishes a house edge at all.

GameWhere Bets seen Observed Operator states Difference Biggest
Dice Roobethousegames 482,324 collecting not published 4,950x
Kenocurated feed Winnainternal house games 291,292 collecting not published 800x
Limbocurated feed Winnainternal house games 162,403 collecting not published 9,900x
Plinkocurated feed Winnainternal house games 140,386 collecting not published 2,000x
Keno Shuffleunknown 92,901 97.6% ±3.5% not published 450x
Dicecurated feed Winnainternal house games 81,535 collecting not published 9,900x
Dice Shuffleunknown 64,657 98.1% ±1.1% not published 100x
Fist of Destruction Megamultiplier Roobethacksaw 52,417 collecting not published 918x
Blackjack Shuffleunknown 45,001 97.9% ±0.9% not published 26x
Limbo Shuffleunknown 43,750 98.2% ±7.0% not published 1,200x
Wanted Dead or a Wild Roobethacksaw 39,665 collecting not published 4,200x
Wheel Roobethousegames 38,369 97.5% ±3.6% not published 50x

Rolling 7 days, ordered by how much play we captured. Observed return is uncorrected for feed selection and biased upward by an unknown amount, so treat a single game's figure as a reading of the feed rather than a measurement of the game. The same play grouped by studio reaches a statable figure much sooner, because a proportion converges faster than a heavy-tailed mean. Every game as JSON.

What we can attribute on chain

Money moving inside the games is public at every casino we read. Money moving out to players is private at all of them, so payout figures have to come from the chain, and that means knowing which addresses belong to whom.

CasinoChain AddressesGiven to us Hot wallets Deepest inference
Wild.io ETH 3 3 0 0 hops
Winna BSC 1 1 1 0 hops
Shuffle ETH 1 1 2 0 hops
Wild.io BSC 1 1 0 0 hops
Rainbet Casino TRON 1 1 1 0 hops
Wild.io SOL 1 1 0 0 hops
BetFury BSC 1 1 1 0 hops
BC.Game TRON 1 1 1 0 hops
Stake Casino ETH 1 1 5 0 hops
Rollbit BTC 1 1 0 0 hops
Cloudbet LTC 1 1 0 0 hops
Wild.io TRON 1 1 0 0 hops
BetFury SOL 1 1 1 0 hops
Duelbits TRON 1 1 1 0 hops
BC.Game BTC 1 1 1 0 hops
Shuffle SOL 1 1 2 0 hops
Duelbits LTC 1 1 0 0 hops
Rainbet Casino BTC 1 1 1 0 hops
Gamdom TRON 1 1 1 0 hops
Rollbit ETH 1 1 3 0 hops
Shuffle BTC 1 1 0 0 hops
Gamdom BSC 1 1 2 0 hops
Stake Casino LTC 1 1 0 0 hops
BC.Game BSC 1 1 2 0 hops
Cloudbet ETH 1 1 2 0 hops
Gamdom ETH 1 1 3 0 hops
BC.Game SOL 1 1 1 0 hops
Shuffle LTC 1 1 0 0 hops
Gamdom BTC 1 1 0 0 hops
Rainbet Casino BSC 1 1 1 0 hops
Duelbits BTC 1 1 0 0 hops
BC.Game LTC 1 1 0 0 hops
Wild.io LTC 1 1 0 0 hops
Duelbits BSC 1 1 1 0 hops
Rollbit SOL 1 1 1 0 hops
Gamdom LTC 1 1 0 0 hops
Rainbet Casino SOL 1 1 1 0 hops
Wild.io BTC 1 1 0 0 hops
BC.Game ETH 1 1 8 0 hops
Winna TRON 1 1 1 0 hops
BetFury LTC 1 1 0 0 hops
Stake Casino TRON 1 1 1 0 hops
Winna ETH 1 1 1 0 hops
Cloudbet BSC 1 1 2 0 hops
Cloudbet TRON 1 1 2 0 hops
BetFury ETH 1 1 1 0 hops
Stake Casino BSC 1 1 2 0 hops
Cloudbet BTC 1 1 0 0 hops
Winna BTC 1 1 0 0 hops
Winna LTC 1 1 0 0 hops

52 attributed addresses. Every address has to trace back to one the operator handed us. Totals built on them are a floor, never an operator's real position, because wallets we have not found are invisible. See every address and how we know.

Latest from the blog

What we find while auditing operators, and what changes in the data behind the scores.

Read the blog

How we score. Scores are computed by a published algorithm. No commercial arrangement is an input to one.
Independent, not owned by any operator About Blog Responsible gambling Free demos How we score Games Methodology For operators Extension Contact Privacy Cookies Terms Socials
Niekie on PeerPush