Getting Started
Getting Started
To use the Slots Launch API and embed demo games on your site, you need a Slots Launch account.
Important: API is for synchronization, not live loading
The Slots Launch API is designed for synchronization, not serving games to visitors in real time.
To use the API correctly:
- Fetch all available games once and store them in your database.
- Call the
/api/gamesendpoint periodically — typically once per day — ordered by theupdated_atfield to retrieve only new or modified records.
This keeps your integration up to date while staying within rate limits. Using the API as a live source for every page load may lead to throttling or access suspension.
Authentication overview
Every integration uses two credentials from Launch Pad → API:
| Credential | Where to find it | Where it belongs |
|---|---|---|
API key (token ) |
Websites → API key | Query string: ?token=… — may appear in iframe URLs |
| API secret | Websites → API secret | Server only — never in HTML, JavaScript, or mobile apps |
- Register each website domain under Launch Pad → API before use.
- For every API request, send your API key and an Origin header matching that registered domain (without
www.). - Sites that share the same API key also share the same API secret.
Upgrade timeline (signed requests)
Starting November 15, 2026, iframe embeds and API calls must be signed on your server using your API secret.
| Period | Behavior |
|---|---|
| Until Nov 15, 2026 | Token-only iframe and API access still works (grace period). |
| After Nov 15, 2026 | Unsigned requests are rejected unless legacy mode is enabled on your account. |
We recommend migrating before the deadline. If you need more time, contact support.
WordPress users: update to the latest Slots Launch plugin when available — it will handle signing for you.
Signed iframe embeds (required after Nov 15, 2026)
Do not use a static URL like:
https://slotslaunch.com/iframe/45958?token=YOUR_API_KEY
Generate a signed iframe URL on your backend when you render the page:
https://slotslaunch.com/iframe/{game_id}?token={api_key}&exp={unix_timestamp}&sig={signature}
| Parameter | Description |
|---|---|
token |
Your API key |
exp |
Unix expiry time (e.g. one hour from now) |
sig |
HMAC-SHA256 signature (hex) |
Iframe signature payload
Build the payload with line feeds (\n ) between each line:
{game_id}
{exp}
{site_domain}
site_domain= your registered website name withoutwww.(must match Launch Pad).
PHP — signed iframe URL
$gameId = 45958;
$apiKey = 'your-api-key';
$apiSecret = 'your-api-secret'; // Launch Pad → API
$siteDomain = 'yourdomain.com';
$ttl = 3600;
$exp = time() + $ttl;
$payload = $gameId . "\n" . $exp . "\n" . $siteDomain;
$sig = hash_hmac('sha256', $payload, $apiSecret);
$url = 'https://slotslaunch.com/iframe/' . $gameId
. '?token=' . urlencode($apiKey)
. '&exp=' . $exp
. '&sig=' . $sig;
<iframe src="<?php echo htmlspecialchars($url); ?>" width="100%" height="600" frameborder="0"></iframe>
Android / iOS apps
Do not put the API secret in your app. Your backend should sign the URL and return it to the app. Load that URL in a WebView the same way you load any iframe today.
Testing from Launch Pad
Game pages in Launch Pad include a short-lived Preview Embed Link for testing. Production embeds must always be signed by your own server.
Signed API requests (required after Nov 15, 2026)
In addition to ?token= and the Origin header, send these headers on every API call:
| Header | Value |
|---|---|
X-SL-Timestamp |
Current Unix timestamp |
X-SL-Signature |
HMAC-SHA256 hex digest |
API signature payload
{timestamp}
{HTTP_METHOD}
{path}
HTTP_METHODis uppercase (GET,POST, …).pathincludes the leading slash, e.g./api/games— no query string.- The timestamp must be within about 5 minutes of server time.
Sign with the same API secret used for iframe URLs.
PHP example — GET /api/games
If your API key is 12345abc and your origin host is yourdomain.com :
<?php
$apiKey = '12345abc';
$apiSecret = 'your-api-secret';
$origin = 'https://yourdomain.com';
$path = '/api/games';
$method = 'GET';
$timestamp = time();
$payload = $timestamp . "\n" . $method . "\n" . $path;
$signature = hash_hmac('sha256', $payload, $apiSecret);
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://slotslaunch.com/api/games?token=' . urlencode($apiKey),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Accept: application/json',
'Origin: yourdomain.com',
'X-SL-Timestamp: ' . $timestamp,
'X-SL-Signature: ' . $signature,
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
JavaScript — server-side only
Do not call the Slots Launch API from the browser with your API secret. JavaScript in the visitor’s browser cannot hold the secret safely.
Use JavaScript on your backend (Node.js, etc.) with the same signing logic as PHP, or proxy requests through your server.
If you only need to display a game, sign the iframe URL on your server and output a normal <iframe> tag — no client-side API calls required.
Node.js example — GET /api/games
const crypto = require('crypto');
const apiKey = '12345abc';
const apiSecret = 'your-api-secret';
const origin = 'yourdomain.com';
const path = '/api/games';
const method = 'GET';
const timestamp = Math.floor(Date.now() / 1000);
const payload = `${timestamp}\n${method}\n${path}`;
const signature = crypto.createHmac('sha256', apiSecret).update(payload).digest('hex');
const url = `https://slotslaunch.com/api/games?token=${encodeURIComponent(apiKey)}`;
const response = await fetch(url, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Origin': origin,
'X-SL-Timestamp': String(timestamp),
'X-SL-Signature': signature,
},
});
const data = await response.json();
General rules
- Always cache API responses on your side.
- API queries are rate-limited (approximately 2 req/s for premium plans).
- You must use Slots Launch iframe URLs (
https://slotslaunch.com/iframe/…) on your site. Using our service to extract final game URLs without our iframe is prohibited and may result in account suspension. - We may terminate API access without prior notice if we detect misuse.
- Obtain your API key and API secret from Launch Pad → API. Enter your website’s domain (without
www.) when adding a site.
Partner tournaments
If you use partner tournaments, player actions (register, wallet, etc.) use the same API secret with their existing HMAC body format, plus the X-SL-Timestamp and X-SL-Signature headers on each HTTP request. See the Partner Tournaments integration guide for details.
Need help?
- Launch Pad → API — manage websites, API key, and API secret.
- Launch Pad → docs — signed embed guide (when logged in).
- Support — contact us if you cannot migrate before the deadline; legacy mode may be available for your account.