# Goldsky Feeds - Polymarket Positions

> Goldsky Feeds - Polymarket Positions is a paid API for AI agents from edge.goldsky.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-31).

Retrieve a wallet address's current prediction market positions on Polymarket, including amounts, average prices, and realized PnL

## Facts

- Endpoint: GET https://edge.goldsky.com/data/polymarket/positions?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/goldsky-feeds-polymarket-positions-76f4df87
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ANAhPa3ELhR3yrCk3-PnH

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 goldsky-feeds-polymarket-positions-76f4df87
```

Example prompt: Show me all current Polymarket positions for wallet address 0xABCD1234... — include the average price and realized PnL for each, and return up to 50 results.

## When to prefer this

Use this endpoint when you need onchain Polymarket position data for a specific wallet address — including amounts, average prices, and realized PnL — sourced directly from Goldsky's indexed chain data. Prefer this over generic blockchain explorers when you need structured, queryable prediction market position data with pagination support and optional filtering by token or minimum amount.

## Known failure modes

- Missing required 'address' query parameter returns a 400 or validation error
- Invalid wallet address format may return empty data or an error
- Payment not sent or insufficient prepaid balance returns a 402 Payment Required
- Rate limiting or balance exhaustion halts requests mid-pagination
- Very large position histories may require multiple paginated requests using next_cursor
- Token ID filter with no matching positions returns an empty data array

## How this service works

Goldsky Feeds: onchain data over REST. Formerly Edge Data / Data APIs; existing URLs and keys keep working.

- **Wallet feeds**: one wallet's token transfers or balances across chains, with USD values (`/feeds/wallets/transfers`, `/feeds/wallets/balances`).
- **Tokens**: metadata and current USD price for up to 100 `chain:token_address` pairs per request (`/feeds/tokens`).
- **Prediction markets** (Polymarket, on Polygon): Activity, Positions and Balances (`/polymarket/*`).
- **Chain datasets**: Blocks and Chain head for each supported chain (`/blocks/{chain}`, `/blocks/{chain}/head`).

Base URL: `https://edge.goldsky.com/data`. Every endpoint is a `GET` that returns JSON.

## Authentication

Send your Feeds API key in the `x-api-key` header, as the `?key=` query parameter, or as `Authorization: Bearer <key>`. Get it at [app.goldsky.com](https://app.goldsky.com) under **Feeds → API keys**. One key works for every endpoint; an invalid key gets `401`.

## Billing

Requests made with a key bill compute units (CUs) at $10 per million:

- Wallet feeds and Tokens: 35 CUs per request.
- Prediction markets and Chain datasets: 1 CU per row returned. Chain head is 1 CU per call.

Errors are not billed, and a Prediction markets or Chain datasets request that returns no rows costs nothing. Rate limits are set per plan (`429` when exceeded); Goldsky support can raise them.

## Pay per request with x402

No account or key needed. A request without a key gets `402` with an x402 v2 challenge in the `PAYMENT-REQUIRED` header (base64 JSON; the body carries the same challenge). Pay in USDC through Circle Gateway and retry. Each payment is a $0.005 prepaid top-up, tied to the paying wallet and shared with Edge RPC, that later requests spend down:

- Wallet feeds and Tokens: $0.00035 (350 atomic USDC) per request.
- Prediction markets and Chain datasets: $0.00001 (10 atomic USDC) per request, whatever the row count.

The payment flow is in [x402 nanopayments](https://docs.goldsky.com/edge-rpc/capabilities/x402).

## Output

Returns a paginated list of prediction market positions for the queried wallet address. Each position includes the wallet address, token ID, amount held, average purchase price, total bought, realized PnL, block number of the last update, and a last-updated timestamp. The response also includes a limit and a next_cursor for pagination through large result sets.

## 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"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "address"
     ],
     "properties": {
      "sort": {
       "type": [
        "string",
        "null"
       ]
      },
      "limit": {
       "type": [
        "integer",
        "null"
       ]
      },
      "cursor": {
       "type": [
        "string",
        "null"
       ]
      },
      "address": {
       "type": "string"
      },
      "token_id": {
       "type": [
        "string",
        "null"
       ]
      },
      "min_amount": {
       "type": [
        "string",
        "null"
       ]
      },
      "include_zero": {
       "type": [
        "boolean",
        "null"
       ]
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "data",
      "limit"
     ],
     "properties": {
      "data": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "address",
         "token_id"
        ],
        "properties": {
         "amount": {
          "type": [
           "string",
           "null"
          ]
         },
         "address": {
          "type": "string"
         },
         "token_id": {
          "type": "string"
         },
         "avg_price": {
          "type": [
           "string",
           "null"
          ]
         },
         "block_number": {
          "type": [
           "integer",
           "null"
          ]
         },
         "realized_pnl": {
          "type": [
           "string",
           "null"
          ]
         },
         "total_bought": {
          "type": [
           "string",
           "null"
          ]
         },
         "last_updated_at": {
          "type": [
           "number",
           "null"
          ]
         }
        }
       }
      },
      "limit": {
       "type": "integer"
      },
      "next_cursor": {
       "type": [
        "string",
        "nul
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "schema": {
  "type": "object",
  "properties": {
   "data": {
    "type": "array"
   },
   "limit": {
    "type": "integer"
   },
   "next_cursor": {
    "type": [
     "string",
     "null"
    ]
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/goldsky-feeds-polymarket-positions-76f4df87/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from edge.goldsky.com](https://www.zero.xyz/host/edge.goldsky.com/llms.txt)
