> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hypermid.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Wallet balances

> Token balances for one wallet, across every supported chain.

The address's ecosystem is detected from its format, so one endpoint covers EVM, Solana, Bitcoin, Sui, TON, Tron and NEAR addresses — you do not tell us which it is. Chains are queried in parallel.

Pass `chainIds` (comma-separated) to scope the lookup and keep the response small; omit it for everything.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/balances
openapi: 3.1.0
info:
  title: Hypermid API
  description: >-
    Price and execute cross-chain swaps, read reference data and payer balances,
    and quote the fiat on-ramp. Quotes return an executable `transactionRequest`
    your frontend submits directly, so Hypermid never custodies the funds.


    Payments — `checkout`, `deposit`, and `withdrawal` sessions — and
    payment-link management are available through these merchant REST endpoints
    and the [`@hypermid/sdk`](https://docs.hypermid.io/sdk/payments) package.
    Payer-facing routes are intentionally omitted.
  version: 0.2.0
  contact: {}
servers:
  - url: https://server.hypermid.io
    description: Production — live keys (sk_live_…)
  - url: https://server.hypermid.io
    description: Sandbox — test keys (sk_test_…), testnets only
security: []
tags:
  - name: payments
    description: >-
      Create and read payment sessions, manage webhooks, and configure payout
      addresses with a secret partner key.
  - name: payment links
    description: >-
      Create, read, version, and revoke reusable checkout payment links with a
      secret partner key.
  - name: quote
    description: >-
      Route pricing for the orchestration product. Returns an executable
      `transactionRequest` your frontend submits directly, so Hypermid never
      custodies the funds.
  - name: status
    description: >-
      Resolve the state of a submitted swap or transfer. Two endpoints with
      different audiences — see each one's description before choosing.
  - name: catalog
    description: >-
      Reference data an integration needs to render a picker: supported chains
      and tokens, prices, routable connections, and fee configuration. A sandbox
      key sees only testnets here.
  - name: balances
    description: Read a payer wallet's token balances across supported chains.
  - name: onramp
    description: >-
      The fiat rail — card and bank payment for crypto, quoted and settled
      through our onramp partner. Requires per-partner onramp credentials on
      your account.
  - name: webhooks
    description: >-
      Events Hypermid sends TO you when a session completes. These are requests
      we make to your server, not endpoints you call.
paths:
  /v1/balances:
    get:
      tags:
        - balances
      summary: Wallet balances
      description: >-
        Token balances for one wallet, across every supported chain.


        The address's ecosystem is detected from its format, so one endpoint
        covers EVM, Solana, Bitcoin, Sui, TON, Tron and NEAR addresses — you do
        not tell us which it is. Chains are queried in parallel.


        Pass `chainIds` (comma-separated) to scope the lookup and keep the
        response small; omit it for everything.
      operationId: BalancesController_getBalances
      parameters:
        - name: address
          required: true
          in: query
          description: Wallet address (EVM / Solana / BTC / Sui / TON / Tron / NEAR).
          schema:
            type: string
        - name: chainIds
          required: false
          in: query
          description: >-
            Comma-separated chainIds to scope the lookup. Omit for all supported
            chains.
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalancesResponseDto'
components:
  schemas:
    BalancesResponseDto:
      type: object
      properties:
        address:
          type: string
          description: >-
            The wallet these balances belong to — echoes the address you
            queried.
        totalBalanceUSD:
          type: string
          description: Sum of priced holdings, "1234.56".
        balances:
          type: object
          description: Balances keyed by chainId (string).
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/TokenBalanceDto'
        chainMeta:
          type: object
          description: Per-chain fetch status keyed by chainId.
          additionalProperties: true
        cachedAt:
          type: string
          description: >-
            When this balance snapshot was taken (ISO 8601). Balances are cached
            briefly.
        cacheHit:
          type: boolean
          description: True if served from cache rather than freshly read from chain.
        priceObservedAt:
          type: string
          description: >-
            When the token-price catalogue used for `priceUSD` was observed (ISO
            8601).
        priceValidUntil:
          type: string
          description: >-
            After this instant clients must stop displaying USD conversions from
            `priceUSD` (ISO 8601).
      required:
        - address
        - totalBalanceUSD
        - balances
    TokenBalanceDto:
      type: object
      properties:
        chainId:
          type: number
          description: Chain this balance is on.
        address:
          type: string
          description: Token contract address. The native gas asset uses the zero address.
        symbol:
          type: string
          description: Token symbol, for display.
        name:
          type: string
          description: Full token name.
        decimals:
          type: number
          description: Decimal places — divide `balance` by 10^decimals for a human amount.
        balance:
          type: string
          description: Raw balance in the token's smallest unit, as a decimal string.
        priceUSD:
          type: number
          description: Indicative USD unit price. Display only; never settle against it.
        balanceUSD:
          type: number
          description: Indicative USD value of the balance. Display only.
        logoURI:
          type: string
          description: Token icon URL, if one is known.
        providers:
          description: Which catalog sources listed this token. Diagnostic.
          type: array
          items:
            type: string
        tier:
          type: string
          enum:
            - priced
            - untracked
            - dust
          description: Curation tier, used to rank tokens in a picker.
      required:
        - chainId
        - address
        - symbol
        - name
        - decimals
        - balance
        - priceUSD
        - balanceUSD
        - logoURI
        - providers

````