Seamless Wallet

The following functions are APIs for Seamless Wallet environment:

Notice: Kindly check with us if your requested games support this wallet type.


Get Balance

To get respective player's balance.

URL: {your_callback_url} (Required from you during integration)

Method: POST

Name
Type
Value
Required

API

String

getBalance

Y

Content-Type

String

application/json

Y

Body

Name
Type
Description
Required

token_session

String

Player token session

Y

username

String

Player's username

  • Not more than 17 character(s)

  • Not with special character(s)

  • Only digit(s), letter(s) or underscore(s)

Y

Response

{
  "code": 0,
  "message": "Success",
  "data": {
    "username": "B80player0021",
    "currency_code": "IDRK",
    "balance": 900
  }
}


Casino / Live Game Transaction

To manage transactions in Casino / Live Game when Player places a bet, requests for payout, or seeks a refund.

URL: {your_callback_url} (Required from you during integration)

Method: POST

Header

Name
Type
Value
Required

API

String

postLiveTransaction

Y

Content-Type

String

application/json

Y

Body

Name
Type
Description
Required

token_session

String

Player token session

N

username

String

Player's username

  • Not more than 17 character(s)

  • Not with special character(s)

  • Only digit(s), letter(s) or underscore(s)

Y

currency_code

String

Player's currency code, please refer to Appendix: Currency

Y

agent_code

String

Agent code, provided by us separately by email

Y

game_code

String

Games code, please refer to the game list provided separately

N

transaction_no

String | Array

Unique transaction number

Note: Different Game Provider may have different usage of this parameter. For PA's Roulette, it is represented by one transaction_no and some bill_no. Because roulette can be made lots of bets with one package.

Y

bet_no

String

Bet number / Round ID

Note: Different Game Provider may have different usage of this parameter

Y

bill_no

String

Unique bill number / Transaction no

Note: Different Game Provider may have different usage of this parameter

N

amount

Int | Float

Transaction amount

Y

valid_bet_amount

Int | Float

Valid bet amount. Amount will be 0 if the bet did not go through or in refund status set by Game Provider.

Y

transaction_type

String

Transaction type:

Bet

Payout

Refund

Jackpot

Y

transaction_time

Datetime

Transaction time in YYYY-MM-DD HH24:MI:SS UTC format. e.g. 2024-02-28 13:46:52

Y

game_provider

String

Game provider, please refer to Appendix: Game Provider

Y

playtype

String

Player's bet selection, please refer to Appendix: Live Games - Play Type

N

game_result

String

N

table_code

String

Table code name

N

device_type

String

Device type Desktop Mobile

N

game_type

String

N

is_finish

Boolean

False: Is the last request in the game round

True: Is the last request in the game round

N

Request Sample 1

{
  "token_session":"9JRfZS11b5vswbw6I17w87ld1Pund1oKahiGcmzQpNyethjidI",
  "username": "B80player0021",
  "transaction_no": "0251140515223733003503",
  "game_code": "pa-N006",
  "bet_no": "GN006245151O5",
  "currency_code": "IDRK",
  "amount": 40000,
  "valid_bet_amount": 0,
  "transaction_time": "2024-05-15 22:37:34",
  "agent_code": "B80",
  "transaction_type": "Bet",
  "game_provider": "PA",
  "game_result": null,
  "table_code": "N006",
  "device_type": "DESKTOP",
  "playtype": "Player",
  "game_type": "BAC"
 
}

Request Sample 2

{
  "token_session":"9JRfZS11b5vswbw6I17w87ld1Pund1oKahiGcmzQpNyethjidI",
  "username": "B80player0021",
  "transaction_no": "0251140515223733003503",
  "game_code": "pa-N006",
  "bet_no": "GN006245151O5",
  "currency_code": "IDRK",
  "amount": 40000,
  "valid_bet_amount": 0,
  "transaction_time": "2024-05-15 22:37:34",
  "agent_code": "B80",
  "bill_no": null,
  "transaction_type": "Bet",
  "game_provider": "PA",
  "game_result": null,
  "table_code": "N006",
  "device_type": "DESKTOP",
  "playtype": "Player",
  "game_type": "BAC"
 
}

Request Sample 3

{
  "token_session":"9JRfZS11b5vswbw6I17w87ld1Pund1oKahiGcmzQpNyethjidI",
  "username": "B80player0021",
  "transaction_no": "0251140515223733003503",
  "game_code": "pa-D001",
  "bet_no": "GN010245152EK",
  "currency_code": "IDRK",
  "amount": 4000,
  "transaction_time": "2024-05-15 22:37:34",
  "valid_bet_amount": 4000,
  "agent_code": "B80",
  "bill_no": null,
  "transaction_type": "Bet",
  "game_provider": "PA",
  "game_result": null,
  "table_code": "D001",
  "device_type": "DESKTOP",
  "playtype": null,
  "game_type": "ROU"
}

