---
title: "Get open positions"
method: GET
path: "/api/v1/market-data/positions"
tags: ["get-open-positions"]
---

# Get open positions

`GET /api/v1/market-data/positions`

Returns a paginated list of currently open outcome token positions for a wallet (current_quantity > 0 AND is_claimed = FALSE). Includes unrealised PnL, cost basis, current value, held quantity, last block timestamp, early-resolution eligibility, market lifecycle status (same values as /market-data/status), and outcome details. Optionally filter by market or question ID.

## Query parameters

- `user` string, required
- `market` string
- `question_id` string
- `order` string
- `ascending` boolean
- `limit` integer
- `offset` integer

## Response `200`

OK

- FtMarketServiceV2PkgApiPaginatedResponseInternalHandlerPositionResponse
  - `data` InternalHandlerPositionResponse[]
    - `avgPrice` number
    - `cashPnl` number
    - `costBasis` number
    - `curPrice` number
    - `currentValue` number — CurrentValue is the current market value of the position: size × current price.
    - `dispute` InternalHandlerPositionDispute
      - `deadlineAt` string
      - `isWindowOpen` boolean
      - `latestResolveId` integer
      - `resolvedAt` string
      - `viewerDisputeId` integer
      - `windowHours` integer
    - `heldQuantity` number
    - `isClaimed` boolean
    - `isFinalized` boolean
    - `isWinner` boolean
    - `lastBlockTimestamp` integer
    - `market` InternalHandlerPositionMarket
      - `collateralDecimals` integer
      - `startDate` string
      - `status` string — Status is the market lifecycle status: not_started, live, pending_resolution, resolved, finalised, disabled, unknown. Same values as GET /market-data/status. Populated on /positions only; omitted on /closed-positions.
    - `marketAddress` string
    - `outcome` InternalHandlerPositionOutcome
      - `image` string
      - `index` integer
      - `mintedQuantity` number
      - `name` string
      - `payout` number
      - `symbol` string
    - `percentPnl` number
    - `question` InternalHandlerPositionQuestion
      - `description` string
      - `endDate` string
      - `image` string
      - `isEarlyResolutionEligible` boolean
      - `questionId` string
      - `resolvedAnswer` string
      - `title` string
      - `winningOutcomes` string
    - `questionId` string
    - `realizedPnl` number
    - `size` number
    - `tokenId` string
    - `userAddress` string
  - `pagination` FtMarketServiceV2PkgApiPagination
    - `hasMore` boolean
    - `totalResults` integer

## Other responses

- `400` — Bad Request
- `500` — Internal Server Error

---

[API](https://skmtc.dev/42/apis/fortytwo-read-api.md) · [All operations](https://skmtc.dev/42/apis/fortytwo-read-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/42/fortytwo-read-api/revisions/660740bda403/schema)
