import requests
url = "https://api.example.com/api/v1/wallets/balances"
response = requests.get(url)
print(response.text)curl --request GET \
--url https://api.example.com/api/v1/wallets/balances{
"result": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"wallet_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"cobo_wallet_id": "<string>",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"address": "<string>",
"token_id": "<string>",
"amount": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"chain_id": "<string>",
"chain_type": "<string>",
"compatible_chains": [
"<string>"
],
"total": "<string>",
"pending": "<string>",
"locked": "<string>",
"balance_updated_at": "2023-11-07T05:31:56Z"
}
],
"success": true,
"suggestion": "",
"message": "",
"meta": {
"total": 123,
"offset": 123,
"limit": 123,
"has_more": true,
"after": "<string>",
"before": "<string>"
}
}{
"success": false,
"error": {
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}
}List token balances
This operation retrieves cached token balances across all wallets accessible to the authenticated principal. Balances are synchronized from on-chain data and may be slightly delayed. You can filter by wallet, chain, address, or token. Use cursor-based pagination with after/before. Set force_refresh=true together with address to force a fresh sync from on-chain before returning.
import requests
url = "https://api.example.com/api/v1/wallets/balances"
response = requests.get(url)
print(response.text)curl --request GET \
--url https://api.example.com/api/v1/wallets/balances{
"result": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"wallet_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"cobo_wallet_id": "<string>",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"address": "<string>",
"token_id": "<string>",
"amount": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"chain_id": "<string>",
"chain_type": "<string>",
"compatible_chains": [
"<string>"
],
"total": "<string>",
"pending": "<string>",
"locked": "<string>",
"balance_updated_at": "2023-11-07T05:31:56Z"
}
],
"success": true,
"suggestion": "",
"message": "",
"meta": {
"total": 123,
"offset": 123,
"limit": 123,
"has_more": true,
"after": "<string>",
"before": "<string>"
}
}{
"success": false,
"error": {
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}
}Headers
Query Parameters
Filter balances by wallet ID. The wallet ID can be retrieved by calling the List all wallets operation.
Filter balances by chain ID (for example, SETH, BASE_ETH).
Filter balances by on-chain address.
Filter balances by token ID (for example, SETH, SETH_USDC).
When true and address is provided, force a fresh sync of balances from on-chain before returning results.
The maximum number of items to return. Range: [1, 200].
1 <= x <= 200A cursor for forward pagination. Pass the after value from a previous response to retrieve the next page.
A cursor for backward pagination. Pass the before value from a previous response to retrieve the preceding page.
Deprecated. Use after/before cursors instead.
0 <= x <= 9223372036854776000Response
Successful Response
Show child attributes
Show child attributes
Pagination metadata for list responses.
Supports both legacy offset-based and cursor-based pagination.
Cursor fields (has_more, after, before) are populated for
cursor-paginated endpoints. Legacy fields (offset, limit) are
populated when the caller uses the deprecated offset parameter.
Show child attributes
Show child attributes