reward tiers are pure math! added to the smart contract: fn calculate_reward(luck: u8, random: f64, price: u64) -> u64 { let thresholds = get_thresholds(luck); match random { r if r <= thresholds.dud => 0, r if r <= thresholds.rebate => price / 2, r if r <= thresholds.even => price, r if r <= thresholds.profit => price * 3 / 2, _ => price * 5, // jackpot } } higher luck = better thresholds = more wins ...the random number is untouchable