Kemeow
A provably-fair keno-style giveaway game, run from chat. Originally built for Discord inside MiaBot; ported to Kick livestreams as Kemeow on Kick for sealstats.
§What it is
Viewers post number picks in chat during an entry window. The engine reads chat (no posting back), runs a deterministic provably-fair draw, ranks winners by hypergeometric rarity, and pays out to each winner's on-file wallet. Output renders to an OBS browser-source overlay so the bot can stay read-only against the platform.
The Kick version is live at kick.com/sealstats, where I'm the primary administrator.
§How a round works
- Streamer types
!kemeow start bigin chat to open a round. - Entry window opens. Viewers post their picks (e.g.
3 14 22 39) in chat. - Entries close. Engine commits a hashed server seed, then draws numbers using HMAC-SHA256 over
server_seed / client_seed / nonce. - Winners are ranked by hypergeometric rarity (rarer hits beat denser hits at the same match count).
- Payouts go out as SOL from an encrypted hot wallet. Recipient addresses are pulled from a Cosmos DB profile lookup.
- Overlay shows the draw, winners, and payout txids in real time.
§Provable fairness
Each round commits the SHA-256 hash of the server seed before entries open. After the draw, the raw seed is revealed alongside the client seed and nonce — anyone can re-run the draw locally and verify they got the same numbers. The hypergeometric ranking is deterministic from the same inputs.
Source for the fairness engine and a verifier page is in the repo.
§Two variants
Kemeow on Kick
Streamer-facing distribution. Kick Pusher WebSocket listener, OBS overlay, optional bot account for entry-window announcements, optional %wenmia chat-roast routed through NanoGPT, transcript-driven prize prefill.
Kemeow in MiaBot (Discord)
The original. Same fairness engine, integrated with MiaBot's PurrPay wallet system and premium tier. Runs as a cog inside the broader MiaCat Discord ecosystem.
Part of MiaBot.
§What I built
- Fairness engine: commit/reveal seed protocol, deterministic draw, hypergeometric ranking.
- Round state machine: entry parsing, dedupe, validation, close-window handling.
- Payments: vendored Solana sender with encrypted wallet, payout-lock fail-safe.
- OBS overlay: FastAPI + static HTML/CSS/JS, live entry feed and draw reveal.
- Admin panel with transcript-driven prize prefill (faster-whisper → SOL price lookup).
- Audit logging: every round, entry, and payout written to JSONL for post-hoc review.