# Polymarket Wallet Open Positions

> Polymarket Wallet Open Positions is a paid API for AI agents from api.vextorium.com, paid per call via x402, $0.004/call, status unknown (last checked 2026-10-13).

Returns all open positions for a Polymarket wallet address, including market details, outcome, shares, average and current price, USD value, PnL, redeemability, and portfolio totals.

## Facts

- Endpoint: POST https://api.vextorium.com/polymarket-cartera-pago?utm_source=zero.xyz
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/polymarket-wallet-open-positions-1c7e7f26
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_oTKmsA8iTKyjIH9sn6gWd

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 polymarket-wallet-open-positions-1c7e7f26 -d '<json body>'
```

Example prompt: Can you pull up all the open Polymarket positions for wallet 0xABC123... and show me the PnL, current value, and whether any positions are redeemable?

## When to prefer this

Use this endpoint when you need detailed open-position data for a specific Polymarket wallet, including per-market PnL, share counts, price comparisons, redeemability status, and aggregated portfolio totals. Prefer this over generic blockchain explorers when you want Polymarket-specific semantic data (outcomes, market names, PnL) rather than raw on-chain token balances.

## Known failure modes

- Invalid or malformed wallet address returns empty positions array or error
- Wallet with no Polymarket activity returns zero positions and zero totals
- Polymarket API unavailability causes upstream fetch failure
- Rate limiting or timeout if Polymarket data source is slow
- limite parameter ignored or mishandled if not a positive integer

## How this service works

Open positions of a wallet on Polymarket: market, outcome, shares, average and current price, value, PnL (USD and %), redeemable flag and close date, with portfolio totals.

## Output

A JSON object containing wallet address, list of open positions (each with market slug, market name, outcome, shares held, average price paid, current price, USD value invested, current USD value, PnL in USD, PnL as percentage, redeemable flag, and close date), plus portfolio-level totals for number of positions, total invested, total current value, and total PnL in USD.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "required": [
      "wallet"
     ],
     "properties": {
      "limite": {
       "type": "integer"
      },
      "wallet": {
       "type": "string"
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": [
      "object",
      "null"
     ],
     "properties": {
      "fuente": {
       "type": [
        "string",
        "null"
       ]
      },
      "cartera": {
       "type": [
        "string",
        "null"
       ]
      },
      "detalle": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": [
         "null",
         "object"
        ],
        "properties": {
         "slug": {
          "type": [
           "null",
           "string"
          ]
         },
         "cierre": {
          "type": [
           "null",
           "string"
          ]
         },
         "mercado": {
          "type": [
           "null",
           "string"
          ]
         },
         "pnl_pct": {
          "type": [
           "null",
           "number"
          ]
         },
         "pnl_usd": {
          "type": [
           "null",
           "number"
          ]
         },
         "cobrable": {
          "type": [
           "boolean",
           "null"
          ]
         },
         "resultado": {
          "type": [
           "null",
           "string"
          ]
         },
         "valor_usd": {
          "type": [
           "null",
           "number"
          ]
         },
         "precio_medio": {
          "type": [
           "null",
           "number"
          ]
         },
         "invertido_usd": {
          "type": [
           "null",
           "number"
          ]
         },
         "precio_actual": {
          "type": [
           "null",
           "number"
          ]
      
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/polymarket-wallet-open-positions-1c7e7f26/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.vextorium.com](https://www.zero.xyz/host/api.vextorium.com/llms.txt)
