You generate a session token using
command=getGameUrl, by sending your json_request via HTTP POST BODY, to our REST API URL (do not pass this by mistake to the Game Launch API URL)You build the Game Launch URL using the
play_tokenlike indicated below
EG:https://www.cryptoclub.casino/wwwmisc/API/play_url.php?play_token=ax4sH24aw4123astyy537sdys
Make sure to replace the URL with your Games Launch API URL provided with the setup settings.You can embed the URL in your website using an iFrame (recommended) or launch this in a new tab (not recommended)
This method relies on sending a set of parameters that will generate a session play token, to our RGS-CWS API.
See Passing data to our API Endpoints if you're not yet familiar with how to send JSON data to our REST API URL.
Use command=getGameUrl and pass the data from the table below.
You should receive the play_token in the response.
You must then attach the play_token value to your launch game URL, like this:
{Games Launch API URL}?play_token=โฆ.EG:https://www.cryptoclub.casino/wwwmisc/API/play_url.php?play_token=ax4sH24aw4123astyy537sdys
Please make sure to use the correct URLs given to you by CWS Support. You must replace the URL above with your Games Launch API URL provided with the setup settings.Once you are able to obtain the play_token, see the Game Launch documentation section
The following parameters, marked with *, need to be included in the request:
Parameter | Mandatory | Description | Accepted values |
| โ | Must have value 'getGameUrl' | (string) |
| โ | โstagingโ or โproductionโ. Default: production. Use โstagingโ for trial integrations. | (string) |
| โ | โrealโ or โfunโ | (string) |
| โ | The unique ID of the game in the RGS-CWS system (see Get List Of Available Games) | (integer) EG: |
| โ | Valid username (6โ100 alphanum chars). Must NOT start with number; | (string) EG: |
| โ | Token expiration in Y-m-d H:i:s format; Timezone=GMT (max 60 mins) | (string) EG: |
| โ | Session currency (e.g., USD, GBP, POINT, GC, SC, DOGE, BTC, USDT, etc.). For list of all 3 digit iso codes, click here . If you need more currencies, please contact us. | (string) EG: |
| โ | User password for this API (min 6 chars, can be hashed); You can pass any value, but do not omit passing it and neither change it. NOTE: pass is NOT case sensitive meaning that HEROPLAYER is the same as heroplayer. | (string) EG: |
| โ | API Username | (string) |
| โ | API Password | (string) |
โ ๏ธOPTIONAL! The following parameters are optional:
Parameter | Mandatory | Description | Accepted values |
| โ | Optional. Language (ISO Code); For Social Casino, send | (string) EG: |
| โ | Optional. Responsible Gaming popup interval, in minutes. Set to 0 or 999999 to disable | (integer) EG: |
| โ | Optional. 1 = hide the top menu UI (Home,History,Recent Games, Rules,etc.) that usually appears on top left or top right of the game page | (integer) EG: |
| โ | Optional. Changes the game RTP. Only works for Slot Games. | (string) |
| โ | Optional. Set this to 1 to hide the BUY FEATURE buttons from the games and to disable this function. Setting this to 1, will disable and suppress any other config done via admin panel/database for Buy Feature Availability. Any other value than 1 will be ignored and it will cause the game to use the default system settings, defined in the admin panel. | (int) |
| โ | Optional. Set this to 1 to DISABLE the jackpots from being won. The jackpots will still appear in the game when value is 1, but cannot be won. Setting this to 1, will disable and suppress any other config done via admin panel/database for Jackpot availability. Any other value than 1 will be ignored and it will cause the game to use the default system settings, defined in the admin panel. | (int) |
| โ | Optional. Affects gameโs max exposure, no matter the bet value. If this value is greater than 0, then the maximum win from any single game round is going to be capped to this value and the exceeding amount will be voided. Progressive Jackpot Wins are not affected by this feature.
| (float as string) EG: |
| โ | Optional. The starting value for the userโs total daily won amount (max 4 decimals). Used for tracking daily session winnings limit. EG: if this amount + future wins exceed the platform limits, the player cannot play anymore. | (float as string) EG: |
| โ | Optional. Extra data required by some API commands. Ignore for this command. | (string) |
| โ | Optional . This value is resent with each request passed to your getbalance/balance_adj endpoints, in parameter custom_data | (string) EG: |
| โ | Optional . Full https:// URL for game exit (when user clicks EXIT or HOME) | (string) EG: |
| โ | Optional . Full https:// URL the player is redirected to when a token is invalid โ either expired, or already claimed by a different browser/device. Falls back to | (string) EG: |
| โ | Optional . Minimum allowed TOTAL bet value. Slot games โ the minimum total bet per spin (total = bet per line ร paylines). It is converted internally to a per-line coin window (divided by the game's paylines) and the game's bet denominations are filtered to that window (sizes outside are hidden). If no bet size falls inside the window, Table games โ caps the total bet. Other games (scratch / keno / video poker / plinko / bingo) โ applies to the bet value directly. โ ๏ธ Changed 16 July 2026: on slot games these values were previously applied per line; they now describe the TOTAL bet. | (float as string) EG: |
| โ | Optional . Maximum allowed TOTAL bet value. Slot games โ the maximum total bet per spin (total = bet per line ร paylines). It is converted internally to a per-line coin window (divided by the game's paylines) and the game's bet denominations are filtered to that window (sizes above it are hidden). If no bet size falls inside the window, Table games โ caps the total bet. Other games (scratch / keno / video poker / plinko / bingo) โ applies to the bet value directly. โ ๏ธ Changed 16 July 2026: on slot games these values were previously applied per line; they now describe the TOTAL bet. | (float as string) EG: |
| โ | Optional โ slots and table games only. Slot games โ minimum coin size (bet per line) the player can select. The game's bet sizes are narrowed to this value and above โ snapped to the nearest supported bet size within the game's own list; you can narrow the range but never widen it. If no bet size fits the requested window, Table games (roulette / cards / dice) โ minimum chip denomination the player can select. Snapped to the nearest supported chip within the game's own chip range โ you can narrow the range but never widen it beyond the game's configured chips. โ ๏ธ On slot games this parameter is IGNORED if Ignored on scratch / keno and other non-table games. | (number) โ supported chips: |
| โ | Optional โ slots and table games only. Slot games โ maximum coin size (bet per line) the player can select. The game's bet sizes are narrowed to this value and below โ snapped to the nearest supported bet size within the game's own list; you can narrow the range but never widen it. If no bet size fits the requested window, Table games (roulette / cards / dice) โ maximum chip denomination the player can select. Values are snapped to the nearest supported chip within the game's range; out-of-range values are clamped, never rejected. โ ๏ธ On slot games this parameter is IGNORED if Ignored on scratch / keno and other non-table games. | (number) โ supported chips: |
| โ | Optional . Defaults to {login}@{yourdomain.com} | (string) |
| โ | Optional . Defaults to login | (string) |
| โ | Optional . Defaults to 1980-01-01 | (string) |
| โ | Optional | (string) |
| โ | Optional | (string) |
| โ | Optional | (string) |
| โ | Optional | (string) |
| โ | Optional | (string) |
| โ | Optional . Auto-generates if missing | (string) |
| โ | Optional . Send as 1 to activate. Show themed lobby. This will return our game lobby HTML code so you can embed the entire lobby; | (integer) |
| โ | Optional. Comma-separated categories (e.g., slot,table) |
|
| โ | Optional . Overwrites the webhook URL for getbalance. Must be a valid URL with https:// .Only works if the CWS Provider enabled this. Cannot be enabled in trial. | (string) EG: |
| โ | Optional . Overwrites the webhook URL for balance adjustments (balance_adj_url). Must be a valid URL with https:// .Only works if the CWS Provider enabled this. Cannot be enabled in trial. | (string) EG: |
(what you send - contains only mandatory data):
{"command": "getGameUrl", "environment": "production", "mode": "real", "game": 6857, "currency": "USD", "login": "demotest", "pass": "123456", "expiry_date": "2027-07-02 14:00:00"}curl -X POST https://YOUR_API_URL \
-H "Content-Type: application/json" \
-d '{
"command": "getGameUrl",
"mode": "real",
"environment": "production",
"game": 6857,
"currency": "USD",
"login": "demotest",
"pass": "123456",
"expiry_date": "2027-07-02 14:00:00"
"apiusername": "yourUsername",
"apipass": "yourPassword"
}'(what the RGS-CWS API will respond)
{"message":"OK","play_token":"7x8qg5890qgw5yq8g5qwaseesSS"}
Please note that the play_token is case sensitive!
Token reuse & lifetime. Each getGameUrl call returns a fresh, single-use play_token. The first browser that opens the token claims it โ from then on that same browser can refresh or re-open the game on the same token until it expires (expiry_date, max 60 minutes from generation). The token cannot be replayed from a different browser, device, or user; such an attempt is rejected and the player is redirected to token_expire_url (or exit_url if that is not set). Best practice: request a new play_token for each game launch instead of sharing one token across sessions or devices.
Possible error messages.
RGS-CWS API Response (located in โmessageโ parameter) | MessageDescription |
| Login has invalid characters |
| Password is too short (min 6 chars) |
| Username already exists |
| Success. Contains |
Language code (sent in | Description |
| English |
| English Social (for Social/Sweepstakes) |