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