---
title: "Get account balance"
method: POST
path: "/v1/balances"
tags: ["Portfolio"]
---

# Get account balance

`POST /v1/balances`

Retrieve account balance and margin for one provider. Use providerId or providerIds with exactly one provider (not multiple).

## Request body

- BalancesRequestDto
  - `providerId` 'hyperliquid' | 'hyperliquid-xyz' — Single provider identifier. At least one of providerId or providerIds must be provided.
  - `providerIds` string[] — Single provider only (one CSV value, one repeated param, or a one-element JSON array). At least one of providerId or providerIds must be provided. Must not combine with a different providerId.
  - `address` string, required — User wallet address

## Response `200`

Account balance

- BalanceDto
  - `providerId` string, required — Provider ID
  - `collateral` TokenDto, required
    - `address` string — Token contract address
    - `symbol` string, required — Token symbol
    - `name` string, required — Token name
    - `decimals` number, required — Token decimals
    - `logoURI` string — Token logo URI
  - `accountValue` number, required — Total account value in collateral asset
  - `usedMargin` number, required — Margin used by positions in collateral asset
  - `availableBalance` number, required — Available balance for new positions in collateral asset
  - `unrealizedPnl` number, required — Total price PnL across all positions in collateral asset (excludes funding)
  - `unifiedAccountMode` boolean — Whether the account currently has Unified Account Mode enabled (collateral unified across venues). Only present for providers that support it (Hyperliquid).

## Other responses

- `401` — Invalid or missing API key
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/yield/apis/yield-xyz-api.md) · [All operations](https://skmtc.net/yield/apis/yield-xyz-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/yield/yield-xyz-api/versions/acfa80015ca5/schema)
