Transparent random selection of two $500 prize winners from the five honorable mentions.
Two of the five honorable mention recipients will receive an additional $500 prize each. We select the two lottery winners using a deterministic draw that anyone can reproduce.
Index: S&P 500 (SPX) — official index page
Value: Regular-session closing value (4:00 pm ET) on Tuesday, February 10, 2026, displayed to 2 decimal places.
Reference source: MarketWatch SPX page
The algorithm is a seeded pseudorandom number generator (mulberry32) applied to a Fisher-Yates shuffle. All code runs entirely in your browser—nothing is sent to any server.
The randomization algorithm is fully deterministic and runs client-side. To verify independently:
You can verify the result by viewing this page's source code or running the equivalent algorithm in any programming language. The code below is the complete implementation:
// Hash function: cyrb53
function cyrb53(str, seed = 0) {
let h1 = 0xdeadbeef ^ seed, h2 = 0x41c6ce57 ^ seed;
for (let i = 0; i < str.length; i++) {
let ch = str.charCodeAt(i);
h1 = Math.imul(h1 ^ ch, 2654435761);
h2 = Math.imul(h2 ^ ch, 1597334677);
}
h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507);
h1 ^= Math.imul(h2 ^ (h2 >>> 13), 3266489909);
h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507);
h2 ^= Math.imul(h1 ^ (h1 >>> 13), 3266489909);
return 4294967296 * (2097151 & h2) + (h1 >>> 0);
}
// PRNG: mulberry32
function mulberry32(a) {
return function() {
a |= 0; a = a + 0x6D2B79F5 | 0;
var t = Math.imul(a ^ a >>> 15, 1 | a);
t = t + Math.imul(t ^ t >>> 7, 61 | t) ^ t;
return ((t ^ t >>> 14) >>> 0) / 4294967296;
};
}
// Fisher-Yates shuffle with seeded PRNG
function seededShuffle(arr, seed) {
const rng = mulberry32(seed);
const a = [...arr];
for (let i = a.length - 1; i > 0; i--) {
const j = Math.floor(rng() * (i + 1));
[a[i], a[j]] = [a[j], a[i]];
}
return a;
}
// Usage:
const hash = cyrb53(seedString);
const indices = seededShuffle([0,1,2,3,4], hash & 0xFFFFFFFF);
// Winners: indices[0], indices[1]