# TransferWallet API

T**ransferWallet API** is an optional API for implementing Transfer Wallet logic, which is available by request. The API provides a way for the Operator to deposit money to the player's account, withdraw money from the player's account and get the player's balance. Availability of TransferWallet API is per request.

***

## TransferWallet API Reference

***

### Withdraw money from user's wallet

***

## POST /operator/generic/v2/transfer\_wallet/withdraw

> Withdraw money from the user's wallet.

```json
{"openapi":"3.1.1","info":{"title":"Hub88","version":"2.0"},"tags":[{"name":"TransferWallet API","description":"Hub88 provides Transfer Wallet API for the Operator."}],"paths":{"/operator/generic/v2/transfer_wallet/withdraw":{"post":{"tags":["TransferWallet API"],"summary":"","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}}},"parameters":[{"schema":{"type":"string"},"required":true,"name":"X-Hub88-Signature","in":"header","description":"RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key associated with the provided `operator_id`."}],"operationId":"/operator/generic/v2/transfer_wallet/withdraw","description":"Withdraw money from the user's wallet.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["amount","transaction_uuid","sub_partner_id","operator_id","currency","user","request_uuid"],"properties":{"user":{"type":"string","description":""},"transaction_uuid":{"description":"","$ref":"#/components/schemas/transaction_uuid"},"sub_partner_id":{"description":"","$ref":"#/components/schemas/sub_partner_id"},"request_uuid":{"description":"","$ref":"#/components/schemas/request_uuid"},"product":{"description":"","$ref":"#/components/schemas/product"},"operator_id":{"description":"","$ref":"#/components/schemas/operator_id"},"currency":{"description":"","$ref":"#/components/schemas/currency"},"amount":{"description":"","$ref":"#/components/schemas/money_amount"}}}}},"required":true,"description":""}}}},"components":{"schemas":{"Response":{"type":"object","title":"Response","required":["user","status","request_uuid"],"properties":{"user":{"description":"","$ref":"#/components/schemas/user"},"status":{"description":"","$ref":"#/components/schemas/status"},"request_uuid":{"description":"","$ref":"#/components/schemas/request_uuid"},"currency":{"description":"","$ref":"#/components/schemas/currency"},"balance":{"description":"","$ref":"#/components/schemas/money_amount"}},"description":"Wallet API response"},"user":{"type":"string","minLength":3,"description":"The unique user ID in the Operator’s system. In case of DEMO gameplay, this parameter may be omitted."},"status":{"type":"string","enum":["RS_OK","RS_ERROR_UNKNOWN","RS_ERROR_INVALID_PARTNER","RS_ERROR_INVALID_TOKEN","RS_ERROR_INVALID_GAMERS_ERROR_WRONG_CURRENCY","RS_ERROR_NOT_ENOUGH_MONEY","RS_ERROR_USER_DISABLED","RS_ERROR_INVALID_SIGNATURE","RS_ERROR_TOKEN_EXPIRED","RS_ERROR_WRONG_SYNTAX","RS_ERROR_WRONG_TYPES","RS_ERROR_DUPLICATE_TRANSACTION","RS_ERROR_TRANSACTION_DOES_NOT_EXIST","RS_ERROR_LIMIT_REACHED"],"description":"Response status"},"request_uuid":{"type":"string","description":"An ID of an action that is generated for each of our calls to the Operator, used to sync Hub88 and Operator sides for debugging purposes, displayed in standard 16-byte UUID format. The Operator has to respond with the same `request_uuid` as the one received in request."},"currency":{"type":"string","enum":["BSD","TTD","ZMW","BMD","USD","BYR","UGX","HKD","MGA","GIP","UZS","MKD","PTS","mLTC","EGP","AWG","CZK","ILS","MZN","TND","XPF","SOS","DOP","RUB","KRW","BTN","KGS","BAM","AOA","SOC","AMS","BND","RSD","FKP","PEN","EOS","GHS","JPY","TRY","SBD","UAH","LTL","FJD","GNF","MDL","AFN","ZAR","MOP","TJS","BOB","JMD","QAR","IRR","SYP","XXX","NAD","MYR","CUP","NOK","BGN","KPW","MNT","NZD","uETH","SGD","PYG","OMR","DZD","EUR","TMT","MMK","PTQ","ANG","TZS","CRC","VES","ETB","THB","ZWD","LYD","CHF","MVR","KES","CVE","LSL","KMF","SZL","KYD","BRL","AED","WST","YER","ALL","TRX","HUF","GTQ","uBTC","IDR","MWK","CUC","DKK","TWD","XCD","BBD","LRD","KZT","JOD","BYN","BIF","PLN","SDG","VUV","SEK","BDT","HNL","BWP","VND","ISK","SLL","BHD","HTG","USDT","ADA","MUR","ERN","uLTC","LKR","COP","GEL","AUD","GBP","CAD","PHP","PAB","DJF","GMD","PKR","NIO","AMD","RWF","RON","NGN","TOP","UYU","AZN","SRD","KWD","PGK","CDF","SAR","IQD","XRP","SCR","mETH","MAD","GYD","INR","LBP","ARS","MXN","CLP","BNB","CNY","KHR","LAK","HRK","BZD","SSP","XOF","X5T","MRO","NPR","mBTC"],"description":"The [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. The following list contains all currencies supported by our system. Note that native gameplay support for these currencies may vary per Provider. Please contact us to know which Provider supports which currencies."},"money_amount":{"type":"integer","description":"The amount of money displayed in integer **(Int64)** format. To convert real float value to integer, it is multiplied by 100000. Example: `$3.56` is represented as `356000`"},"transaction_uuid":{"type":"string","description":"The unique transaction identifier. An ID of business logic action (transaction) that <b>needs to be stored</b> on both sides for <b>at least 4 months</b> (for reconciliation purposes). Operator has to respond on each `transaction_uuid`. An action with same `transaction_uuid` shouldn't be processed more than once."},"sub_partner_id":{"type":"string","description":"ID of Operator's sub-partner (brand, whitelabel, site, etc.) which uses same integration and credentials as an Operator. Used for detailed reporting and integration type switching. Sites under the same Operator can use different integration types: TransferWallet or SeamlessWallet. A single site (sub_partner_id) can NOT have both kinds of integration at the same time."},"product":{"type":"string","description":"Name of the Game Provider."},"operator_id":{"type":"integer","description":"Unique identifier for the Operator in Hub88 system. Used to authorize incoming requests. You can obtain your `operator_id` from the Hub88 BackOffice after your Operator entity is registered and set up in the Hub88 system by the internal teams."}}}}
```

