Polymarket prediction market data endpoints, plus API documentation and monitoring.
    Read-only preview
    You're browsing the public OpenAPI spec. Sign in to send live requests with your team's API key.

    Quickstart

    Preview Polymarket activity with recent trade events for a market token. Swap in any token, condition, or event type from the endpoint catalog below.

    No API key on this team yet — sample shows <YOUR_JWT> placeholder.
    1curl 'https://api.pinax.network/v1/polymarket/markets/activity?token_id=53342136288932702007624506186417846874594504126387502748453102780630218207922&event_type=trade&limit=10&page=1' \
    2 -H 'Authorization: Bearer <YOUR_JWT>' \
    3 -H 'Accept: application/json'
    Hyperliquid Outcomes

    Outcome User Lookup

    PREVIEW

    At least one of `user`, `outcome_id`, or `question_id` is required — calls without any of these return 400.

    Returns trading aggregates per outcome with both side legs (Yes/No or custom labels) collapsed into one row per (user, outcome). Includes fill count, buys/sells split, volume bought/sold, realized PnL, and first/last trade times.

    Filters compose additively. Sorted by sort_by descending (default total_volume; also transactions, realized_pnl) — when user is omitted the response is a leaderboard for the given outcome / question scope.

    SETTLEMENT events contribute to realized_pnl (the resolution payout is realized P&L for positions held to resolution) but do not count toward transactions / buys / sells / volume_* — those reflect actual taker trade activity. SPLIT/MERGE/MERGE_QUESTION/NEGATE composition events are excluded from every aggregate.

    interval selects the lookback window applied at MV refresh time: 1h, 1d, 1w, 30d. Omit for all-time. Each interval is a sliding window of fills whose fill_time >= now() - interval at the most recent MV refresh; rows have up to one hour of staleness (and up to six hours for the all-time aggregate). Backed by state_user_by_coin.

    Every row embeds the compact outcome context (outcome_id, outcome_name, question_id, question_name, status, settle_fraction). For full outcome metadata (description, side_specs, named_outcome_ids, etc.) call /v1/hyperliquid/outcomes?outcome_id=....

    GET
    https://api.pinax.network/v1/hyperliquid/outcomes/users
    Requires bearer token — sign in to inject your team’s key.

    Optional parameters

    NameTypeDescription
    user
    query
    string · evm-addressFilter by address
    Single value or array of values* (separate multiple values with ,)
    *Plan restricted.
    e.g. 0xd8da6bf26964af9d7eed9e03e53415d37aa96045
    outcome_id
    query
    string · uint64HIP-4 outcome id (UInt64). One outcome has two side coins, #<id*10> and #<id*10+1>.
    Single value or array of values* (separate multiple values with ,)
    *Plan restricted.
    e.g. 172
    question_id
    query
    string · uint64HIP-4 question id (UInt64). Groups multi-outcome questions (e.g. World Cup). Binary single-outcome markets have no question id.
    Single value or array of values* (separate multiple values with ,)
    *Plan restricted.
    e.g. 32
    interval
    query
    Enum · 4Lookback window for user statistics (1 hour, 1 day, 1 week, 30 days). Omit for all-time.
    1h1d1w30d
    sort_by
    query
    Enum · 3
    total_volumetransactionsrealized_pnl
    limit
    query
    integerNumber of items* returned in a single request.
    *Plan restricted.
    page
    query
    integerPage number to fetch.
    Empty data array signifies end of results.

    Response

    200 OK
    {
      "data": [
        {
          "user": "0xfcecc2a54724cf0502eb7c916e2717ef76a510ed",
          "transactions": 276,
          "buys": 30,
          "sells": 246,
          "volume_bought": 62980.97,
          "volume_sold": 194043.55,
          "total_volume": 257024.52,
          "realized_pnl": 61796.11,
          "first_trade": "2026-06-12 09:36:14",
          "last_trade": "2026-06-14 18:15:01",
          "outcome": {
            "outcome_id": 318,
            "outcome_name": "Germany",
            "question_id": null,
            "question_name": null,
            "status": "settled",
            "settle_fraction": 1
          }
        }
      ]
    }