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

# Get User Portfolio

> Retrieves the token balances across all supported chains for a user's abstracted account



## OpenAPI

````yaml https://raw.githubusercontent.com/rhinestonewtf/openapi/refs/heads/main/orchestrator.json get /accounts/{userAddress}/portfolio
openapi: 3.0.2
info:
  title: Rhinestone Orchestrator API
  version: 1.0.0
servers:
  - url: https://v1.orchestrator.rhinestone.dev
security: []
paths:
  /accounts/{userAddress}/portfolio:
    get:
      tags:
        - Portfolio
      summary: Get User Portfolio
      description: >-
        Retrieves the token balances across all supported chains for a user's
        abstracted account
      parameters:
        - name: userAddress
          in: path
          required: true
          schema:
            type: string
            example: '0x579d5631f76126991c00fb8fe5467fa9d49e5f6a'
          description: Ethereum address of the user account
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
            description: Rhinestone API key
        - name: x-api-version
          in: header
          schema:
            type: string
            pattern: ^\d{4}-\d{2}\.[a-z0-9]+$
            description: >-
              API version (YYYY-MM.name). Will become required in a future
              release.
            example: 2026-01.alps
        - name: chainIds
          in: query
          description: Comma-separated list of chain IDs to filter by
          schema:
            type: string
            example: 1,10,137
        - name: tokens
          in: query
          description: Comma-separated list of chain:token pairs to filter by
          schema:
            type: string
            example: >-
              1:0xa0B86A33e6441B8C4505B8C4505b8C4505B8C4505B8C450,10:0xb0b86a33E6441b8C4505b8C4505b8C4505B8C4505B8C450
        - name: filterEmpty
          in: query
          description: Whether to filter out tokens with zero balance
          schema:
            default: 'false'
            type: string
            example: 'true'
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  portfolio:
                    type: array
                    items:
                      type: object
                      properties:
                        tokenName:
                          type: string
                          description: Short name (symbol) of the token
                          example: USDC
                        tokenDecimals:
                          type: number
                          minimum: 0
                          description: Number of decimal places for the token
                          example: 6
                        balance:
                          type: object
                          properties:
                            locked:
                              type: integer
                              format: int64
                              description: >-
                                Total balance across all chains (as string to
                                handle BigInt)
                              example: '1000000'
                            unlocked:
                              type: integer
                              format: int64
                              description: >-
                                Total balance across all chains (as string to
                                handle BigInt)
                              example: '1000000'
                          required:
                            - locked
                            - unlocked
                        tokenChainBalance:
                          type: array
                          items:
                            type: object
                            properties:
                              chainId:
                                type: number
                                minimum: 0
                                description: Chain ID where the token balance exists
                                example: 1
                              tokenAddress:
                                type: string
                                description: Token contract address on this chain
                                example: '0xa0B86A33e6441B8C4505B8C4505b8C4505B8C450'
                              balance:
                                type: object
                                properties:
                                  locked:
                                    type: integer
                                    format: int64
                                    description: >-
                                      Token balance on this specific chain (as
                                      string to handle BigInt)
                                    example: '500000'
                                  unlocked:
                                    type: integer
                                    format: int64
                                    description: >-
                                      Token balance on this specific chain (as
                                      string to handle BigInt)
                                    example: '500000'
                                required:
                                  - locked
                                  - unlocked
                            required:
                              - chainId
                              - tokenAddress
                              - balance
                          description: Array of token balances per chain
                      required:
                        - tokenName
                        - tokenDecimals
                        - balance
                        - tokenChainBalance
                    description: Array of token portfolio entries
                required:
                  - portfolio
                description: Successfully retrieved user portfolio
              examples:
                Single Token:
                  summary: Portfolio with single token
                  value:
                    portfolio:
                      - tokenName: USDC
                        tokenDecimals: 6
                        balance:
                          locked: '1000000000000000000'
                          unlocked: '1000000000000000000'
                        tokenChainBalance:
                          - chainId: 10
                            tokenAddress: '0x0b2c639c533813f4aa9d7837caf62653d097ff85'
                            balance:
                              locked: '1000000000000000000'
                              unlocked: '1000000000000000000'
                Multiple Tokens:
                  summary: Portfolio with multiple tokens across chains
                  value:
                    portfolio:
                      - tokenName: USDC
                        tokenDecimals: 6
                        balance:
                          locked: '2000000'
                          unlocked: '5000000'
                        tokenChainBalance:
                          - chainId: 10
                            tokenAddress: '0x0b2c639c533813f4aa9d7837caf62653d097ff85'
                            balance:
                              locked: '1000000'
                              unlocked: '2000000'
                          - chainId: 8453
                            tokenAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
                            balance:
                              locked: '1000000'
                              unlocked: '3000000'
                      - tokenName: WETH
                        tokenDecimals: 18
                        balance:
                          locked: '2000000000000000000'
                          unlocked: '3000000000000000000'
                        tokenChainBalance:
                          - chainId: 10
                            tokenAddress: '0x4200000000000000000000000000000000000006'
                            balance:
                              locked: '1000000000000000000'
                              unlocked: '2000000000000000000'
                          - chainId: 8453
                            tokenAddress: '0x4200000000000000000000000000000000000006'
                            balance:
                              locked: '1000000000000000000'
                              unlocked: '1000000000000000000'
        '400':
          description: '400'
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        message:
                          type: string
                          description: Error message
                          example: Invalid input
                        context:
                          nullable: true
                          description: Additional error context
                      required:
                        - message
                  traceId:
                    type: string
                    description: Trace ID
                    example: eb0ba4657f36364b33ec565c15f98368
                required:
                  - errors
                  - traceId
                description: Invalid request parameters
        '500':
          description: '500'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message describing the server-side issue
                    example: An unknown error occurred
                required:
                  - error
                description: Server error

````