Backend integration
Game API introduction
Partner - side which integrates games.
Provider - side which provides games (Aviatrix).
Current document describes methods implemented by provider. Methods allow the partner to launch the game and to retrieve the game round results.
Game API methods
All POST requests contain the X-Auth-Signature HTTP header required to authenticate the host. That allows to refuse IP whitelisting during integration process. Otherwise, it deprives the provider of the ability to scale quickly (horizontally) without notifying the platform.
Ask your integration manager for the base URL.
/game/url
The method is used to generate a game launch URL with the specified parameters.
Example of the request
Request headers specified in the example are required: Accept, Content-Type, X-Auth-Signature
POST /game/url HTTP/1.1
Content-Type: application/json
Accept: application/json
X-Auth-Signature: <signature>
{
"cid": "someplatform",
"productId": "nft-aviatrix",
"sessionToken": "5fc0cbd8-6328-43a5-a016-c075950d5393",
"lang": "en",
"country": "EN",
"lobbyUrl": "https://example.com",
"isDemo": false,
"promoCode": "ABCD2025",
"hideExitButton": false
}
| Parameter | Description | Type | Requirements | Explanation |
|---|---|---|---|---|
| cid | unique brand identifier | string | mandatory | identifier can be the same for all environments within the brand |
| productId | brand game identifier | string | mandatory | current identifiers: nft-aviatrix, second-chance, aviatrix-fruits |
| sessionToken | token with user session | string | mandatory when isDemo=false | token must be generated by the brand for further requests from server part of provider. Expected length: 1-255 symbols. Not required for demo mode |
| lang | language code | string | optional | format code ISO 639-1. Default value is en |
| country | country code | string | optional | format code ISO-3166-1 alpha-2. Example: US, EN, DE |
| lobbyUrl | lobby url | string | optional | needed for redirects to brand homepage |
| isDemo | demo mode flag | bool | mandatory for demo mode | needed to enable the demo mode of the game. Required parameter for demo mode |
| promoCode | promotional code | string | optional | needed for direct opening of the promo code entry form. If a value is passed (promoCode=promocode1&…), a modal window will open, and the input will be filled. If the parameter is empty (promoCode=&…), the entry form will open with an empty input value. |
| hideExitButton | controls the visibility of the menu exit button | string | optional | controls the visibility of the menu exit button, overriding its display if enabled in the config |
Example of the response from the server
HTTP/1.1 200 OK
{
"url": "https://domain.com?cid=somebrand&productId=nft-aviatrix&sessionToken=qwerty12345&lang=en&lobbyUrl=https://example.com"
}
| Parameter | Description | Type | Explanation |
|---|---|---|---|
| url | game launch URL | string | complete URL for launching the game with parameters |
/game/list
The method is used to display the list of games available for a brand.
Example of the request
Request headers specified in the example are required: Accept, Content-Type, X-Auth-Signature
POST /game/list HTTP/1.1
Content-Type: application/json
Accept: application/json
X-Auth-Signature: <signature>
{
"cid": "someplatform"
}
| Parameter | Description | Type | Requirements | Explanation |
|---|---|---|---|---|
| cid | unique brand identifier | string | mandatory | identifier can be the same for all environments within the brand |
Example of the response from the server
HTTP/1.1 200 OK
{
"games": [
{
"productId": "nft-aviatrix",
"name": "Aviatrix",
"rtp": "97.00"
}
]
}
| Parameter | Description | Type | Explanation |
|---|---|---|---|
| games | list of games | array | in the response present games that are available for the specified brand |
| productId | brand game identifier | string | current identifiers: nft-aviatrix, second-chance, aviatrix-fruits |
| name | brand game name | string | available languages: en |
| rtp | percentage return to player | string | will return to the player in the long run |
/game/round
The method is used to get info about a round or a bet results.
The response is application/json by default; to request an HTML page a header ACCEPT should be provided with value
text/html
Example of the request for any game
Request headers specified in the example are required: Accept, Content-Type, X-Auth-Signature
POST /game/round HTTP/1.1
Content-Type: application/json
Accept: application/json
X-Auth-Signature: <signature>
{
"cid": "someplatform",
"playerId": "john",
"productId": "nft-aviatrix",
"roundId": "2028207"
}
| Parameter | Description | Type | Requirements | Explanation |
|---|---|---|---|---|
| cid | unique brand identifier | string | mandatory | value from URL parameters of games provider during integration |
| playerId | user identifier | string | mandatory | value from request /playerInfo |
| productId | brand game identifier | string | mandatory | current identifiers: nft-aviatrix, second-chance, aviatrix-fruits |
| roundId | round identifier | string | mandatory if betId is missing | value from request /bet |
| betId | bet identifier | string | mandatory if roundId is missing | value from request /bet |
Example of a response from the server for Aviatrix
HTML

JSON
HTTP/1.1 200 OK
{
"roundId": "3838216",
"roundOdd": 4.19,
"finishedAt": "2024-10-18T08:38:02Z",
"bets": [
{
"id": "af5ec231-42dd-4c3d-5eaf-ebe859da69da",
"currency": "EUR",
"betAmount": 100,
"winAmount": 140,
"odds": 1.40
},
{
"id": "c4d3312c-69da-475c-af5e-be8e59dadd42",
"currency": "EUR",
"betAmount": 100,
"winAmount": 152,
"odds": 1.52
}
]
}
Parameter details
| Parameter | Description | Type | Explanation |
|---|---|---|---|
| roundId | round identifier | string | value from request /game/round |
| roundOdd | round coefficient | double | the odds the round finished with |
| finishedAt | round timestamp | timestamp | format: yyyy-MM-dd’T’HH:mm:ss.SSSZ |
| bets | user's bets | array | all user's bets or requested by betId one |
| bet.id | bet identifier | string | id of a placed bet |
| bet.currency | bet currency | string | ISO-4217-3 format. currency in which the user made a bet |
| bet.odds | win coefficient | double | coefficient of bet settled on. odds = 0 for no winning |
| bet.betAmount | bet amount | integer | user bet amount in the format minor currency unit (given the cents, i.e. the number multiplied by 100) |
| bet.winAmount | win amount | integer | user win amount in the format minor currency unit (given the cents, i.e. the number multiplied by 100) |
Example of a response from the server for Second Chance
HTML

