An API you can hold in your head
You call one signed endpoint to launch games. We call one endpoint of yours to move money. Everything is JSON, and both directions are HMAC-SHA256 signed.
The surface
| Endpoint | Direction | Purpose |
|---|---|---|
POST /api/v1/launch | You → VerseGame | Mint a launch URL for one of your players in a chosen game and currency. |
GET /api/v1/games | You → VerseGame | Discover the games enabled for your account and their launch IDs. |
GET /api/v1/verify/<round> | Public | Fetch a settled round's seeds and result for independent verification. |
POST <your callback> | VerseGame → You | Debit on bet, credit on win, rollback on cancellation — each with a unique transaction ID. |
Authentication
Server-to-server requests carry two headers: X-VG-Key (your API key) and X-VG-Signature — the HMAC-SHA256 of the raw request body computed with your API secret. We sign our callbacks to you the same way, so both sides verify every byte.
Launching a game
Send your own player ID, the currency and the game. We create or reuse the player, mint a short-lived single-tenant session and return a launch_url ready for an iframe or full-screen tab. You never manage game-side accounts.
Moving money
Player balances stay on your system. For every bet we call your callback with a debit; for every win, a credit; for a cancelled round, a rollback. Each event's unique transaction ID makes processing idempotent — a retried delivery can never double-charge. Full details in the wallet integration guide.
Errors and retries
Failures return structured JSON errors with stable reason codes. Callback deliveries are retried with backoff, and every attempt is visible in your back office with request and response bodies.
Full documentation with your credentials
Partners receive complete endpoint docs and signing examples in ten languages.