Request Sample 4

{
  "token_session":"9JRfZS11b5vswbw6I17w87ld1Pund1oKahiGcmzQpNyethjidI",
  "username": "B80player0021",
  "transaction_no": "0251140515223733003504",
  "game_code": "pa-X001",
  "bet_no": "GX001245151O5",
  "currency_code": "IDRK",
  "amount": 40000,
  "valid_bet_amount": 0,
  "transaction_time": "2025-06-15 22:37:34",
  "agent_code": "B80",
  "transaction_type": "Bet",
  "game_provider": "PA",
  "game_result": null,
  "table_code": "X001",
  "device_type": "DESKTOP",
  "playtype": "Even",
  "game_type": "VDG"
}

Preserve (pre-deducted deposit amount)

Certain games, such as Rummy from JILI, calculate the bet_amount at the time of payout or settlement. To ensure successful settlement of each game round, the operator should deduct the preserve amount from the player before the game starts and return it after subtracting the bet amount at the end.

This process distinguishes games that use preserve amount from those that do not.

With preserve:

Bet: preserve > 0, amount = 0, winlose = 0

  • Balance after bet = Balance before bet – preserve

Payout: preserve > 0, amount >= 0, payout_amount >= 0

  • Balance after payout = Balance before settle + preserve amount + payout_amount

Request Sample

{
  "token_session": "cjZHNTdkdmFSZk1mNnZXMjY2T25Gdz09",
  "username": "B80testidrk01",
  "transaction_no": "1719279673411212094",
  "game_code": "jili-94",
  "bet_no": "1719279673411002094",
  "currency_code": "IDRK",
  "transaction_time": "2024-08-09 10:15:02",
  "agent_code": "B80",
  "amount": 0,
  "preserve": 160,
  "payout_amount": 0,
  "transaction_type": "Bet",
  "game_provider": "JL",
  "game_result": null,
  "table_code": null,
  "playtype": null,
  "game_type": null,
  "device_type": null,
}

Response

{
  "code": 0,
  "message": "Success",
  "data": {
    "username": "adas1",
    "currency_code": "IDRK",
    "balance": 900
  }
}


Slots Transaction

To handle Slot's transaction when Player places a bet or request for payout.

URL: {your_callback_url} (Required from you during integration)

Method: POST

Header

Name
Type
Value
Required

API

String

postSlotTransaction

Y

Content-Type

String

application/json

Y

Body

Name
Type
Description
Required

token_session

String

Player token session

N

username

String

Player's username

  • Not more than 17 character(s)

  • Not with special character(s)

  • Only digit(s), letter(s) or underscore(s)

Y

currency_code

String

Player's currency, please refer to Appendix: Currency

Y

agent_code

String

Agent code, provided by us separately by email

Y

game_code

String

Games code, please refer to the game list provided separately

N

transaction_no

String | Array

Unique transaction number

Note: Different Game Provider may have different usage of this parameter

Y

bet_no

String

Bet number / Round ID

Note: Different Game Provider may have different usage of this parameter.

Y

bill_no

String

Unique bill number / Transaction no

Note: Different Game Provider may have different usage of this parameter. Some slot games can have multiple bets on the same round.

N

amount

Int | Float

Transaction amount

Y

valid_bet_amount

Int | Float

Valid bet amount

Y

transaction_type

String

Transaction type:

Bet

Payout

Refund

Y

transaction_time

Datetime

Transaction time in YYYY-MM-DD HH24:MI:SS UTC format. e.g. 2024-02-28 13:46:52

Y

game_provider

String

Game provider, please refer to Appendix: Game Provider

Y

slottype

Int

Type of Slots, please refer to Appendix: Slots Games - Game Type

N

remark

String

Additional game-specific information, varying in format depending on the game

N

Request Sample 1

{
  "transaction_no": "8240523037706348",
  "bill_no": null,
  "token_session": "waTRQxPIu4rNbPq76h3BsKEbMMpJb2jSkV7YkBcWR6ZbNaJWLh",
  "username": "B80player001123",
  "currency_code": "CNY",
  "agent_code": "B80",
  "game_code": "pp-vs7776aztec",
  "bet_no": "8240523037706348",
  "amount": 4,
  "valid_bet_amount": 4, 
  "transaction_type": "Bet",
  "transaction_time": "2024-05-23 07:32:35",
  "game_provider": "PP",
  "slottype": 1,
  "remark": null
}

Request Sample 2

