One purchase, one reservation
In the same transaction, a purchase:- adds its bought coins to the prize pool;
- takes a snapshot of the free coins, before its own coins;
- reserves its own coins;
- asks for randomness.
prize pool balance ≥ all reservations. An open draw reserves only its own pack’s coins. So packs that other buyers open at the same time do not lower your offer, and they do not make your purchase fail. A settled but owed draw reserves exactly what it owes. One draw can never spend another draw’s reservation.
When the draw settles, its reservation is released. The prize is paid, or it stays reserved as owed until a claim.
Caps
Every prize row is capped atfree coins + the pack's own coins. When the prize pool is low, the top rows pay less than their full multiplier. Their chances do not change. The app shows the capped amounts before you buy: they are the most the prize pool can pay at that moment.
The cap is checked again when your draw settles. If another win settles first and uses free coins, a large prize can pay less than the amount you saw. A win never pays less than your pack’s own coins, and the smallest prize is never cut. The odds and the prize table do not change.
The buyer signs min_maximum, so a purchase fails if the top prize fell below what the buyer saw before the purchase landed.
The Mega Pack never uses the prize pool.