Provably Fair
Every winner is determined by a public commit-reveal scheme. No one — not even us — can rig the result after the commitment is published.
How it works
- Before each draw, the engine generates a random secret and publishes SHA-256(secret) on-chain and to Telegram. The secret stays private.
- The snapshot is taken 2 seconds before the draw fires. Holders, balances, and ranks are frozen.
- After the draw, the engine reveals the secret. Anyone can hash it and confirm it matches the pre-published commitment.
- Winner derivation uses
SHA-256(secret + tierName)as the deterministic seed for weighted random selection. Same secret + same snapshot = same winners, every time.
Verify it yourself
// Verify a SolJackpot draw — Node.js
import crypto from 'crypto';
const commitHash = '<commit hash from before draw>';
const revealedSecret = '<secret revealed after draw>';
const recomputed = crypto.createHash('sha256')
.update(revealedSecret)
.digest('hex');
console.log(recomputed === commitHash ? 'VERIFIED ✓' : 'TAMPERED ✗');
// Then derive the winner index for each tier:
function deriveWinner(secret, tierName, addresses, weights) {
const seed = crypto.createHash('sha256')
.update(secret + tierName)
.digest();
const rand = parseInt(seed.toString('hex').slice(0, 12), 16);
const total = weights.reduce((a, b) => a + b, 0);
let target = rand % total;
for (let i = 0; i < weights.length; i++) {
target -= weights[i];
if (target < 0) return addresses[i];
}
}Recent draws
Loading...