***

### Deposit money to user's wallet

***

## POST /operator/generic/v2/transfer\_wallet/deposit

> Add and deposit money to the user's wallet.

```json
{"openapi":"3.1.1","info":{"title":"Hub88","version":"2.0"},"tags":[{"name":"TransferWallet API","description":"Hub88 provides Transfer Wallet API for the Operator."}],"paths":{"/operator/generic/v2/transfer_wallet/deposit":{"post":{"tags":["TransferWallet API"],"summary":"","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}}},"parameters":[{"schema":{"type":"string"},"required":true,"name":"X-Hub88-Signature","in":"header","description":"RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key associated with the provided `operator_id`."}],"operationId":"/operator/generic/v2/transfer_wallet/deposit","description":"Add and deposit money to the user's wallet.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["amount","transaction_uuid","sub_partner_id","operator_id","currency","user","request_uuid"],"properties":{"user":{"type":"string","description":""},"transaction_uuid":{"description":"","$ref":"#/components/schemas/transaction_uuid"},"sub_partner_id":{"description":"","$ref":"#/components/schemas/sub_partner_id"},"request_uuid":{"description":"","$ref":"#/components/schemas/request_uuid"},"product":{"description":"","$ref":"#/components/schemas/product"},"operator_id":{"description":"","$ref":"#/components/schemas/operator_id"},"currency":{"description":"","$ref":"#/components/schemas/currency"},"amount":{"description":"","$ref":"#/components/schemas/money_amount"}}}}},"required":true,"description":""}}}},"components":{"schemas":{"Response":{"type":"object","title":"Response","required":["user","status","request_uuid"],"properties":{"user":{"description":"","$ref":"#/components/schemas/user"},"status":{"description":"","$ref":"#/components/schemas/status"},"request_uuid":{"description":"","$ref":"#/components/schemas/request_uuid"},"currency":{"description":"","$ref":"#/components/schemas/currency"},"balance":{"description":"","$ref":"#/components/schemas/money_amount"}},"description":"Wallet API response"},"user":{"type":"string","minLength":3,"description":"The unique user ID in the Operator’s system. In case of DEMO gameplay, this parameter may be omitted."},"status":{"type":"string","enum":["RS_OK","RS_ERROR_UNKNOWN","RS_ERROR_INVALID_PARTNER","RS_ERROR_INVALID_TOKEN","RS_ERROR_INVALID_GAMERS_ERROR_WRONG_CURRENCY","RS_ERROR_NOT_ENOUGH_MONEY","RS_ERROR_USER_DISABLED","RS_ERROR_INVALID_SIGNATURE","RS_ERROR_TOKEN_EXPIRED","RS_ERROR_WRONG_SYNTAX","RS_ERROR_WRONG_TYPES","RS_ERROR_DUPLICATE_TRANSACTION","RS_ERROR_TRANSACTION_DOES_NOT_EXIST","RS_ERROR_LIMIT_REACHED"],"description":"Response status"},"request_uuid":{"type":"string","description":"An ID of an action that is generated for each of our calls to the Operator, used to sync Hub88 and Operator sides for debugging purposes, displayed in standard 16-byte UUID format. The Operator has to respond with the same `request_uuid` as the one received in request."},"currency":{"type":"string","enum":["BSD","TTD","ZMW","BMD","USD","BYR","UGX","HKD","MGA","GIP","UZS","MKD","PTS","mLTC","EGP","AWG","CZK","ILS","MZN","TND","XPF","SOS","DOP","RUB","KRW","BTN","KGS","BAM","AOA","SOC","AMS","BND","RSD","FKP","PEN","EOS","GHS","JPY","TRY","SBD","UAH","LTL","FJD","GNF","MDL","AFN","ZAR","MOP","TJS","BOB","JMD","QAR","IRR","SYP","XXX","NAD","MYR","CUP","NOK","BGN","KPW","MNT","NZD","uETH","SGD","PYG","OMR","DZD","EUR","TMT","MMK","PTQ","ANG","TZS","CRC","VES","ETB","THB","ZWD","LYD","CHF","MVR","KES","CVE","LSL","KMF","SZL","KYD","BRL","AED","WST","YER","ALL","TRX","HUF","GTQ","uBTC","IDR","MWK","CUC","DKK","TWD","XCD","BBD","LRD","KZT","JOD","BYN","BIF","PLN","SDG","VUV","SEK","BDT","HNL","BWP","VND","ISK","SLL","BHD","HTG","USDT","ADA","MUR","ERN","uLTC","LKR","COP","GEL","AUD","GBP","CAD","PHP","PAB","DJF","GMD","PKR","NIO","AMD","RWF","RON","NGN","TOP","UYU","AZN","SRD","KWD","PGK","CDF","SAR","IQD","XRP","SCR","mETH","MAD","GYD","INR","LBP","ARS","MXN","CLP","BNB","CNY","KHR","LAK","HRK","BZD","SSP","XOF","X5T","MRO","NPR","mBTC"],"description":"The [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. The following list contains all currencies supported by our system. Note that native gameplay support for these currencies may vary per Provider. Please contact us to know which Provider supports which currencies."},"money_amount":{"type":"integer","description":"The amount of money displayed in integer **(Int64)** format. To convert real float value to integer, it is multiplied by 100000. Example: `$3.56` is represented as `356000`"},"transaction_uuid":{"type":"string","description":"The unique transaction identifier. An ID of business logic action (transaction) that <b>needs to be stored</b> on both sides for <b>at least 4 months</b> (for reconciliation purposes). Operator has to respond on each `transaction_uuid`. An action with same `transaction_uuid` shouldn't be processed more than once."},"sub_partner_id":{"type":"string","description":"ID of Operator's sub-partner (brand, whitelabel, site, etc.) which uses same integration and credentials as an Operator. Used for detailed reporting and integration type switching. Sites under the same Operator can use different integration types: TransferWallet or SeamlessWallet. A single site (sub_partner_id) can NOT have both kinds of integration at the same time."},"product":{"type":"string","description":"Name of the Game Provider."},"operator_id":{"type":"integer","description":"Unique identifier for the Operator in Hub88 system. Used to authorize incoming requests. You can obtain your `operator_id` from the Hub88 BackOffice after your Operator entity is registered and set up in the Hub88 system by the internal teams."}}}}
```

