The operator publishes the hash of a seed before betting opens, and settleRound refuses a seed whose hash is not that commit and refuses to pay any multiplier above the crash point that seed produces. So this round's crash point was fixed before the first bet, and nobody can be paid past it.
The operator draws the seed and submits the winners, so it can pay less than the timestamps justify, but it cannot pay more than the crash point or more than the elapsed blocks allow, and both mini-block timestamps are public.
A multiplier is 2 to the power of the elapsed time over six seconds, measured from the microsecond seal time of the mini-block that carried startRound to the seal time of the mini-block that carried the cash-out, and pickle_getMiniBlockByNumber gives either of those to anyone. Recomputing it can give a higher number than was paid: a winner is clamped to the round's crash point, and again to ceilingBpsAfter on the EVM blocks that really passed. That second ceiling sits about 1.2973 times above the curve at the same elapsed time so it survives a sealer that stretches its intervals, which means the chain will accept a payout up to about thirty per cent above what the timestamps justify.
A seed drawn honestly busts at 1.00x once in 101 rounds, and that is the house edge. The operator draws the seed, so the shape of the crash points is its word; the commit proves only that this round's point was fixed before betting opened.
Every figure on this page comes from mini-block seal times. The 10 ms mini-block interval is a scheduling target, not a latency guarantee. Test PKL has no monetary value.