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

# Get open positions

> This endpoint returns the size and average entry price of all open positions in Futures
contracts. This includes Futures contracts that have matured but have not yet been settled.



## OpenAPI

````yaml /openapi/futures-rest.yaml get /openpositions
openapi: 3.1.0
info:
  title: Kraken Futures Trading API
  version: v3
  description: Market data and order management endpoints.
servers:
  - url: https://futures.kraken.com/derivatives/api/v3
    description: Kraken Futures
security: []
tags:
  - name: Market Data
  - name: Instrument Details
    description: >-
      - The `/instruments/status` endpoint provides a list of statuses for all
      instruments.

      - The `/instruments/{symbol}/status` endpoint provides the status of a
      single instrument.
  - name: Order Management
  - name: Multi-Collateral
    description: Endpoints pertaining to the multi-collateral (MC) futures markets.
  - name: Account Information
  - name: Assignment Program
  - name: Fee Schedules
    description: >-
      **DEPRECATED** — Effective 2026-06-22, the fee values returned by these

      endpoints no longer reflect the fees actually charged on Futures trades.

      Futures fee calculation has been migrated to a centralised Kraken fee

      service.


      To determine the fee rate applied to your trades, use the Spot

      [`GetTradeVolume`](https://docs.kraken.com/api/docs/rest-api/get-trade-volume)

      endpoint authenticated with a Spot API key.
  - name: General
  - name: Historical Data
  - name: Historical Funding Rates
  - name: Trading Settings
  - name: Subaccounts
  - name: Transfers
  - name: RFQs
paths:
  /openpositions:
    get:
      tags:
        - Account Information
      summary: Get open positions
      description: >-
        This endpoint returns the size and average entry price of all open
        positions in Futures

        contracts. This includes Futures contracts that have matured but have
        not yet been settled.
      operationId: getOpenPositions
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                oneOf:
                  - title: Success Response
                    allOf:
                      - type: object
                        properties:
                          openPositions:
                            type: array
                            items:
                              $ref: '#/components/schemas/OpenPositionJson'
                            description: >-
                              A list containing structures with information on
                              open positions.


                              The list is sorted descending by fillTime.
                        required:
                          - openPositions
                      - $ref: '#/components/schemas/SuccessResponse'
                  - $ref: '#/components/schemas/ErrorResponse'
              examples:
                success:
                  $ref: '#/components/examples/OpenPositionsSuccessExample'
                failure:
                  $ref: '#/components/examples/OpenPositionsFailureExample'
      security:
        - general-api-key-read-only: []
          authent: []
components:
  schemas:
    OpenPositionJson:
      type: object
      properties:
        symbol:
          type: string
          description: The symbol of the Futures.
        side:
          type: string
          enum:
            - long
            - short
          x-exhaustive: true
          description: The direction of the position.
        size:
          format: double
          type: number
          description: The size of the position.
        price:
          format: double
          type: number
          description: The average price at which the position was entered into.
        fillTime:
          type: string
          description: >-
            The date and time the position was entered into (Deprecated field,
            fills endpoint for

            fill time is recommended).
        unrealizedFunding:
          type: number
          format: double
          description: Unrealised funding on the position.
          nullable: true
        pnlCurrency:
          type: string
          enum:
            - USD
            - EUR
            - GBP
            - USDC
            - USDT
            - BTC
            - ETH
          description: 'Selected pnl currency for the position (default: USD)'
          nullable: true
        maxFixedLeverage:
          type: number
          format: double
          description: Max leverage selected for isolated position.
          nullable: true
      required:
        - symbol
        - side
        - size
        - price
        - fillTime
        - unrealizedFunding
    SuccessResponse:
      title: Success Response
      allOf:
        - $ref: '#/components/schemas/ResultSuccess'
        - $ref: '#/components/schemas/ServerTime'
    ErrorResponse:
      allOf:
        - title: Errors
          type: object
          properties:
            errors:
              type: array
              items:
                $ref: '#/components/schemas/Error'
            error:
              $ref: '#/components/schemas/Error'
          required:
            - error
        - $ref: '#/components/schemas/ResultError'
        - $ref: '#/components/schemas/ServerTime'
    ResultSuccess:
      type: object
      properties:
        result:
          type: string
          enum:
            - success
          example: success
      required:
        - result
    ServerTime:
      type: object
      properties:
        serverTime:
          description: Server time in Coordinated Universal Time (UTC)
          type: string
          format: date-time
          example: '2020-08-27T17:03:33.196Z'
      required:
        - serverTime
    Error:
      type: string
      description: |-
        Error description.

          - `accountInactive`: The Futures account the request refers to is inactive
          - `apiLimitExceeded`: The API limit for the calling IP address has been exceeded
          - `authenticationError`: The request could not be authenticated
          - `insufficientFunds`: The amount requested for transfer is below the amount of funds available
          - `invalidAccount`: The Futures account the transfer request refers to is invalid
          - `invalidAmount`: The amount the transfer request refers to is invalid
          - `invalidArgument`: One or more arguments provided are invalid
          - `invalidUnit`: The unit the transfer request refers to is invalid
          - `Json Parse Error`: The request failed to pass valid JSON as an argument
          - `marketUnavailable`: The market is currently unavailable
          - `nonceBelowThreshold`: The provided nonce is below the threshold
          - `nonceDuplicate`: The provided nonce is a duplicate as it has been used in a previous request
          - `notFound`: The requested information could not be found
          - `requiredArgumentMissing`: One or more required arguments are missing
          - `Server Error`: There was an error processing the request
          - `Unavailable`: The endpoint being called is unavailable
          - `unknownError`: An unknown error has occurred
      enum:
        - accountInactive
        - apiLimitExceeded
        - authenticationError
        - insufficientFunds
        - invalidAccount
        - invalidAmount
        - invalidArgument
        - invalidUnit
        - Json Parse Error
        - marketUnavailable
        - nonceBelowThreshold
        - nonceDuplicate
        - notFound
        - requiredArgumentMissing
        - Server Error
        - Unavailable
        - unknownError
    ResultError:
      type: object
      properties:
        result:
          type: string
          enum:
            - error
          example: error
      required:
        - result
  examples:
    OpenPositionsSuccessExample:
      value:
        result: success
        openPositions:
          - side: short
            symbol: PF_XBTUSD
            price: 9392.749993345933
            fillTime: '2020-07-22T14:39:12.376Z'
            size: 10000
            unrealizedFunding: 0.00001045432180096817
          - side: long
            symbol: FI_XBTUSD_201225
            price: 9399.749966754434
            fillTime: '2020-07-22T14:39:12.376Z'
            size: 20000
          - side: long
            symbol: PF_DEFIUSD
            price: 570
            fillTime: '2022-04-20T19:15:25.438Z'
            size: 1
            unrealizedFunding: -0.0073428045972263895
            pnlCurrency: BTC
            maxFixedLeverage: 5
        serverTime: '2020-07-22T14:39:12.376Z'
    OpenPositionsFailureExample:
      value:
        result: error
        serverTime: '2016-02-25T09:45:53.818Z'
        error: apiLimitExceeded
  securitySchemes:
    general-api-key-read-only:
      type: apiKey
      description: General API key with at least **read-only** access
      in: header
      name: APIKey
      x-inlineDescription: true
    authent:
      type: apiKey
      description: Authentication string
      in: header
      name: Authent
      x-inlineDescription: true

````