FAQ
Once the operator successfully completes integration, iMoon performs tests using the test website and credentials previously provided by the operator in the questionnaire. We run both manual and automated tests to verify the accuracy of the integration and assess the operator's webhook response performance.
The bet status will be "CASHBACK" if the bet amount and the win amount for a single bet are equal, signifying that the player neither won nor lost.
For instance, if a player bets $10 and receives $10 after the round, the bet status will be "CASHBACK." Some operators may view "CASHBACK" as a win, but you can categorize it as you see fit internally.
The RollbackRequestItemStatus will be either "BET" or "WIN." Note that rolling back a "WIN" transaction is currently not applicable to existing games but will be used for live sports betting in the future.
For instance, if a player places a bet and decides to cancel it before the round starts, iMoon will request the operator to roll back the bet by calling the /rollback webhook.
In another case, if the operator responds after the round has started due to high latency or other reasons, the bet will be rejected. To ensure the funds are returned to the user's balance, iMoon will call the /rollback webhook for that bet.
You can access and play iMoon games live on the iMoon website at https://www.imoon.com
List of countries with ISO restrictions are as follows:
- USA
- Republic of Armenia
- Aruba
- Bonaire
- Curacao
- France
- Netherlands
- Portugal
- Saba
- Singapore
- Statia
- St Maarten
Currently, iMoon supports "seamless wallet" integration.
If iMoon receives an INTERNAL_ERROR
response for a /bet
request, the /rollback
webhook will be triggered to ensure the bet has not been deducted from the player or to reverse it if it has been.
If the operator responds with an INTERNAL_ERROR
for /result
or /rollback
requests, a retry mechanism will be triggered. This adheres to a set retry policy outlining time intervals and the maximum number of retry attempts.
Default retry timings (in seconds, following the previous attempt):
- 10
- 30
- 120
- 600
- 1800
- 3600
- 7200
- 14400
- 43200
- 86400
The brandId
and brandName
fields are optional parameters for identifying your internal brands. If you operate multiple brands, you can include these fields when sending /launch
API request and when sending /playerInfo
Webhook Response. When you opt into using brands, please make sure to provide brand values in both /launch
API Request and /playerInfo
Webhook Response together (not only one). This allows for the generation of brand-specific data and reports in your back office.
iMoon calls the "playerInfo" webhook immediately after each game is launched. This request is used to collect details about the player, such as their chosen currency and current balance.
iMoon supports nearly all currencies. Technically you're free to launch the game in any currency you choose, either initially or at any time in the future. However, some legal limits may apply.
To cancel an unresolved bet, we offer the "rollback" feature. If an unsettled bet needs to be canceled, it can be handled through this function.
Regarding claiming a win, iMoon doesn't offer a separate method for this. The operator will receive the results for all bets, regardless of their status, through the "result" webhook. This includes details for "won," "lost," and "cashback" bets.
iMoon currently doesn't offer this feature. However, we are in the process of developing it.
Yes, the operator can return the same balance for all. iMoon uses it to update the balance displayed in the game UI.
We don't provide swagger, instead we provide a Postman collection.
Notes: (A gaming session is any start of the game by the player. Such as a player launches the game - a session runs. The player then closed the game and opened it again - a new session runs) iMoon launch API accepts an optional "playerToken" parameter that will be returned to the operator with all subsequent requests related to that launch. If the operator launches a player with a unique "playerToken" for every launch, it will be the expected session ID. iMoon doesn't take any action on this token, it's just a way for the operator to track bets and results for each launch.
Player network disconnection is not an unexpected error. The round will proceed as intended like the player is in the game. The auto cash out will be applied as has been set by the player. The only difference is that the player won't be able to cash out manually.
Yes, the gameplay description is available in all of the games, usually marked by an information icon.
iMoon doesn't impose a bet limit on their end, but we strongly recommend that operators set limits based on their acceptable risk. We also offer the ability to set bet limits, such as minimum stake, maximum stake, and maximum win amount, on a per-currency basis.
Scenario 1:
If a player places a bet and decides to cancel it before the round starts, the Operator will receive a rollback request for that bet.
Scenario 2:
If iMoon sends a bet request to the Operator and the Operator responds with an internal error or if the request takes longer than expected (resulting in a timeout), iMoon will initiate a rollback request. This is to ensure that the bet amount is either not deducted from the player's balance or, if it has been deducted, is refunded.
Note: For Casino games, the operator will not receive a rollback request for resolved bets.
The "webhook authorization token" is required by iMoon from the operator and can be in various forms like JWT, UUID, or string, depending on the operator's preferences. This token is used by iMoon to make calls to the operator's webhooks. After the questionnaire is completed, iMoon provides the operator with an "API authentication token," which is a JWT needed for calling iMoon's APIs.
In this context, "API" refers to the endpoint that the operator consumes for launching the game, such as the Launch and Games APIs provided by iMoon. On the other hand, "webhook" refers to the URLs produced by the operator for multiple functionalities like Player Info, Bet, Result, and Rollback. iMoon calls these webhooks to enable the operator to update and report back on their internal state.
Yes, all handled responses, whether indicating errors or success, will be returned with a 200 HTTP status code.
Yes, iMoon does support cryptocurrencies. However, legal terms should be applied.
The "betAmount" should be subtracted from the player's balance during the "bet" request. Later, during the "result" request, the "winAmount" should be added to the player's balance.
iMoon supports most of the major languages by default. If a specific language is required, iMoon is fully prepared to add it within a timeframe of 2-3 days.
The webhook responses are created by you, not by us. and this APIs must return answer with http status 200. We have the /launch and /games APIs, and the responses always return a 2xx status. For /launch the 201 is the only handled status we have.
You can reach out to us, you will be guided to the client area.
{
// ...
"winners": [
{
"bet": {
"betAmount": 10,
"betId": "00DE7A75-E416-4A3E-B721-000000000001",
"currency": "USD",
"gameId": "1001",
"playerId": "Player200",
"resolvedAt": 1696938100000,
"status": "WON",
"winAmount": 2031.4
},
"nickname": "Player200 nickname",
"playerId": "Player200",
"prizeWon": {
"amount": 1000000,
"amountInBetCurrency": 1000000,
"betCurrency": "USD",
"currency": "USD",
"prizeType": "MONETARY",
"title": "$1,000,000"
},
"winOdds": 203.14
}
],
"winnersCount": 3
}
The bet status will be "CASHBACK" if the bet amount and the win amount for a single bet are equal, signifying that the player neither won nor lost.
For instance, if a player bets $10 and receives $10 after the round, the bet status will be "CASHBACK." Some operators may view "CASHBACK" as a win, but you can categorize it as you see fit internally.