𒀭
OMEN
glyph oracle • docs + theme shell
Theme

Spin a glyph. Receive an omen.

OMEN is our occult mini-game that feels like a neon ritual: a glyph wheel that outputs a deterministic result, with daily unique IDs to prevent abuse, and donation perks that remain auditable.

Pool-safe quotes Daily activation Client ID + wallet link Receipts-ready
Quick omen preview
what users see before spinning
GlyphWIND
Pool tierBloodMoon
Daily statusReady
Receipt hash
𒀭
𒀭

How it works

OMEN follows the same safety philosophy as CoinFlip: quotes are explicit, caps are strict, and every action can produce a receipt hash. The “oracle” feeling comes from glyph art + theme effects — the math stays transparent.

Deterministic daily gate

Each wallet gets a clientId and a daily activation. The ID used for spins is a high-entropy hash so collisions are practically impossible.

dailyKey = SHA256(wallet + clientId + YYYYMMDD + salt)
spinAllowed once/day per dailyKey

Glyph wheel output

A spin reveals a glyph + omen text. (Later you can map glyphs to pool features, boosts, or “blessings”.)

glyph ∈ {ASH, WIND, FLOOD, STONE, VOID}
omen = deterministic pick from glyph’s message set

Donation perk (auditable)

If someone donates, they can claim 1 free spin every 30 days — tracked by wallet + clientId and logged.

if donated: grant 1 spin / 30d
grantKey = SHA256(wallet + clientId + monthWindow)
𒀭

Glyph set

Neon, backgroundless glyphs designed to match the CoinFlip ritual vibe.

Ash glyph
ASH— ignition / sacrifice
Wind glyph
WIND— drift / unseen pressure
Flood glyph
FLOOD— momentum / washout
Stone glyph
STONE— defense / anchors
Void glyph
VOID— resets / silence
𒀭

Oracle

Theme-first tester: spins and ID gates run locally (calculation-only). Later you wire it to your receipts engine.

Spin
Daily gateUnknown
Glyph
Omen
Receipt hash
The daily gate is enforced per wallet + clientId. If you donate, you get 1 free spin per 30 days (tracked the same way).
Rules
Deterministic hash IDs

IDs are generated with SHA‑256 so duplicates are practically impossible. Same inputs → same output (auditable).

dailyKey = SHA256(wallet + "|" + clientId + "|" + YYYYMMDD + "|" + salt)
receipt = SHA256(dailyKey + "|" + glyph + "|" + nonce)
𒀭

Daily unique IDs

The core anti-abuse mechanic: every spin is tied to a daily key derived from wallet + clientId. The UI can show the receipt hash; your backend can store it immutably.

What makes duplicates “practically impossible”

SHA-256 outputs 256-bit values. Two different inputs producing the same output (a collision) is so unlikely it’s effectively zero for any real-world scale.

Client ID

Client ID is a stable identifier per wallet + device/session. It prevents edge cases where multiple browsers would otherwise share the same daily key.

Receipt logging

Receipt hashes make “I got rugged” claims falsifiable: every spin can be reproduced from the inputs.