When you play a 2UP Originals shared hash game, every player in the round sees the same result. So how do you know that result wasn't tweaked? Here's the short answer: it was locked in before anyone placed a bet, and you can prove it.
One round, one result
In single-player games, the result is yours alone, and your own client seed helps create it. Shared hash games are different: one result has to work for everyone at once. So instead of your seed, we use two things nobody controls, including us:
A chain of 10 million pre-generated round results, sealed with a public commitment hash
The hash of a future Bitcoin block, which nobody can know until it's mined
What a shared hash means for you
Nobody gets singled out. You and every other player get the exact same outcome. There is no way to give one player a worse round.
Your bet can't change the result. Bet big or small, early or late: the round's outcome was already fixed.
Every round is sealed upfront. All 10 million rounds are locked before the first one is played. Change one, and the whole chain breaks.
One check covers every player. If anyone verifies a round, it's verified for everyone who played it.
Bitcoin: randomness nobody controls
We needed a source of randomness that nobody can predict or control, not even us. A future Bitcoin block hash is exactly that:
Nobody knows it in advance. It only exists once miners around the world produce the block.
Nobody can choose it. We don't mine it, so we can't pick a hash that suits us.
Nobody can change it. Once mined, it's on the Bitcoin blockchain for good.
Anyone can look it up. Any block explorer shows it, free, forever.
Every step, posted on X
We announce every step in public, so the record lives outside our own systems:
We name the block. Before it's mined, we post which Bitcoin block will seed the game.
We seal the chain. We publish the commitment hash that locks all 10 million rounds.
We reveal the seed. Once the block is mined, we post its hash. That's the game's client seed.
You can check each post against a block explorer and your own bet history.
How it works in 4 steps
Generate: 10 million round hashes, each the SHA-256 hash of the one before
Commit: publish the last hash as the commitment hash; rounds are played backwards from it
Seed: the announced Bitcoin block's hash becomes the client seed
Play: each round's result = HMAC_SHA256 of that round's hash and the Bitcoin block hash
Hash any round with SHA-256 and you get the hash of the round before it. Keep going and you land on the published commitment hash.
The public record
Crash
Chain length: 10,000,000 rounds
Commitment hash: 0d7f70ff97d3fc0035fe2a6e4f47b3edf280eb7a211ff005877631823e473ccd
Bitcoin block height: 971288
Bitcoin block hash (client seed): 00000000000000000000abd431816df428040a00d697aaf9423e9b50174a7bfd
Block explorer (mempool.space): https://mempool.space/block/971288
Texas Hold'em Poker Cowboy
Chain length: 10,000,000 rounds
Commitment hash: e73a9d2e996ad77e3258e3401f0662a268cf96083037f9f1595069addf5f83cc
Bitcoin block height: 974388
Bitcoin block hash (client seed): 00000000000000000000a4200eb198e258f521a5f60dd29113d6a486b90acf08
Block explorer (mempool.space): https://mempool.space/block/974388
More shared hash games are on the way, and each will be added here with its own public record.
Fair doesn't mean easier
Provably fair proves that results weren't changed. It doesn't change the odds: RTP and house edge stay exactly as published.
Have a question? Contact our Live Support team anytime, we're here to help.