Enterprise Balance Inquiry
Returns the available balances of the Partner's enterprise custodial wallets, either for all crypto assets or for a single asset.
This endpoint is for enterprise Partners that custody with CoinmeIt returns balances for the Partner's own enterprise wallets — not individual customer wallets. To retrieve a customer's balances, see Consumer Balance Inquiry.
Base URLs
| Environment | Base URL |
|---|---|
| Production | https://caas.coinme.com |
| Staging | https://caas-staging.coinme.com |
Endpoints
| Method | Path | Returns |
|---|---|---|
GET | /services/enterprise/wallets/balance | Available balances for all assets |
GET | /services/enterprise/wallets/balance/{asset} | Available balance for a single asset |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
asset | string | No | Asset identifier to filter by (e.g. BTC, ETH, SOL). Omit to return all assets. Matching is case-insensitive — eth, ETH, and eTH are equivalent. |
The filter matches by asset, not by chainRequesting
SOLreturns only theSOLasset itself — not other assets held on the Solana chain such asUSDC_SOLorXO_SOL. When a filter is applied,data.balancesis still returned as an array containing the single matching entry.
Sample API Request
curl --location 'https://caas-staging.coinme.com/services/enterprise/wallets/balance' \
--header 'Authorization: Bearer <token>'curl --location 'https://caas-staging.coinme.com/services/enterprise/wallets/balance/SOL' \
--header 'Authorization: Bearer <token>'Sample API Response
200 OK
{
"data": {
"balances": [
{
"assetId": "USDC_SOL",
"currencySymbol": "USDC",
"chain": "SOL",
"availableBalance": "4539.686345"
},
{
"assetId": "BTC",
"currencySymbol": "BTC",
"chain": "BTC",
"availableBalance": "0.02731081"
},
{
"assetId": "SOL",
"currencySymbol": "SOL",
"chain": "SOL",
"availableBalance": "46.429490974"
},
{
"assetId": "MATIC",
"currencySymbol": "MATIC",
"chain": "ETH",
"availableBalance": "996476.546071941453547625"
},
{
"assetId": "XRP",
"currencySymbol": "XRP",
"chain": "XRP",
"availableBalance": "124.199433"
},
{
"assetId": "LINK",
"currencySymbol": "LINK",
"chain": "ETH",
"availableBalance": "0.548430501495823465"
},
{
"assetId": "LTC",
"currencySymbol": "LTC",
"chain": "LTC",
"availableBalance": "1.05181059"
},
{
"assetId": "ETH",
"currencySymbol": "ETH",
"chain": "ETH",
"availableBalance": "13.131442651256353266"
},
{
"assetId": "XLM",
"currencySymbol": "XLM",
"chain": "XLM",
"availableBalance": "17913.1989002"
},
{
"assetId": "USDC",
"currencySymbol": "USDC",
"chain": "ETH",
"availableBalance": "3773.072882"
},
{
"assetId": "XO_SOL",
"currencySymbol": "XO",
"chain": "SOL",
"availableBalance": "746.982164"
},
{
"assetId": "DOGE",
"currencySymbol": "DOGE",
"chain": "DOGE",
"availableBalance": "395.15332812"
}
]
},
"errorResponse": null
}{
"data": {
"balances": [
{
"assetId": "SOL",
"currencySymbol": "SOL",
"chain": "SOL",
"availableBalance": "46.429490974"
}
]
},
"errorResponse": null
}Response Fields
| Field | Type | Description |
|---|---|---|
data | object | Container for the successful response payload. |
data.balances | array | List of balance entries, one per asset. |
data.balances[].assetId | string | Unique asset identifier. Disambiguates the same currency across chains (e.g. USDC, USDC_SOL). Use this as the stable key. |
data.balances[].currencySymbol | string | Display symbol for the currency (e.g. BTC, USDC). Not unique on its own. |
data.balances[].chain | string | Blockchain network the asset is held on (e.g. BTC, ETH, SOL, XRP). |
data.balances[].availableBalance | string | Spendable balance, returned as a decimal string to preserve full precision. |
errorResponse | object | null | null on success. Populated with error details on failure. |
Always parseavailableBalanceas an arbitrary-precision decimalBalances are returned as strings rather than numbers so that no precision is lost in transport or JSON parsing — some assets carry up to 18 decimal places (e.g. ETH, MATIC). Parse these values with a decimal/big-number library, never a native float.
Error Response
On failure, data is null and errorResponse carries the error details:
{
"data": null,
"errorResponse": {
"code": "string",
"message": "string"
}
}Status Codes
| Code | Meaning |
|---|---|
200 | Success. Balance entries returned in data. |
400 | Bad request — invalid or unsupported asset path parameter. |
401 | Missing or invalid authentication credentials. |
403 | Authenticated, but not authorized for this resource. |
404 | Asset or Partner wallet not found. |
500 | Internal server error. |
Notes
- Asset vs. currency: Use
assetId(notcurrencySymbol) as the stable key when reconciling balances. The samecurrencySymbolcan appear on multiple chains — for example,USDCexists asUSDC(Ethereum) andUSDC_SOL(Solana). - Case-insensitive path: The
{asset}path segment is matched case-insensitively. - Numeric precision: Treat all balance values as arbitrary-precision decimals.
Updated 18 days ago
