Happy Gaming!

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

1. We give you a hash

Before you place a bet, we prove that we have committed to an outcome between 0 and 232-1 (inclusive). We do this by sending you the sha256 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)

The 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 outcome or seed

2. You make the bet

A bet consists of:

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.

3. We settle the bet

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 outcome and secret which when hashed together would result in the original given hash.