Money Pot uses a simple provably fair scheme, designed to be as easily machine-auditable as possible. It is our hope that all MoneyPot games automatically and instantly verify the games on your behalf however it's important that you can, and do verify games yourself
Before you place a bet, we prove that we have committed to an outcome between
232-1 (inclusive). We do this by sending you the
hash of the outcome. This has a very important property, if we changed the outcome the
hash would be different, and you could know the results were tampered.
hash = sha256(outcome + '|' + seed)
seed makes it infeasible for an attacker to brute force all
232 possible outcomes,
but is otherwise useless data. We do not yet reveal the
It prevents any ambiguities as otherwise
923XYZ could be an outcome of
a seed of
XYZ or an outcome of
92 and a seed of
232-1which you can use to influence the final outcome
A bet must be well-formed, meaning it must be +EV and within the kelly criterion for the house. If the bet can not be accepted (for example it is trying to win too much) the hash remains valid, and it should be reused.
Once given the bet, we calculate the final outcome:
final_outcome = (outcome + client_seed) % 4294967296
and find all payout ranges that contain the final outcome are are
summed, and paid. The net profit of a bet is the sum of all containing payout ranges, subtract the original wager.
To allow complete verification of the fairness, we reveal the original
secret which when
hashed together would result in the original given hash.