Nothing up our sleeve
Provably fair
Every dart gets a secret server seed the moment it exists. We publish only its SHA-256 hash beforehand, so the seed can't be swapped after you aim. When the dart lands, the seed is revealed and you can recompute the exact roll yourself — in your browser, with the code below.
The maths
commit_hash = SHA256(server_seed) // published before the throw hmac = HMAC_SHA256(server_seed, client_seed) roll = parseInt(hmac[0..8], 16) % 10000 // 0 – 9999 drift pick = parseInt(hmac[8..16], 16) item pick = parseInt(hmac[16..24], 16)
The client seed is your crate id — fixed and visible before you throw. A throw sticks the ring you aimed at when roll < base_odds_bps × darts_staked.
Your throws
Connect to see and verify your own results, or use the manual checker below.

