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

# List Portfolio Balances

> List all balances for a specific portfolio.

Use the Prime SDK or CLI to test this endpoint by following the [quickstart](/prime/introduction/quickstart) guide and running with the following examples

<Tabs>
  <Tab title="Java">
    ```java theme={null}
    BalancesService balancesService = PrimeServiceFactory.createBalancesService(client);

    ListPortfolioBalancesRequest request = new ListPortfolioBalancesRequest.Builder("PORTFOLIO_ID_HERE").build();

    ListPortfolioBalancesResponse response = balancesService.listPortfolioBalances(request);
    ```

    For more information, please visit the [Prime Java SDK](https://github.com/coinbase-samples/prime-sdk-java).
  </Tab>

  <Tab title=".NET">
    ```csharp wrap theme={null}
    var balancesService = new BalancesService(client);

    var request = new ListPortfolioBalancesRequest("PORTFOLIO_ID_HERE");
    var response = balancesService.ListPortfolioBalances(request);
    ```

    For more information, please visit the [Prime .NET SDK](https://github.com/coinbase-samples/prime-sdk-dotnet).
  </Tab>

  <Tab title="Go">
    ```go wrap theme={null}
    balancesService := balances.NewBalancesService(client)

    request := &balances.ListPortfolioBalancesRequest{
        PortfolioId: "PORTFOLIO_ID_HERE",
    }

    response, err := balancesService.ListPortfolioBalances(context.Background(), request)
    ```

    For more information, please visit the [Prime Go SDK](https://github.com/coinbase-samples/prime-sdk-go).
  </Tab>

  <Tab title="Python">
    ```python wrap theme={null}
    prime_client = PrimeClient(credentials)

    request = ListPortfolioBalancesRequest(
            portfolio_id="PORTFOLIO_ID_HERE",
    )

    response = prime_client.list_portfolio_balances(request)
    ```

    For more information, please visit the [Prime Python SDK](https://github.com/coinbase-samples/prime-sdk-py).
  </Tab>

  <Tab title="CLI">
    ```bash wrap theme={null}
    primectl list-portfolio-balances --help
    ```

    For more information, please visit the [Prime CLI](https://github.com/coinbase-samples/prime-cli).
  </Tab>

  <Tab title="TS/JS">
    ```typescript wrap theme={null}
    const balancesService = new BalancesService(client);

    balancesService.listPortfolioBalances({
        portfolioId: 'PORTFOLIO_ID_HERE',
        symbols: 'ETH'
    }).then(async (response) => {
        console.log('Balances: ', response);
    })
    ```

    For more information, please visit the [Prime TS SDK](https://github.com/coinbase-samples/prime-sdk-ts).
  </Tab>
</Tabs>


## OpenAPI

````yaml GET /v1/portfolios/{portfolio_id}/balances
openapi: 3.0.1
info:
  title: REST API
  description: >-
    The Coinbase Prime REST API provides programmatic access to trading,
    custody, staking, market data, and account management functionality.
  version: '0.1'
servers:
  - url: https://api.prime.coinbase.com/
security: []
tags:
  - name: PrimeRESTAPI
paths:
  /v1/portfolios/{portfolio_id}/balances:
    get:
      tags:
        - Balances
      summary: List Portfolio Balances
      description: List all balances for a specific portfolio.
      operationId: PrimeRESTAPI_GetPortfolioBalances
      parameters:
        - name: portfolio_id
          in: path
          description: The portfolio ID
          required: true
          schema:
            type: string
        - name: symbols
          in: query
          description: A list of symbols by which to filter the response
          schema:
            type: string
        - name: balance_type
          in: query
          description: |-
            A type by which to filter balances

             - UNKNOWN_BALANCE_TYPE: nil
             - TRADING_BALANCES: Trading balances
             - VAULT_BALANCES: Vault balances
             - TOTAL_BALANCES: Total balances (The sum of vault and trading + prime custody)
             - PRIME_CUSTODY_BALANCES: Prime custody balances
             - UNIFIED_TOTAL_BALANCES: Unified total balance across networks and wallet types (vault + trading + prime custody)
          schema:
            type: string
            enum:
              - TRADING_BALANCES
              - VAULT_BALANCES
              - TOTAL_BALANCES
              - PRIME_CUSTODY_BALANCES
              - UNIFIED_TOTAL_BALANCES
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/coinbase.public_rest_api.GetPortfolioBalancesResponse
components:
  schemas:
    coinbase.public_rest_api.GetPortfolioBalancesResponse:
      type: object
      properties:
        balances:
          type: array
          description: A list of balances.
          items:
            $ref: '#/components/schemas/coinbase.public_rest_api.Balance'
        type:
          $ref: '#/components/schemas/coinbase.public_rest_api.PortfolioBalanceType'
        trading_balances:
          $ref: '#/components/schemas/coinbase.public_rest_api.AggregatedFiatBalance'
        vault_balances:
          $ref: '#/components/schemas/coinbase.public_rest_api.AggregatedFiatBalance'
        prime_custody_balances:
          $ref: '#/components/schemas/coinbase.public_rest_api.AggregatedFiatBalance'
    coinbase.public_rest_api.Balance:
      type: object
      properties:
        symbol:
          type: string
          description: The display symbol for the asset
          example: BTC
        amount:
          type: string
          description: >-
            The total amount in whole units with full precision. Includes the
            `holds` amount.
          example: '109.42'
        holds:
          type: string
          description: >-
            Amount that is currently held in obligation to an open order's
            position or a pending withdrawal
          example: '2'
        bonded_amount:
          type: string
          description: >-
            Amount that is currently locked due to bonding/staking, potentially
            subject to an unbonding period, in whole units
          example: '109.42'
        reserved_amount:
          type: string
          description: >-
            Amount that must remain in the wallet due to the protocol, in whole
            units
          example: '109.42'
        unbonding_amount:
          type: string
          description: Amount that is in the process of unbonding, in whole units
          example: '109.42'
        unvested_amount:
          type: string
          description: Unrealized amount subject to a vesting schedule, in whole units
          example: '109.42'
        pending_rewards_amount:
          type: string
          description: >-
            Pending bonding/staking rewards that have not yet been realized, in
            whole units
          example: '109.42'
        past_rewards_amount:
          type: string
          description: Previously realized bonding/staking rewards, in whole units
          example: '109.42'
        bondable_amount:
          type: string
          description: Amount available for bonding/staking, in whole units
          example: '109.42'
        withdrawable_amount:
          type: string
          description: Amount available to withdraw, in whole units
          example: '109.42'
        fiat_amount:
          type: string
          description: The total amount in fiat unit
          example: '109.42'
        unbondable_amount:
          type: string
          description: Amount available for unbonding/unstaking, in whole units
          example: '109.42'
        claimable_rewards_amount:
          type: string
          description: >-
            ETH staking rewards currently available to claim, in whole units.
            This field is returned only in GetWalletBalance responses for ETH
            wallets. It is omitted or empty for portfolio-level responses and
            for non-ETH assets; use pending_rewards_amount where applicable.
          example: '0.241437903'
    coinbase.public_rest_api.PortfolioBalanceType:
      title: |-
        - UNKNOWN_BALANCE_TYPE: nil
         - TRADING_BALANCES: Trading balances
         - VAULT_BALANCES: Vault balances
         - TOTAL_BALANCES: Total balances (The sum of vault and trading + prime custody)
         - PRIME_CUSTODY_BALANCES: Prime custody balances
         - UNIFIED_TOTAL_BALANCES: Unified total balance across networks and wallet types (vault + trading + prime custody)
      type: string
      enum:
        - TRADING_BALANCES
        - VAULT_BALANCES
        - TOTAL_BALANCES
        - PRIME_CUSTODY_BALANCES
        - UNIFIED_TOTAL_BALANCES
    coinbase.public_rest_api.AggregatedFiatBalance:
      type: object
      properties:
        total:
          type: string
        holds:
          type: string

````