***

### Create a wallet

***

## POST /operator/generic/v2/transfer\_wallet/create\_wallet

> Create a wallet.\
> &#x20;                    A TransferWallet can be either a \*\*Universal\*\* type or a \*\*Product\*\* type.\
> &#x20;                     \*\*Universal\*\* Wallet means that the user will have only one wallet for all Providers/Suppliers.\
> &#x20;                     \*\*Product\*\* Wallet means that the User will have several wallets, one per each product (Provider/Supplier).

```json
{"openapi":"3.1.1","info":{"title":"Hub88","version":"2.0"},"tags":[{"name":"TransferWallet API","description":"Hub88 provides Transfer Wallet API for the Operator."}],"paths":{"/operator/generic/v2/transfer_wallet/create_wallet":{"post":{"tags":["TransferWallet API"],"summary":"","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}}},"parameters":[{"schema":{"type":"string"},"required":true,"name":"X-Hub88-Signature","in":"header","description":"RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key associated with the provided `operator_id`."}],"operationId":"/operator/generic/v2/transfer_wallet/create_wallet","description":"Create a wallet.\n                     A TransferWallet can be either a **Universal** type or a **Product** type.\n                      **Universal** Wallet means that the user will have only one wallet for all Providers/Suppliers.\n                      **Product** Wallet means that the User will have several wallets, one per each product (Provider/Supplier).","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["sub_partner_id","operator_id","currency","user","request_uuid"],"properties":{"user":{"type":"string","description":""},"sub_partner_id":{"description":"","$ref":"#/components/schemas/sub_partner_id"},"request_uuid":{"description":"","$ref":"#/components/schemas/request_uuid"},"product":{"description":"","$ref":"#/components/schemas/product"},"operator_id":{"description":"","$ref":"#/components/schemas/operator_id"},"currency":{"description":"","$ref":"#/components/schemas/currency"}}}}},"required":true,"description":""}}}},"components":{"schemas":{"Response":{"type":"object","title":"Response","required":["user","status","request_uuid"],"properties":{"user":{"description":"","$ref":"#/components/schemas/user"},"status":{"description":"","$ref":"#/components/schemas/status"},"request_uuid":{"description":"","$ref":"#/components/schemas/request_uuid"},"currency":{"description":"","$ref":"#/components/schemas/currency"},"balance":{"description":"","$ref":"#/components/schemas/money_amount"}},"description":"Wallet API response"},"user":{"type":"string","minLength":3,"description":"The unique user ID in the Operator’s system. In case of DEMO gameplay, this parameter may be omitted."},"status":{"type":"string","enum":["RS_OK","RS_ERROR_UNKNOWN","RS_ERROR_INVALID_PARTNER","RS_ERROR_INVALID_TOKEN","RS_ERROR_INVALID_GAMERS_ERROR_WRONG_CURRENCY","RS_ERROR_NOT_ENOUGH_MONEY","RS_ERROR_USER_DISABLED","RS_ERROR_INVALID_SIGNATURE","RS_ERROR_TOKEN_EXPIRED","RS_ERROR_WRONG_SYNTAX","RS_ERROR_WRONG_TYPES","RS_ERROR_DUPLICATE_TRANSACTION","RS_ERROR_TRANSACTION_DOES_NOT_EXIST","RS_ERROR_LIMIT_REACHED"],"description":"Response status"},"request_uuid":{"type":"string","description":"An ID of an action that is generated for each of our calls to the Operator, used to sync Hub88 and Operator sides for debugging purposes, displayed in standard 16-byte UUID format. The Operator has to respond with the same `request_uuid` as the one received in request."},"currency":{"type":"string","enum":["BSD","TTD","ZMW","BMD","USD","BYR","UGX","HKD","MGA","GIP","UZS","MKD","PTS","mLTC","EGP","AWG","CZK","ILS","MZN","TND","XPF","SOS","DOP","RUB","KRW","BTN","KGS","BAM","AOA","SOC","AMS","BND","RSD","FKP","PEN","EOS","GHS","JPY","TRY","SBD","UAH","LTL","FJD","GNF","MDL","AFN","ZAR","MOP","TJS","BOB","JMD","QAR","IRR","SYP","XXX","NAD","MYR","CUP","NOK","BGN","KPW","MNT","NZD","uETH","SGD","PYG","OMR","DZD","EUR","TMT","MMK","PTQ","ANG","TZS","CRC","VES","ETB","THB","ZWD","LYD","CHF","MVR","KES","CVE","LSL","KMF","SZL","KYD","BRL","AED","WST","YER","ALL","TRX","HUF","GTQ","uBTC","IDR","MWK","CUC","DKK","TWD","XCD","BBD","LRD","KZT","JOD","BYN","BIF","PLN","SDG","VUV","SEK","BDT","HNL","BWP","VND","ISK","SLL","BHD","HTG","USDT","ADA","MUR","ERN","uLTC","LKR","COP","GEL","AUD","GBP","CAD","PHP","PAB","DJF","GMD","PKR","NIO","AMD","RWF","RON","NGN","TOP","UYU","AZN","SRD","KWD","PGK","CDF","SAR","IQD","XRP","SCR","mETH","MAD","GYD","INR","LBP","ARS","MXN","CLP","BNB","CNY","KHR","LAK","HRK","BZD","SSP","XOF","X5T","MRO","NPR","mBTC"],"description":"The [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. The following list contains all currencies supported by our system. Note that native gameplay support for these currencies may vary per Provider. Please contact us to know which Provider supports which currencies."},"money_amount":{"type":"integer","description":"The amount of money displayed in integer **(Int64)** format. To convert real float value to integer, it is multiplied by 100000. Example: `$3.56` is represented as `356000`"},"sub_partner_id":{"type":"string","description":"ID of Operator's sub-partner (brand, whitelabel, site, etc.) which uses same integration and credentials as an Operator. Used for detailed reporting and integration type switching. Sites under the same Operator can use different integration types: TransferWallet or SeamlessWallet. A single site (sub_partner_id) can NOT have both kinds of integration at the same time."},"product":{"type":"string","description":"Name of the Game Provider."},"operator_id":{"type":"integer","description":"Unique identifier for the Operator in Hub88 system. Used to authorize incoming requests. You can obtain your `operator_id` from the Hub88 BackOffice after your Operator entity is registered and set up in the Hub88 system by the internal teams."}}}}
```

