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

# Get Combo Closed Positions

> Returns all closed combo (parlay) positions for a wallet — positions where the combo has fully resolved or been sold, with final PnL and leg details.



## OpenAPI

````yaml openapi.json GET /v1/trader/{address}/combo-positions/closed
openapi: 3.1.0
info:
  title: Orbscan Open API
  description: >-
    REST endpoints for Polymarket trader activity, deposits & withdrawals, and
    per-transaction action details, sourced directly from on-chain data.
  version: 1.0.0
servers:
  - url: https://api.orbscan.com
    description: Production
security:
  - bearerAuth: []
paths:
  /v1/trader/{address}/combo-positions/closed:
    get:
      summary: Get combo closed positions
      description: >-
        Returns the trader's resolved / closed combo (parlay) positions, ordered
        by most recent trade descending.
      operationId: getComboClosedPositions
      parameters:
        - name: address
          in: path
          required: true
          description: Trader address, `0x` + 40 hex chars.
          schema:
            type: string
            example: '0xb88a7733e9abb384f64579970ae17cecb8588cce'
        - name: limit
          in: query
          required: false
          description: Page size. Defaults to 20, maximum 100.
          schema:
            type: integer
            default: 20
            maximum: 100
            minimum: 1
        - name: cursor
          in: query
          required: false
          description: >-
            Pagination cursor from the previous response's `nextCursor`. Omit
            for the first page.
          schema:
            type: string
        - name: marketIds
          in: query
          required: false
          description: Comma-separated market IDs to filter to (e.g. `?marketIds=1,2`).
          schema:
            type: string
            example: 3619229,3671211
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: OK
                  status_code:
                    type: string
                    example: '1'
                  data:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          $ref: '#/components/schemas/ComboPosition'
                      nextCursor:
                        type: string
                        nullable: true
              example:
                message: OK
                status_code: '1'
                data:
                  items:
                    - comboPositionId: >-
                        1806159698331040881191422092150869298275778236938264756488486412349341696001
                      comboConditionId: >-
                        0x03fe400a9f29d9d3469b8a762cfbca69440000000000000000000000000000
                      amount: '0'
                      avgPrice: '0.978552'
                      realizedPnl: '2.860071'
                      totalBought: '133.349119'
                      balance: '0'
                      balanceTimestamp: 1787031040
                      totalFee: '0'
                      recentTradeTime: 1787031040
                      firstTradeTime: 1787023944
                      currentPrice: '0'
                      unrealizedPnl: '0'
                      totalPnl: '2.860071'
                      percentPnl: '2.19'
                      legs:
                        - comboPositionId: >-
                            1806159698331040881191422092150869298275778236938264756488486412349341696001
                          legIndex: 0
                          legPositionId: >-
                            458130169191096182666148879069006345232346455474071968405503421352008220672
                          marketId: '3619229'
                          marketTitle: 'Prague 2: Max Hans Rehberg vs Jakub Nicod'
                          logo: >-
                            https://polymarket-upload.s3.us-east-2.amazonaws.com/atp-tour-b4390c4fb8.jpg
                          marketSlug: atp-rehberg-nicod-2026-08-17
                          eventSlug: atp-rehberg-nicod-2026-08-17
                          outcomeIndex: 0
                          outcome: Max Hans Rehberg
                          outcomePrice: '0.69'
                          resolved: false
                  nextCursor: null
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    ComboPosition:
      type: object
      properties:
        comboPositionId:
          type: string
          description: Combo position ID.
        comboConditionId:
          type: string
          description: Combo condition ID.
        amount:
          type: string
          description: Amount, in USDC.
        avgPrice:
          type: string
          description: Average entry price, 0–1 scale.
        realizedPnl:
          type: string
          description: Realized PnL, in USD.
        totalBought:
          type: string
          description: Cumulative shares bought.
        balance:
          type: string
          description: Remaining position balance (shares).
        balanceTimestamp:
          type: integer
          format: int64
          description: Balance snapshot timestamp (Unix seconds).
        totalFee:
          type: string
          description: Total fees paid, in USDC.
        recentTradeTime:
          type: integer
          format: int64
          description: Most recent trade timestamp (Unix seconds).
        firstTradeTime:
          type: integer
          format: int64
          description: First trade timestamp (Unix seconds).
        currentPrice:
          type: string
          description: Current combo price, 0–1 scale.
        unrealizedPnl:
          type: string
          description: Unrealized PnL, in USD.
        totalPnl:
          type: string
          description: Realized + unrealized PnL, in USD.
        percentPnl:
          type: string
          nullable: true
          description: PnL as a percentage of cost basis.
        legs:
          type: array
          description: Legs of the combo position.
          items:
            $ref: '#/components/schemas/ComboLeg'
    ComboLeg:
      type: object
      properties:
        comboPositionId:
          type: string
          description: Combo position ID.
        legIndex:
          type: integer
          description: Leg index.
        legPositionId:
          type: string
          description: Leg position ID.
        marketId:
          type: string
          description: Market ID.
        marketTitle:
          type: string
          description: Market title.
        logo:
          type: string
          description: Market logo URL.
        marketSlug:
          type: string
          description: Market slug.
        eventSlug:
          type: string
          description: Event slug.
        outcomeIndex:
          type: integer
          description: Outcome index.
        outcome:
          type: string
          description: >-
            Outcome label. Varies by market — e.g. `Yes` / `No`, or an outcome
            name for named markets.
          example: 'Yes'
        outcomePrice:
          type: string
          description: Leg outcome price, 0–1 scale.
        resolved:
          type: boolean
          description: Whether the leg market is resolved.
  responses:
    Unauthorized:
      description: The API key is missing or invalid.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Missing or invalid API key
              status_code:
                type: string
                example: '0'
              data:
                type: 'null'
          example:
            message: Missing or invalid API key
            status_code: '0'
            data: null
  securitySchemes:
    bearerAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Pass your Orbscan API key as a Bearer token, formatted as `Bearer
        <your_api_key>`.

````