Randomness anyone can verify — nobody can rig.
Request a random number, shuffle, or winner. It’s committed to a future quantum-grade drand round, revealed when that round finalizes, and provable on your own device — BLS-check the seed, re-derive the output. This is the Chainlink-VRF pattern, made free, non-custodial, and holder-gated with $GL1TCH.
No key yet? Mint one free with a sustained Infected+ balance — it gates rate, never funds.
Commit → reveal → verify.
Commit
Your request freezes a spec + salt and targets a FUTURE drand round that does not exist yet. The requestId is the hash of that commitment.
Wait
~60 seconds later that round finalizes on the League-of-Entropy beacon. Nobody could have known its value at commit time.
Reveal
The round’s BLS-verified randomness seeds your output deterministically: output = derive(seed, requestId, spec).
Verify
Anyone re-fetches the round, BLS-checks it against the published public key, and re-derives your exact result. Zero trust in GL1TCH.
A paying primitive, priced at zero.
Verifiable randomness is a real market (Chainlink VRF powers NFT mints, raffles, and allocations). We give the same guarantee for free — the token gates throughput, not the feature.
NFT mint order
Assign token IDs or reveal order with a seed no one — team included — could pick in advance.
Raffles & giveaways
Draw winners from an entry list with a proof each entrant can check independently.
Allocation & whitelist
Fairly order or sample an allowlist for a sale; publish the proof, end the “was it rigged?” debate.
Games & mechanics
Dice, loot tables, matchmaking seeds — deterministic, reproducible, and auditable after the fact.
Two calls. A proof anyone can check.
Mint a key on /token (needs a sustained Infected+ balance), then:
# 1) Commit a request (holder-gated)
curl -X POST https://coin-three-mu.vercel.app/api/random/request \
-H "x-gl1tch-key: gk_your_key" \
-H "content-type: application/json" \
-d '{"spec":{"kind":"pick","n":5000,"k":10},"salt":"mint-2"}'
# → { id, status:"pending", targetRound, availableInMs, commitmentString }
# 2) Reveal on maturity (public — anyone can read)
curl https://coin-three-mu.vercel.app/api/random/<id>
# → { status:"fulfilled", result:{ values:[…] },
# proof:{ round, randomness, signature } }Specs: {kind:"ints",min,max,count} · {kind:"shuffle",n} · {kind:"pick",n,k}. Verify a result yourself by BLS-checking the drand round and recomputing derive(seed, requestId, spec) — the exact function runs in the console above, in your browser.