---
title: "Get Current Positions"
method: GET
path: "/api/workflows/polymarket/getCurrentPositions"
---

# Get Current Positions

`GET /api/workflows/polymarket/getCurrentPositions`

Retrieve all current open positions for a specific user.

## Query parameters

- `userId` string, required — Address type - can be EvmAddress, HyperCoreAddress, SolanaAddress, or AltVmAddress.
- `proxyWallet` string — Address type - can be EvmAddress, HyperCoreAddress, SolanaAddress, or AltVmAddress.
- `redeemable` boolean
- `mergeable` boolean

## Response `200`

Array of current positions

- Position[]
  - `proxyWallet` string, required — Proxy wallet address
  - `asset` string, required — Asset token ID
  - `conditionId` string, required — Condition ID (0x-prefixed 64-hex string)
  - `size` number, float, required — Position size
  - `avgPrice` number, float, required — Average purchase price
  - `initialValue` number, float, required — Initial position value
  - `currentValue` number, float, required — Current position value
  - `cashPnl` number, float, required — Cash profit/loss
  - `percentPnl` number, float, required — Percentage profit/loss
  - `totalBought` number, float, required — Total amount bought
  - `realizedPnl` number, float, required — Realized profit/loss
  - `percentRealizedPnl` number, float, required — Percentage realized profit/loss
  - `curPrice` number, float, required — Current price
  - `redeemable` boolean, required — Whether position is redeemable
  - `mergeable` boolean, required — Whether position is mergeable
  - `title` string, required — Market title
  - `slug` string, required — Market slug
  - `icon` string, required — Market icon URL
  - `eventId` string — Event ID (optional field)
  - `eventSlug` string, required — Event slug
  - `outcome` string, required — Outcome name
  - `outcomeIndex` integer, required — Outcome index
  - `oppositeOutcome` string, required — Opposite outcome name
  - `oppositeAsset` string, required — Opposite asset token ID
  - `endDate` string, required — Market end date
  - `negativeRisk` boolean, required — Whether position uses negative risk

## Other responses

- `400` — Bad request due to missing or invalid parameters
- `401` — Unauthorized - Invalid or missing API key
- `500` — Internal server error

---

[API](https://skmtc.dev/swaps/apis/prediction-market-data-api.md) · [All operations](https://skmtc.dev/swaps/apis/prediction-market-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/swaps/prediction-market-data-api/revisions/03e917d60cb7/schema)
