# Polymarket Market Positions

> Polymarket Market Positions is a paid API for AI agents from AIsa MPP Data APIs at api.aisa.one, paid per call via MPP, $0.012/call, status unknown (last checked 2026-10-18).

Returns all trader positions for a specific Polymarket prediction market, optionally filtered to a single user's wallet address.

## Facts

- Endpoint: GET https://api.aisa.one/apis/v1/polymarket/v1/market-positions?utm_source=zero.xyz
- Price: $0.012/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-18
- Activations on Zero: 0
- Provider: AIsa MPP Data APIs
- Website: https://aisa.one
- Tags: web-search, financial-data, prediction-markets, weather, travel, data, search
- Canonical page: https://www.zero.xyz/c/aisa-mpp-data-apis-polymarket-market-positions-ca4090ea
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_zcnCM-_ZGm-kgSw3AZv79

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability aisa-mpp-data-apis-polymarket-market-positions-ca4090ea
```

Example prompt: Show me the top 20 open positions in the Polymarket market with condition ID 0xdd22472e552920b8438158ea7238bfadfa4f736aa4cee91a6b86c39ead110917, sorted by total PnL descending.

## When to prefer this

Use this endpoint when you need position-level data for a specific Polymarket prediction market — including who holds positions, their size, pricing, and PnL breakdown. Prefer this over order book endpoints when you want aggregated trader exposure rather than individual orders, and over portfolio endpoints when you want all participants in a market rather than a single user's full portfolio.

## Known failure modes

- Invalid market condition ID format (not a 0x-prefixed 64-hex string) returns a validation error
- Invalid user wallet address format (not a 0x-prefixed 40-hex string) returns a validation error
- Market condition ID not found returns an empty array or 404
- Offset exceeds the 10000 maximum returns a validation error
- Limit exceeds 500 maximum returns a validation error
- Network or upstream Polymarket API downtime returns a 5xx error

## How this service works

Returns positions for a market, optionally filtered to a single user.

<!-- aisa-pricing:start -->
Published reference price: $0.012 USD per successful request. Account-specific pricing and final settlement may differ.
<!-- aisa-pricing:end -->

## Output

Returns an array of outcome token objects, each containing a token asset ID and a list of position records. Each position record includes the trader's proxy wallet, position size, average buy price, current price, current value, total tokens bought, unrealized cash PnL, realized PnL, total PnL, outcome name, outcome index, verified status, and profile image URL.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "market"
 ],
 "properties": {
  "user": {
   "type": "string",
   "example": "0x56687bf447db6ffa42ffe2204a05edaa20f55839",
   "pattern": "^0x[a-fA-F0-9]{40}$",
   "description": "Filter to a single user by proxy wallet address"
  },
  "limit": {
   "type": "integer",
   "default": 50,
   "maximum": 500,
   "minimum": 0,
   "description": "Max number of positions to return per outcome token"
  },
  "market": {
   "type": "string",
   "example": "0xdd22472e552920b8438158ea7238bfadfa4f736aa4cee91a6b86c39ead110917",
   "pattern": "^0x[a-fA-F0-9]{64}$",
   "description": "The condition ID of the market to query positions for"
  },
  "offset": {
   "type": "integer",
   "default": 0,
   "maximum": 10000,
   "minimum": 0,
   "description": "Pagination offset per outcome token"
  },
  "sortBy": {
   "enum": [
    "TOKENS",
    "CASH_PNL",
    "REALIZED_PNL",
    "TOTAL_PNL"
   ],
   "type": "string",
   "default": "TOTAL_PNL",
   "description": "Sort positions by:\n- `TOKENS` — Position size (number of tokens)\n- `CASH_PNL` — Unrealized cash PnL\n- `REALIZED_PNL` — Realized PnL\n- `TOTAL_PNL` — Total PnL (cash_pnl + realized_pnl)\n"
  },
  "status": {
   "enum": [
    "OPEN",
    "CLOSED",
    "ALL"
   ],
   "type": "string",
   "default": "ALL",
   "description": "Filter positions by status.\n- `OPEN` — Only positions with size > 0.01\n- `CLOSED` — Only positions with size <= 0.01\n- `ALL` — All positions regardless of size\n"
  },
  "sortDirection": {
   "enum": [
    "ASC",
    "DESC"
   ],
   "type": "string",
   "default": "DESC"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "array",
 "items": {
  "type": "object",
  "properties": {
   "token": {
    "type": "string",
    "description": "The outcome token asset ID"
   },
   "positions": {
    "type": "array",
    "items": {
     "type": "object",
     "properties": {
      "name": {
       "type": "string"
      },
      "size": {
       "type": "number"
      },
      "asset": {
       "type": "string"
      },
      "cashPnl": {
       "type": "number"
      },
      "outcome": {
       "type": "string"
      },
      "avgPrice": {
       "type": "number"
      },
      "totalPnl": {
       "type": "number"
      },
      "verified": {
       "type": "boolean"
      },
      "currPrice": {
       "type": "number"
      },
      "conditionId": {
       "type": "string",
       "example": "0xdd22472e552920b8438158ea7238bfadfa4f736aa4cee91a6b86c39ead110917",
       "pattern": "^0x[a-fA-F0-9]{64}$",
       "description": "0x-prefixed 64-hex string"
      },
      "proxyWallet": {
       "type": "string",
       "example": "0x56687bf447db6ffa42ffe2204a05edaa20f55839",
       "pattern": "^0x[a-fA-F0-9]{40}$",
       "description": "User Profile Address (0x-prefixed, 40 hex chars)"
      },
      "realizedPnl": {
       "type": "number"
      },
      "totalBought": {
       "type": "number"
      },
      "currentValue": {
       "type": "number"
      },
      "outcomeIndex": {
       "type": "integer"
      },
      "profileImage": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/aisa-mpp-data-apis-polymarket-market-positions-ca4090ea/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.aisa.one](https://www.zero.xyz/host/api.aisa.one/llms.txt)