{
  "transaction_no": "8240523037706348",
  "bill_no": null,
  "token_session": "waTRQxPIu4rNbPq76h3BsKEbMMpJb2jSkV7YkBcWR6ZbNaJWLh",
  "username": "B80player001123",
  "currency_code": "CNY",
  "agent_code": "B80",
  "game_code": "pa-SB67",
  "bet_no": "8240523037706348",
  "amount": 4,
  "valid_bet_amount": 4, 
  "transaction_type": "Bet",
  "transaction_time": "2024-05-23 07:32:35",
  "game_provider": "PA",
  "slottype": 1,
  "remark": "SB67;8240523037706348;"
}

Request Sample 3

{
  "transaction_no": "8240523037706348",
  "bill_no": null,
  "token_session": "waTRQxPIu4rNbPq76h3BsKEbMMpJb2jSkV7YkBcWR6ZbNaJWLh",
  "username": "B80player001123",
  "currency_code": "CNY",
  "agent_code": "B80",
  "game_code": "pa-SB55",
  "bet_no": "8240523037706348",
  "amount": 4,
  "valid_bet_amount": 4,
  "transaction_type": "Bet",
  "transaction_time": "2024-05-23 07:32:35",
  "game_provider": "PA",
  "slottype": 1,
  "remark": "SB67;8240523037706348;"
}

Response

{
  "code": 0,
  "message": "Success",
  "data": {
    "username": "adas1",
    "currency_code": "IDRK",
    "balance": 900
  }
}

Fish Transaction

To handle Fish transaction when Player's bet become settled or void.

URL: {your_callback_url} (Required from you during integration)

Method: POST

Header

Name
Type
Value
Required

API

String

postFishTransaction

Y

Content-Type

String

application/json

Y

Body

Name
Type
Description
Required

token_session

String

Player token session

Y

username

String

Player's username

  • Not more than 17 character(s)

  • Not with special character(s)

  • Only digit(s), letter(s) or underscore(s)

Y

currency_code

String

Player's currency, please refer to Appendix: Currency

Y

agent_code

String

Agent code, provided by us separately by email

Y

game_code

String

Games code, please refer to the game list provided separately

Y

room_id

String

Room ID

Y

room_level

Int

Room Level

Y

transaction_no

String | Array

Unique transaction number

Note: Different Game Provider may have different usage of this parameter

Y

bet_no

String

Bet number / Round ID

Note: Different Game Provider may have different usage of this parameter.

Y

bill_no

String

Unique bill number / Transaction no

Note: Different Game Provider may have different usage of this parameter. Some slot games can have multiple bets on the same round.

N

amount

Int | Float

Transaction amount

Y

valid_bet_amount

Int | Float

Valid bet amount

Y

commission

Int | Float

Commission

Y

winlose_amount

Int | Float

Winlose amount

Y

transaction_type

String

Transaction type: Settle Void

Y

transaction_time

Datetime

Transaction time in YYYY-MM-DD HH24:MI:SS UTC format. e.g. 2024-02-28 13:46:52

Y

game_provider

String

Game provider, please refer to Appendix: Game Provider

Y

remark

String

Additional game-specific information, varying in format depending on the game

N

Sample Request

{
    "token_session": "jLcr4oDuJfxJERDLtQldCa7RySp4eHCBT42YjfI8oscBqqytpN",
    "username": "B80playerCNY",
    "currency_code": "CNY",
    "agent_code": "B80",
    "game_code": "yl-10",
    "room_id": "202502111148260882277149",
    "room_level": 2,
    "transaction_no": "202502111148255660187160100002",
    "bet_no": "202502111148255660187160",
    "bill_no": "202502111148255660187160",
    "transaction_type": "Settle",
    "amount": 40,
    "valid_bet_amount": 40,
    "commission": 0,
    "winlose_amount": 152,
    "transaction_time": "2025-02-11 11:48:38",
    "game_provider": "yl",
    "remark": null
}

Response

{
    "code": 0,
    "message": "Success",
    "data": {
    	      "username": "playerCNY",
    	      "currency_code": "CNY",
    	      "balance": 23579.1
             }
}

Sports Transaction

We will utilize this API to notify you to deduct the user's stake upon placing a bet by Player. If the errorCode in your response is not 0, we will reject the user's bet.

This API may be called multiple times for the same bet by the user, indicating that they are increasing their bet.

Different product types have different logic for deduction: in Sports, the same transferCode cannot be deducted twice, while in VirtualSports, the same bet_no cannot be deducted twice.

Important: You need to integrate this API to process our request. Please structure the Response Body as shown in the example below.

URL: {your_callback_url} (Required from you during integration)

Method: POST

Header

Name
Type
Value
Required

API

String

postSportsTransaction

Y

