Spinza
www.spinza.dev — The Virtual Casino Playground.
Spinza is a premium fictional social casino: twenty original games, a real server-authoritative game engine, cryptographically secure RNG, versioned game mathematics, a simulation & certification platform and an immutable wallet ledger — all running on Spinza Credits (SC), a virtual currency with no monetary value.
Virtual credits only. No deposits. No withdrawals. No cash value. 18+.
What's inside
packages/game-core— the Spinza Game Engine (ways/lines, wilds, scatters, cascades, hold & respin, pick bonuses, persistent meters, heat, mystery, quantum split, dynamic grids, fictional jackpots), simulator and certification.games/— 20 original definitions (defineGame), calibration and 10,000,000-spin certification reports.apps/api— Fastify API: username/password accounts (Argon2id), recovery codes, opaque sessions, atomic spins with idempotency, ledger, XP/levels, achievements, missions, daily & rescue rewards, leaderboards, TOTP admin.apps/web— Next.js 16 front-end: landing, lobby, PixiJS game screen with procedural art and WebAudio sound, rewards, leaderboards, profile, settings, admin console.apps/simulator— multi-threaded CLI (pnpm sim …).
See CLAUDE.md for the working guide and docs/SPEC-original.md for the product brief.
Quick start
pnpm install
createdb spinza
pnpm db:migrate && pnpm db:seed
pnpm dev:api # http://127.0.0.1:8231
pnpm dev:web # http://localhost:8230Requires Node ≥ 22, pnpm 11, PostgreSQL 17 and Redis on localhost.
Certification
Every game ships with games/certifications/<slug>.json; the seed publishes a game only when the report is PASS for the exact version. Re-certify after any math change:
pnpm sim calibrate <slug> --spins 10000000
pnpm sim certify <slug> --spins 10000000