Skip to main content
Five endpoints, one direction: you → Zero-Dash. For the endpoints that run the other way, see Wallet Callbacks.

Base URL

Assigned during onboarding, with separate hosts for staging and production. The playground on each page lets you set it.

Authentication

Every request carries three headers:
The signature is hex(HMAC-SHA512(apiPath|timestamp|data, secretKey)). The signature is validated on every call, and a timestamp more than 5 minutes old is rejected.

Signing, in six languages

Algorithm, worked examples and copy-paste clients — all checked against the same test vector.
An IP allowlist is optional here. Configure one and requests from any other source are refused, even correctly signed ones.

Endpoints

List games

GET /api/v1/games — the catalogue provisioned for your account.

Obtain game launch URL

GET /api/v1/games/{gameSlug} — mint a URL for one player, one session.

Create campaign

POST /api/v1/free-rounds/campaigns — define a free rounds offer.

Create bonus code

POST /api/v1/free-rounds/campaigns/codes — attach a campaign to one player.

Search campaigns

POST /api/v1/free-rounds/campaigns/search — paginated campaign lookup.

Conventions

Full detail in API conventions.

Caching

Responses carry ETag, Last-Modified and Cache-Control. Send If-None-Match or If-Modified-Since and get a 304 Not Modified instead of the payload when nothing has changed. This matters most for the game catalogue: it is the largest response, it changes rarely, and it should be polled on a schedule rather than fetched per page render. See Caching and performance.