JSON
HTTP/1.1 200 OK
{
"roundId": "353383",
"finishedAt": "2026-06-25T12:38:23Z",
"bets": [
{
"id": "eb96f787-f389-4eff-bd95-96607e67a2a7",
"currency": "EUR",
"betAmount": 500,
"winAmount": 605,
"odds": 1.21
}
],
"roundOdds1": 1.14,
"roundOdds2": 5.67
}
Parameter details
| Parameter | Description | Type | Explanation |
|---|---|---|---|
| roundId | round identifier | string | value from request /game/round |
| roundOdds1 | first crash coefficient | double | round was finished for the part of players |
| roundOdds2 | second crash coefficient | double | round was finished for the rest of players |
| finishedAt | round timestamp | timestamp | format: yyyy-MM-dd’T’HH:mm:ss.SSSZ |
| bets | user's bets | array | all user's bets or requested by betId one |
| bet.id | bet identifier | string | id of a placed bet |
| bet.currency | bet currency | string | ISO-4217-3 format. currency in which the user made a bet |
| bet.odds | win coefficient | double | coefficient of bet settled on. odds = 0 for no winning |
| bet.betAmount | bet amount | integer | user bet amount in the format minor currency unit (given the cents, i.e. the number multiplied by 100) |
| bet.winAmount | win amount | integer | user win amount in the format minor currency unit (given the cents, i.e. the number multiplied by 100) |
Example of a response from the server for Aviatrix Fruits
HTML

JSON
HTTP/1.1 200 OK
{
"roundId": "699252",
"finishedAt": "2026-05-08T12:18:10Z",
"bets": [
{
"id": "8a36e6cd-882d-4595-82c2-d9ed77e15a6e",
"currency": "EUR",
"betAmount": 1000,
"winAmount": 5000,
"odds": 5
}
],
"reels": [
[
"c",
"c",
"c",
"g",
"f"
],
[
"f",
"c",
"d",
"e",
"g"
],
[
"f",
"d",
"d",
"g",
"f"
]
],
"winLines": [
{
"line": 1,
"symbol": "C",
"count": 3,
"winAmount": 5000
}
]
}
Parameter details
| Parameter | Description | Type | Explanation |
|---|---|---|---|
| roundId | round identifier | string | value from request /game/round |
| finishedAt | round timestamp | timestamp | format: yyyy-MM-dd’T’HH:mm:ss.SSSZ |
| bets | user's bets | array | all user's bets or requested by betId one |
| bet.id | bet identifier | string | id of a placed bet |
| bet.currency | bet currency | string | ISO-4217-3 format. currency in which the user made a bet |
| bet.odds | win coefficient | double | coefficient of bet settled on. odds = 0 for no winning |
| bet.betAmount | bet amount | integer | user bet amount in the format minor currency unit (given the cents, i.e. the number multiplied by 100) |
| bet.winAmount | win amount | integer | user win amount in the format minor currency unit (given the cents, i.e. the number multiplied by 100) |
| reels | final combination | array | size: 5 reels x 3 symbols |
| winLines | winning lines | array | empty array in case of lost |
| winLines.line | winning line number | integer | order number |
| winLines.symbol | winning line symbol | string | current identifiers: SC, A, B, C, D, E, F, G |
| winLines.count | winning line symbols counter | integer | values range: 3-5 |
| winLines.winAmount | winning line win amount | integer | currency is specified in bet.currency parameter |
Example of a response from the server for Aviatrix Mines
HTML

JSON
HTTP/1.1 200 OK
{
"roundId": "1328",
"finishedAt": "2026-07-08T09:47:13Z",
"bets": [
{
"id": "639498c8-59e6-4b91-b339-9e8ef765ba8d",
"currency": "EUR",
"betAmount": 31500,
"winAmount": 39375,
"odds": 1.25
}
],
"openedCells": [
21,
7
],
"minePositions": [
9,
12,
19
]
}
Parameter details
| Parameter | Description | Type | Explanation |
|---|---|---|---|
| roundId | round identifier | string | value from request /game/round |
| finishedAt | round timestamp | timestamp | format: yyyy-MM-dd’T’HH:mm:ss.SSSZ |
| bets | user's bets | array | all user's bets or requested by betId one |
| bet.id | bet identifier | string | id of a placed bet |
| bet.currency | bet currency | string | ISO-4217-3 format. currency in which the user made a bet |
| bet.odds | win coefficient | double | coefficient of bet settled on. odds = 0 for no winning |
| bet.betAmount | bet amount | integer | user bet amount in the format minor currency unit (given the cents, i.e. the number multiplied by 100) |
| bet.winAmount | win amount | integer | user win amount in the format minor currency unit (given the cents, i.e. the number multiplied by 100) |
| openedCells | cells opened by player | array of integers | cell index in 0-24 range (0-4 first row, 5-9 second row, 20-24 last row) |
| minePositions | cells with mines | array of integers | cell index in 0-24 range (0-4 first row, 5-9 second row, 20-24 last row) |