Seamless Wallet Integration

Casino API Reference

Connect your platform to live casino, slots, mini-game and sports & esports content through a single seamless wallet integration. Authenticate with an MD5-signed secret, launch games, and settle every bet through five callback endpoints.

1 Sign request
2 Launch game
3 Handle callbacks
4 Settle balance
Introduction

Overview

The AWC Games API lets an operator launch casino games for a player and receive real-time wallet callbacks for every round. All requests use JSON over HTTPS, and every request is signed for authenticity.

CategoryDescription
Live CasinoDealer-hosted table games streamed in real time
SlotsReel-based single-player games
Mini GameFast, lightweight instant-win formats
Sports & EsportsFixed-odds sports and esports betting
All monetary amounts are decimal values (e.g. 10.00). Every wallet-affecting call must carry a unique txn_id so it can be safely retried without double-processing.
Security

Authentication

Every request to your callback endpoints carries an auth-secret header. Compute the expected value on your side and compare it before processing the request.

Signature check Validate the MD5 signature attached to every inbound callback.
Rule
// Your account secretkey is issued during onboarding
auth-secret == md5(secretkey)

// If they match:
access = GRANTED

// If they don't:
access = DENIED (403)
Requests with a missing or mismatched auth-secret must be rejected with 403 ACCESS_DENIED before any wallet logic runs.
Core Endpoint

Auth Login

Launches a game session for a player and returns a playable game URL.

POST https://awcgames.com/auth
Header
{
  "Content-Type": "application/json",
  "app-name": "TEST-APP",
  "app-key": "XXXXXXXXXXXXX"
}
Body
{
  "user_id": 1234,
  "name": "TestUser",
  "balance": 10.00,
  "language": "en",
  "currency": "USD",
  "id": 1,               // Provider Id
  "game_id": "100",
  "table_id": "XXXX",
  "category": "Live Casino", // Live Casino, Slots, Mini Game, Sports & Esports
  "is_mobile": 0          // 0 = Web, 1 = Mobile
}
200 Response
{
  "status": 200,
  "game_url": "www.gameurl.com/XXXXXXXX"
}
400 Error
{
  "status": 400,
  "error": "Error Message"
}
Core Endpoint

Game List

Returns the catalog of available games for a given language and currency, grouped by provider.

POST https://awcgames.com/games
Header
{
  "Content-Type": "application/json",
  "app-name": "TEST-APP",
  "app-key": "XXXXXXXXXXXXX"
}
Body
{
  "language": "en",
  "currency": "USD"
}
200 Response
{
  "status": 200,
  "data": {
    "1": [
      {
        "id": "1",
        "provider": "Evolution Asia",
        "category": "Live Casino",
        "game_id": 1,
        "game_name": "Super Andar Bahar",
        "table_id": "AndarBahar000001",
        "game_type": "andarbahar"
      },
      {
        "id": "1",
        "provider": "Evolution Asia",
        "category": "Live Casino",
        "game_id": 2,
        "game_name": "Bac Bo",
        "table_id": "BacBo00000000001",
        "game_type": "bacbo"
      }
    ]
  }
}
400 Error
{
  "status": 400,
  "error": "Error Message"
}
Seamless Wallet

Callback System

Implement these five endpoints on your own domain. AWC Games calls them in real time to check balance and settle every bet, win, rollback and bonus.

/balance
/debit
/credit
/rollback
/bonus
Callback

Balance

Returns the player's current real-money balance.

POST yourdomain.com/balance
Header
{ "auth-secret": "XXXXXXXXXXXXXXX" }
Body
{ "user_id": 1234 }
Response
{ "status": 1, "balance": 100.00 }
Callback

Debit

Deducts a wager amount from the player's balance when a bet is placed.

POST yourdomain.com/debit
Header
{ "auth-secret": "XXXXXXXXXXXXXXX" }
Body
{
  "user_id": 1234,
  "sid": "XXXXXXXXXXX",
  "amount": 10.00,
  "provider_id": 1,
  "game_id": "100",
  "round_id": "XXXXXXXXXXXXX",
  "table_id": "XXXX",
  "txn_id": "XXXXXXXXXXXXXX"  // Unique id
}
Response
{ "status": 1, "balance": 90.00 }
Callback

Credit

Adds winnings back to the player's balance when a round settles in their favor.

POST yourdomain.com/credit
Header
{ "auth-secret": "XXXXXXXXXXXXXXX" }
Body
{
  "user_id": 1234,
  "sid": "XXXXXXXXXXX",
  "amount": 20.00,
  "provider_id": 1,
  "game_id": "100",
  "round_id": "XXXXXXXXXXXXX",
  "table_id": "XXXX",
  "txn_id": "XXXXXXXXXXXXXX"  // Unique id
}
Response
{ "status": 1, "balance": 110.00 }
Callback

Rollback

Reverses a previous debit or credit, typically triggered by a cancelled or void round.

POST yourdomain.com/rollback
Header
{ "auth-secret": "XXXXXXXXXXXXXXX" }
Body
{
  "user_id": 1234,
  "sid": "XXXXXXXXXXX",
  "amount": 10.00,
  "provider_id": 1,
  "game_id": "100",
  "round_id": "XXXXXXXXXXXXX",
  "table_id": "XXXX",
  "txn_id": "XXXXXXXXXXXXXX"  // Unique id
}
Response
{ "status": 1, "balance": 120.00 }
Callback

Bonus

Credits a promotional, free-spin or jackpot bonus to the player's balance.

POST yourdomain.com/bonus
Header
{ "auth-secret": "XXXXXXXXXXXXXXX" }
Body
{
  "user_id": 1234,
  "sid": "XXXXXXXXXXX",
  "amount": 10.00,
  "provider_id": 1,
  "game_id": "100",
  "round_id": "XXXXXXXXXXXXX",
  "table_id": "XXXX",
  "txn_id": "XXXXXXXXXXXXXX",  // Unique id
  "free_spin": 1,              // Spin ID
  "end_round": "XXXXX",        // Round Id
  "bonus_type": "Game"         // Game, Promotion, Jackpot
}
Response
{ "status": 1, "balance": 130.00 }
Reference

Error Codes

Every response carries one of the following status codes.

CodeMeaningDescription
200 SUCCESS Request completed successfully.
401 INVALID_USER The user_id supplied does not exist or is invalid.
402 INSUFFICIENT_FUNDS The player's balance is too low to cover the requested debit.
403 ACCESS_DENIED The auth-secret signature did not match.
404 UNKNOWN_ERROR An unspecified failure occurred while processing the request.