***

### Get wallet status

***

## POST /operator/generic/v2/transfer\_wallet/check\_transfer

> The endpoint to check the status of the TransferWallet transactions(deposit/withdraw). If a transaction doesn't exist in the Hub88 system a \`RS\_ERROR\_TRANSACTION\_DOES\_NOT\_EXIST\` status will be returned.

```json
{"openapi":"3.1.1","info":{"title":"Hub88","version":"2.0"},"tags":[{"name":"TransferWallet API","description":"Hub88 provides Transfer Wallet API for the Operator."}],"paths":{"/operator/generic/v2/transfer_wallet/check_transfer":{"post":{"tags":["TransferWallet API"],"summary":"","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["transaction","status"],"properties":{"transaction":{"description":"","$ref":"#/components/schemas/tw_transaction"},"status":{"description":"","$ref":"#/components/schemas/status"}}}}}}},"parameters":[{"schema":{"type":"string"},"required":true,"name":"X-Hub88-Signature","in":"header","description":"RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key associated with the provided `operator_id`."}],"operationId":"/operator/generic/v2/transfer_wallet/check_transfer","description":"The endpoint to check the status of the TransferWallet transactions(deposit/withdraw). If a transaction doesn't exist in the Hub88 system a `RS_ERROR_TRANSACTION_DOES_NOT_EXIST` status will be returned.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["transaction_uuid","sub_partner_id","operator_id","currency","user","request_uuid"],"properties":{"user":{"type":"string","description":""},"transaction_uuid":{"description":"","$ref":"#/components/schemas/transaction_uuid"},"sub_partner_id":{"description":"","$ref":"#/components/schemas/sub_partner_id"},"request_uuid":{"description":"","$ref":"#/components/schemas/request_uuid"},"product":{"description":"","$ref":"#/components/schemas/product"},"operator_id":{"description":"","$ref":"#/components/schemas/operator_id"},"currency":{"description":"","$ref":"#/components/schemas/currency"}}}}},"required":true,"description":""}}}},"components":{"schemas":{"tw_transaction":{"type":"object","title":"TransferWallet transaction","required":["balance","amount","status","type","currency","transaction_uuid","user"],"properties":{"user":{"description":"","$ref":"#/components/schemas/user"},"type":{"type":"string","enum":["CTT_DEPOSIT","CTT_WITHDRAW"],"description":"The type of the TransferWallet transaction, either deposit or withdraw type of transaction."},"transaction_uuid":{"type":"string","description":"The unique transaction ID sent during deposit/withdraw transaction."},"status":{"type":"string","enum":["CTS_SUCCESS","CTS_DECLINED"],"description":"The status of the TransferWallet transaction on Hub88 side, either success or decline."},"currency":{"description":"","$ref":"#/components/schemas/currency"},"balance":{"description":"","$ref":"#/components/schemas/money_amount"},"amount":{"description":"","$ref":"#/components/schemas/money_amount"}},"description":"The TransferWallet transaction(deposit/withdraw) and it's state in our system. The value can be null or omitted."},"user":{"type":"string","minLength":3,"description":"The unique user ID in the Operator’s system. In case of DEMO gameplay, this parameter may be omitted."},"currency":{"type":"string","enum":["BSD","TTD","ZMW","BMD","USD","BYR","UGX","HKD","MGA","GIP","UZS","MKD","PTS","mLTC","EGP","AWG","CZK","ILS","MZN","TND","XPF","SOS","DOP","RUB","KRW","BTN","KGS","BAM","AOA","SOC","AMS","BND","RSD","FKP","PEN","EOS","GHS","JPY","TRY","SBD","UAH","LTL","FJD","GNF","MDL","AFN","ZAR","MOP","TJS","BOB","JMD","QAR","IRR","SYP","XXX","NAD","MYR","CUP","NOK","BGN","KPW","MNT","NZD","uETH","SGD","PYG","OMR","DZD","EUR","TMT","MMK","PTQ","ANG","TZS","CRC","VES","ETB","THB","ZWD","LYD","CHF","MVR","KES","CVE","LSL","KMF","SZL","KYD","BRL","AED","WST","YER","ALL","TRX","HUF","GTQ","uBTC","IDR","MWK","CUC","DKK","TWD","XCD","BBD","LRD","KZT","JOD","BYN","BIF","PLN","SDG","VUV","SEK","BDT","HNL","BWP","VND","ISK","SLL","BHD","HTG","USDT","ADA","MUR","ERN","uLTC","LKR","COP","GEL","AUD","GBP","CAD","PHP","PAB","DJF","GMD","PKR","NIO","AMD","RWF","RON","NGN","TOP","UYU","AZN","SRD","KWD","PGK","CDF","SAR","IQD","XRP","SCR","mETH","MAD","GYD","INR","LBP","ARS","MXN","CLP","BNB","CNY","KHR","LAK","HRK","BZD","SSP","XOF","X5T","MRO","NPR","mBTC"],"description":"The [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. The following list contains all currencies supported by our system. Note that native gameplay support for these currencies may vary per Provider. Please contact us to know which Provider supports which currencies."},"money_amount":{"type":"integer","description":"The amount of money displayed in integer **(Int64)** format. To convert real float value to integer, it is multiplied by 100000. Example: `$3.56` is represented as `356000`"},"status":{"type":"string","enum":["RS_OK","RS_ERROR_UNKNOWN","RS_ERROR_INVALID_PARTNER","RS_ERROR_INVALID_TOKEN","RS_ERROR_INVALID_GAMERS_ERROR_WRONG_CURRENCY","RS_ERROR_NOT_ENOUGH_MONEY","RS_ERROR_USER_DISABLED","RS_ERROR_INVALID_SIGNATURE","RS_ERROR_TOKEN_EXPIRED","RS_ERROR_WRONG_SYNTAX","RS_ERROR_WRONG_TYPES","RS_ERROR_DUPLICATE_TRANSACTION","RS_ERROR_TRANSACTION_DOES_NOT_EXIST","RS_ERROR_LIMIT_REACHED"],"description":"Response status"},"transaction_uuid":{"type":"string","description":"The unique transaction identifier. An ID of business logic action (transaction) that <b>needs to be stored</b> on both sides for <b>at least 4 months</b> (for reconciliation purposes). Operator has to respond on each `transaction_uuid`. An action with same `transaction_uuid` shouldn't be processed more than once."},"sub_partner_id":{"type":"string","description":"ID of Operator's sub-partner (brand, whitelabel, site, etc.) which uses same integration and credentials as an Operator. Used for detailed reporting and integration type switching. Sites under the same Operator can use different integration types: TransferWallet or SeamlessWallet. A single site (sub_partner_id) can NOT have both kinds of integration at the same time."},"request_uuid":{"type":"string","description":"An ID of an action that is generated for each of our calls to the Operator, used to sync Hub88 and Operator sides for debugging purposes, displayed in standard 16-byte UUID format. The Operator has to respond with the same `request_uuid` as the one received in request."},"product":{"type":"string","description":"Name of the Game Provider."},"operator_id":{"type":"integer","description":"Unique identifier for the Operator in Hub88 system. Used to authorize incoming requests. You can obtain your `operator_id` from the Hub88 BackOffice after your Operator entity is registered and set up in the Hub88 system by the internal teams."}}}}
```

