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

# Get Positions

> Read user's vault positions with current value + historical deposited amount.

Strategy:
1. Try Zerion API — single call returns positions across all supported chains with USD values
2. For vaults Zerion doesn't know about (chain unsupported, new protocols), fall back to RPC
3. For every position, sum historical deposits from our DB for yield computation



## OpenAPI

````yaml https://api.yieldo.xyz/openapi.json get /v1/positions/{user_address}
openapi: 3.1.0
info:
  title: Yieldo API
  description: Cross-chain deposit aggregator for ERC-4626 and custom yield vaults
  version: 1.0.0
servers:
  - url: https://api.yieldo.xyz
    description: Production
security: []
paths:
  /v1/positions/{user_address}:
    get:
      tags:
        - positions
      summary: Get Positions
      description: >-
        Read user's vault positions with current value + historical deposited
        amount.


        Strategy:

        1. Try Zerion API — single call returns positions across all supported
        chains with USD values

        2. For vaults Zerion doesn't know about (chain unsupported, new
        protocols), fall back to RPC

        3. For every position, sum historical deposits from our DB for yield
        computation
      operationId: get_positions_v1_positions__user_address__get
      parameters:
        - name: user_address
          in: path
          required: true
          schema:
            type: string
            title: User Address
        - name: chain_id
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            title: Chain Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PositionsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    PositionsResponse:
      properties:
        user_address:
          type: string
          title: User Address
        positions:
          items:
            $ref: '#/components/schemas/Position'
          type: array
          title: Positions
      type: object
      required:
        - user_address
        - positions
      title: PositionsResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    Position:
      properties:
        vault_id:
          type: string
          title: Vault Id
        vault_name:
          type: string
          title: Vault Name
        vault_address:
          type: string
          title: Vault Address
        chain_id:
          type: integer
          title: Chain Id
        asset_symbol:
          type: string
          title: Asset Symbol
        asset_address:
          type: string
          title: Asset Address
        asset_decimals:
          type: integer
          title: Asset Decimals
          default: 18
        share_balance:
          type: string
          title: Share Balance
        share_decimals:
          type: integer
          title: Share Decimals
        vault_type:
          type: string
          title: Vault Type
        current_assets:
          anyOf:
            - type: string
            - type: 'null'
          title: Current Assets
        deposited_assets:
          anyOf:
            - type: string
            - type: 'null'
          title: Deposited Assets
        yield_assets:
          anyOf:
            - type: string
            - type: 'null'
          title: Yield Assets
        value_usd:
          anyOf:
            - type: number
            - type: 'null'
          title: Value Usd
        apy:
          anyOf:
            - type: number
            - type: 'null'
          title: Apy
        source:
          type: string
          title: Source
          default: rpc
      type: object
      required:
        - vault_id
        - vault_name
        - vault_address
        - chain_id
        - asset_symbol
        - asset_address
        - share_balance
        - share_decimals
        - vault_type
      title: Position
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError

````