Skip to main content
GET
/
api
/
v1
/
auth
/
balances
/
user
/
{user_id}
Get aggregated USDT and native balances for all user wallets
curl --request GET \
  --url https://crypto.westminister.tech/api/v1/auth/balances/user/{user_id} \
  --header 'Authorization: Bearer <token>'
{
  "user_id": "5c81c005-1c52-4e0d-85e2-862ee1cdd4d0",
  "total_usdt": "977.00000000",
  "balances": [
    {
      "wallet_id": "fae48f4b-9aa3-44db-9011-c4f6b91aeb0e",
      "wallet_address": "TAVFvX9tToo1UJ2h7j47jVkgQjZa8LarY8",
      "network": "tron",
      "usdt_balance": "977.00000000",
      "native_balance": "1993.89360000",
      "last_synced": "2026-01-16T09:15:30Z",
      "is_cached": true
    },
    {
      "wallet_id": "de755c09-27e0-41cd-a791-41c5c858459c",
      "wallet_address": "0x17F4552b0c47F24F88B9569E6305413c5ff5370d",
      "network": "ethereum",
      "usdt_balance": "0.00000000",
      "native_balance": "0.00000000",
      "last_synced": "2026-01-16T09:15:30Z",
      "is_cached": true
    }
  ],
  "synced_at": "2026-01-16T09:20:58Z"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

user_id
string<uuid>
required

User ID to fetch balances for

Query Parameters

networks
string

Comma-separated list of networks to filter by (tron, ethereum). If omitted, returns all networks.

refresh
enum<string>

Force refresh from blockchain. If true, fetches directly from blockchain instead of using DB cache.

Available options:
true,
false
include_pending
enum<string>

Include pending transactions (reserved for future use)

Available options:
true,
false

Response

Balances retrieved successfully

user_id
string<uuid>

User ID

Example:

"5c81c005-1c52-4e0d-85e2-862ee1cdd4d0"

total_usdt
string

Aggregated USDT balance across all wallets

Example:

"977.00000000"

balances
object[]

Array of wallet balances

synced_at
string<date-time>

Timestamp when this response was generated

Example:

"2026-01-16T09:20:58Z"