***

### Get wallet balance

***

## POST /operator/generic/v2/transfer\_wallet/balance

> Get a user's wallet balance.

```json
{"openapi":"3.1.1","info":{"title":"Hub88","version":"2.0"},"tags":[{"name":"TransferWallet API","description":"Hub88 provides Transfer Wallet API for the Operator."}],"paths":{"/operator/generic/v2/transfer_wallet/balance":{"post":{"tags":["TransferWallet API"],"summary":"","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}}},"parameters":[{"schema":{"type":"string"},"required":true,"name":"X-Hub88-Signature","in":"header","description":"RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key associated with the provided `operator_id`."}],"operationId":"/operator/generic/v2/transfer_wallet/balance","description":"Get a user's wallet balance.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["sub_partner_id","operator_id","currency","user","request_uuid"],"properties":{"user":{"type":"string","description":""},"sub_partner_id":{"description":"","$ref":"#/components/schemas/sub_partner_id"},"request_uuid":{"description":"","$ref":"#/components/schemas/request_uuid"},"product":{"description":"","$ref":"#/components/schemas/product"},"operator_id":{"description":"","$ref":"#/components/schemas/operator_id"},"currency":{"description":"","$ref":"#/components/schemas/currency"}}}}},"required":true,"description":""}}}},"components":{"schemas":{"Response":{"type":"object","title":"Response","required":["user","status","request_uuid"],"properties":{"user":{"description":"","$ref":"#/components/schemas/user"},"status":{"description":"","$ref":"#/components/schemas/status"},"request_uuid":{"description":"","$ref":"#/components/schemas/request_uuid"},"currency":{"description":"","$ref":"#/components/schemas/currency"},"balance":{"description":"","$ref":"#/components/schemas/money_amount"}},"description":"Wallet API response"},"user":{"type":"string","minLength":3,"description":"The unique user ID in the Operator’s system. In case of DEMO gameplay, this parameter may be omitted."},"status":{"type":"string","enum":["RS_OK","RS_ERROR_UNKNOWN","RS_ERROR_INVALID_PARTNER","RS_ERROR_INVALID_TOKEN","RS_ERROR_INVALID_GAMERS_ERROR_WRONG_CURRENCY","RS_ERROR_NOT_ENOUGH_MONEY","RS_ERROR_USER_DISABLED","RS_ERROR_INVALID_SIGNATURE","RS_ERROR_TOKEN_EXPIRED","RS_ERROR_WRONG_SYNTAX","RS_ERROR_WRONG_TYPES","RS_ERROR_DUPLICATE_TRANSACTION","RS_ERROR_TRANSACTION_DOES_NOT_EXIST","RS_ERROR_LIMIT_REACHED"],"description":"Response status"},"request_uuid":{"type":"string","description":"An ID of an action that is generated for each of our calls to the Operator, used to sync Hub88 and Operator sides for debugging purposes, displayed in standard 16-byte UUID format. The Operator has to respond with the same `request_uuid` as the one received in request."},"currency":{"type":"string","enum":["BSD","TTD","ZMW","BMD","USD","BYR","UGX","HKD","MGA","GIP","UZS","MKD","PTS","mLTC","EGP","AWG","CZK","ILS","MZN","TND","XPF","SOS","DOP","RUB","KRW","BTN","KGS","BAM","AOA","SOC","AMS","BND","RSD","FKP","PEN","EOS","GHS","JPY","TRY","SBD","UAH","LTL","FJD","GNF","MDL","AFN","ZAR","MOP","TJS","BOB","JMD","QAR","IRR","SYP","XXX","NAD","MYR","CUP","NOK","BGN","KPW","MNT","NZD","uETH","SGD","PYG","OMR","DZD","EUR","TMT","MMK","PTQ","ANG","TZS","CRC","VES","ETB","THB","ZWD","LYD","CHF","MVR","KES","CVE","LSL","KMF","SZL","KYD","BRL","AED","WST","YER","ALL","TRX","HUF","GTQ","uBTC","IDR","MWK","CUC","DKK","TWD","XCD","BBD","LRD","KZT","JOD","BYN","BIF","PLN","SDG","VUV","SEK","BDT","HNL","BWP","VND","ISK","SLL","BHD","HTG","USDT","ADA","MUR","ERN","uLTC","LKR","COP","GEL","AUD","GBP","CAD","PHP","PAB","DJF","GMD","PKR","NIO","AMD","RWF","RON","NGN","TOP","UYU","AZN","SRD","KWD","PGK","CDF","SAR","IQD","XRP","SCR","mETH","MAD","GYD","INR","LBP","ARS","MXN","CLP","BNB","CNY","KHR","LAK","HRK","BZD","SSP","XOF","X5T","MRO","NPR","mBTC"],"description":"The [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. The following list contains all currencies supported by our system. Note that native gameplay support for these currencies may vary per Provider. Please contact us to know which Provider supports which currencies."},"money_amount":{"type":"integer","description":"The amount of money displayed in integer **(Int64)** format. To convert real float value to integer, it is multiplied by 100000. Example: `$3.56` is represented as `356000`"},"sub_partner_id":{"type":"string","description":"ID of Operator's sub-partner (brand, whitelabel, site, etc.) which uses same integration and credentials as an Operator. Used for detailed reporting and integration type switching. Sites under the same Operator can use different integration types: TransferWallet or SeamlessWallet. A single site (sub_partner_id) can NOT have both kinds of integration at the same time."},"product":{"type":"string","description":"Name of the Game Provider."},"operator_id":{"type":"integer","description":"Unique identifier for the Operator in Hub88 system. Used to authorize incoming requests. You can obtain your `operator_id` from the Hub88 BackOffice after your Operator entity is registered and set up in the Hub88 system by the internal teams."}}}}
```
