Account Balances
The Account Balance APIs retrieve merchant account balances by currency. You can query a single currency or request an overview across all available currencies.
Setup
Before calling account services, complete Account Service Setup.
Balance Query
The Balance Query API returns balance details for a specified currency.
Request Parameters
| Parameter | Type | Length | Required | Signed | Description |
|---|---|---|---|---|---|
requestId | String | / | Yes | No | Unique request ID for idempotency and request tracing. |
requestTime | Long | / | Yes | No | Request timestamp in milliseconds. The timestamp must be within 10 minutes of the server time. |
currency | String | / | Yes | No | Currency code, for example |
Response
| Name | Type | Description |
|---|---|---|
code | String | Response code. |
message | String | Response message. |
data | Object | Balance details. |
└currency | String | Currency code. |
└withdrawableBalance | String | Withdrawable balance. |
└availableBalance | String | Available balance. |
└fundOnHold | String | Funds that are on hold or in transit. |
└depositBalance | String | Deposit balance. |
└totalBalance | String | Total balance, including available, on-hold, and deposit amounts. |
└status | String | Account status. |
API Example
{
"requestId": "REQ-BAL-20260423-0001",
"requestTime": 1776931200000,
"currency": "USD"
}2
3
4
5
{
"code": "200",
"message": "success",
"data": {
"currency": "USD",
"withdrawableBalance": "1000.00",
"availableBalance": "1500.00",
"fundOnHold": "300.00",
"depositBalance": "200.00",
"totalBalance": "2000.00",
"status": "ACTIVE"
}
}2
3
4
5
6
7
8
9
10
11
12
13
Balance Overview Query
The Balance Overview Query API returns a balance summary for all currencies and can provide a converted total amount by displayCurrency.
Request Parameters
| Parameter | Type | Length | Required | Signed | Description |
|---|---|---|---|---|---|
requestId | String | / | Yes | No | Unique request ID for idempotency and request tracing. |
requestTime | Long | / | Yes | No | Request timestamp in milliseconds. The timestamp must be within 10 minutes of the server time. |
displayCurrency | String | / | No | No | Display currency used for amount conversion. Defaults to |
Response
| Name | Type | Description |
|---|---|---|
code | String | Response code. |
message | String | Response message. |
data | Object | Balance overview. |
└totalAmount | String | Total amount converted to the display currency. |
└displayCurrency | String | Display currency. Defaults to |
└currencyBalances | Array | Balance summary by currency. |
└currency | String | Currency code. |
└withdrawableBalance | String | Withdrawable balance. |
└availableBalance | String | Available balance. |
└fundOnHold | String | Funds that are on hold or in transit. |
└depositBalance | String | Deposit balance. |
└totalBalance | String | Total balance, including available, on-hold, and deposit amounts. |
└status | String | Account status. |
API Example
{
"requestId": "REQ-BAL-20260423-0002",
"requestTime": 1776931200000,
"displayCurrency": "USD"
}2
3
4
5
{
"code": "200",
"message": "success",
"data": {
"totalAmount": "5000.00",
"displayCurrency": "USD",
"currencyBalances": [
{
"currency": "USD",
"withdrawableBalance": "1000.00",
"availableBalance": "1500.00",
"fundOnHold": "300.00",
"depositBalance": "200.00",
"totalBalance": "2000.00",
"status": "ACTIVE"
},
{
"currency": "EUR",
"withdrawableBalance": "2000.00",
"availableBalance": "2500.00",
"fundOnHold": "500.00",
"depositBalance": "0.00",
"totalBalance": "3000.00",
"status": "ACTIVE"
}
]
}
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Best Practices
- Generate a unique
requestIdfor each request to support tracing and duplicate prevention. - Use a millisecond
requestTime, and keep your server clock synchronized. - Reconcile balance snapshots with account transaction records regularly.