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

# User Holdings

> Get a user's position in the market

<Note>
  This is a smart contract view function. The curl example shown is for illustration. To call this function, use web3 libraries (ethers.js, viem, web3.py) or JSON-RPC directly.
</Note>


## OpenAPI

````yaml GET /market/{marketAddress}/userHoldings/{userAddress}
openapi: 3.0.3
info:
  title: Based Protocol Smart Contracts API
  description: >-
    OpenAPI specification for the Based Protocol - a bidirectional perpetual
    markets platform built for EVM blockchains. The protocol allows users to
    create binary markets where participants can take "Based" (positive) or
    "Cringe" (negative) positions using the Based Market mechanism.
  version: 1.0.0
  license:
    name: LicenseRef-Proprietary
servers:
  - url: https://mainnet.base.org
    description: Base Mainnet (default RPC endpoint)
security: []
tags:
  - name: BasedProtocol
    description: Operations related to the main protocol contract
  - name: BasedMarket
    description: Operations for individual markets
  - name: BasedMarketRouter
    description: Router operations with safety checks and deadline protection
paths:
  /market/{marketAddress}/userHoldings/{userAddress}:
    get:
      tags:
        - BasedMarket
      summary: Get user holdings
      description: Get a user's position in the market
      operationId: getUserHoldings
      parameters:
        - name: marketAddress
          in: path
          required: true
          schema:
            type: string
            pattern: ^0x[a-fA-F0-9]{40}$
          description: Address of the market contract
        - name: userAddress
          in: path
          required: true
          schema:
            type: string
            pattern: ^0x[a-fA-F0-9]{40}$
          description: Address of the user
      responses:
        '200':
          description: User holdings retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserHoldingsResponse'
components:
  schemas:
    UserHoldingsResponse:
      type: object
      properties:
        holdings:
          type: integer
          format: int64
          description: User holdings (positive for Based, negative for Cringe)
        positionType:
          type: string
          enum:
            - based
            - cringe
            - none
          description: Type of position held
        absoluteAmount:
          type: integer
          format: uint64
          description: Absolute amount of tokens held

````