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

# Polymarket Get Positions

Get current positions (open bets) for a given wallet address on Polymarket. Returns position details including size, average price, current value, and P&L. Optionally filter by market. Ideal for: portfolio tracking, P&L monitoring, position management, automated rebalancing.

![Polymarket Get Positions logo](https://cdn.b3.fun/b3os-icons/polymarket-icon.png)
Catalog action Utility

Get current positions (open bets) for a given wallet address on Polymarket. Returns position details including size, average price, current value, and P&amp;L. Optionally filter by market. Ideal for: portfolio tracking, P&amp;L monitoring, position management, automated rebalancing.


## At a Glance

| Field | Value |
| --- | --- |
| Action ID | `polymarket-get-positions` |
| Category | Utility |
| Connector | Not required |
| Requires gas | No |
| Funds movement | None declared |
| Tags | `polymarket`, `positions`, `portfolio`, `read` |

## Payload Schema

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `address` | `string` | Yes | Wallet address to query positions for. |
| `market` | `string` | No | Filter positions by market condition ID. Mutually exclusive with eventId. |
| `eventId` | `string` | No | Filter positions by event ID. Mutually exclusive with market. |
| `title` | `string` | No | Search positions by market title \(max 100 characters\). |
| `sizeThreshold` | `number` | No | Minimum position size in shares to include \(default: 1\). Set to 0 to include dust positions. |
| `sortBy` | `string` | No | Sort positions by the specified field \(default: TOKENS\). |
| `sortDirection` | `string` | No | Sort direction \(default: DESC\). |
| `limit` | `number` | No | Maximum number of positions to return \(default: 100, max: 500\). |
| `offset` | `number` | No | Number of positions to skip for pagination \(default: 0\). |

## Result Schema

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `positions` | `array` | Yes | Array of position records |
| `count` | `number` | Yes | Number of positions |
| `walletAddress` | `string` | No | The wallet address queried |

## Examples

**Workflow node**

```json
{
  "type": "polymarket-get-positions",
  "payload": {
    "address": "0x0000000000000000000000000000000000000000"
  },
  "children": []
}
```
  **Test with API**

```bash
curl -X POST "https://api.b3os.org/v1/actions/polymarket-get-positions/test" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "inputs": {
    "address": "0x0000000000000000000000000000000000000000"
  }
}'
```

**Use expressions for dynamic values**

Payload fields can use workflow expressions such as `{{$trigger.body.amount}}`, `{{$nodes.fetch.result.price}}`, and `{{$props.asset}}` when the value should come from a trigger, prior node, or reusable workflow prop.