Content-Type

String

application/json

Y

Body

Name
Type
Description
Required

token_session

String

Player token session

N

username

String

Player's username

  • Not more than 17 character(s)

  • Not with special character(s)

  • Only digit(s), letter(s) or underscore(s)

Y

currency_code

String

Player's currency code, to refer to Appendix: Currency

Y

agent_code

String

Agent code, provided by us separately by email

Y

game_code

String

Games code, please refer to the game list provided separately

Y

transaction_no

String | Array

Unique transaction number

Y

amount

Int | Float

Transaction amount

Y

winlose

Int | Float

Player's win or loss amount, exclude the initial bet

Y

is_promotion

Bool

When value is True, the bonus is provided by Game Provider

Y

is_cashout

Bool

When value is True, this bet has been cashed out by Player

Y

transaction_type

String

Transaction type:

Bet

Payout

Refund

Settle (for Sports only)

Y

transaction_time

Datetime

Transaction time in YYYY-MM-DD HH24:MI:SS UTC format. e.g. 2024-02-28 13:46:52

Y

game_provider

String

Game provider, please refer to Appendix: Game Provider

Y

game_type

String

Game type, please refer to Appendix: Game Type

N

sports_type

String

Please refer to Appendix: Sport Games - Sport Type. When the bet is mix parlay, the value is Mix Parlay

N

market_type

String

Please refer to Appendix: Sport Games - Market Type. When the bet is mix parlay, the value will be blank

N

league

String

Name of league of the match. When the bet is mix parlay, the value will be blank

N

match

String

Name of match. When the bet is mix parlay, the value will be blank

N

bet_option

String

The option player bet. When the bet is mix parlay, the value will be blank

N

kickoff_time

Datetime

Start time of the game in YYYY-MM-DD HH24:MI:SS UTC format. e.g. 2024-02-28 13:46:52

When the bet is mix parlay, the value will be blank

N

ishalfwonlose

Bool

Bet is half win lose or not

Y

result

String

Result

N

result_time

String

Result Time

N

bet_commissions

String

Bet Commissions

N

bonus_time

String

Bonus Time

N

Request Sample

{
  "token_session": "waTRQxPIu4rNbPq76h3BsKEbMMpJb2jSkV7YkBcWR6ZbNaJWLh",
  "username": "B80player001123",
  "currency_code": "CNY",
  "agent_code": "B80",
  "game_code": "pa-SB67",
  "transaction_no": "8240523037706348",
  "amount": 4,
  "transaction_type": "Bet",
  "transaction_time": "2024-05-23 07:32:35",
  "game_provider": "SBO",
  "game_type": "",
  "sports_type": "",
  "market_type": "",
  "league": "",
  "match": "",
  "bet_option": "",
  "kickoff_time": "",
  "ishalfwonlose": false,
}

Response

{
	"code": 0,
	"message": "Success",
	"data": {
		"username": "B80player001123",
		"currency_code": "CNY",
		"balance": 8626
	}
}

Events Transaction

URL: {your_callback_url} (Required from you during integration)

Method: POST

Header

Name
Type
Value
Required

API

String

postEventTransaction

Y

Content-Type

String

application/json

Y

Body

Name
Type
Description
Required

username

String

Player's username

  • Not more than 17 character(s)

  • Not with special character(s)

  • Only digit(s), letter(s) or underscore(s)

Y

currency_code

String

Player's currency code, to refer to Appendix: Currency

Y

agent_code

String

Agent code, provided by us separately by email

Y

transaction_no

String | Array

Unique transaction number

Y

amount

Int | Float

Transaction amount

Y

event_id

Int

Event Id, please refer to Appendix: Event ID

Y

game_provider

String

Game provider, please refer to Appendix: Game Provider

Y

transaction_type

String

Transaction type: Withdraw Deposit Rollback CashIn CashOut

Y

transaction_time

Datetime

Transaction time in YYYY-MM-DD HH24:MI:SS UTC format. e.g. 2024-02-28 13:46:52

Y

remark

String

Additional game-specific information, varying in format depending on the game

N

Request Sample

{
  "username": "B80PlayerTest_IDRK",
  "transaction_no": "1722311204395",
  "currency_code": "IDRK",
  "amount": 282,
  "transaction_time": "2024-07-30 03:36:33",
  "agent_code": "B80",
  "event_id": 1,
  "game_provider": "PA",
  "remark": "10;B80PlayerTest_IDRK;dealer001;",
  "transaction_type": "Withdraw"
}

Response

{
  "code": 0,
  "message": "Success",
  "data": {
    "username": "B80PlayerTest_IDRK",
    "currency_code": "IDRK",
    "balance": 900
  }
}

Last updated