---
title: "Prediction Market Intelligence"
method: POST
path: "/v1/prediction-market-intel"
tags: ["finance"]
---

# Prediction Market Intelligence

`POST /v1/prediction-market-intel`

## Request

- Base URL: `https://agent.pocket.network`
- URL: `https://agent.pocket.network/v1/prediction-market-intel`
- Auth: none required

Signals from Polymarket's live public market data: top open markets by trailing volume, the biggest consensus shifts, markets entering or leaving the top 100, and a 0-100 liquidity and spread quality score with reasons. POST /v1/top-markets, /v1/market-momentum, /v1/rotation-diff or /v1/market-quality. Not affiliated with Polymarket. Pay per request in USDC.

## Request body

- object: The body of any of the four POST routes; each reads only the fields it uses. top-markets and market-quality take limit and window (24hr, 1wk, 1mo); market-momentum takes limit, window (1d, 1w, 1mo) and direction; rotation-diff takes lookback_hours.
  - `limit` integer: How many markets to return (top-markets up to 100, default 20; the others up to 50).
  - `window` string: Trailing window. top-markets and market-quality use 24hr, 1wk or 1mo (default 1mo); market-momentum uses 1d, 1w or 1mo (default 1w).
  - `direction` 'up' | 'down' | 'any': market-momentum only; which way the consensus moved (default any).
  - `lookback_hours` integer: rotation-diff only; how far back to compare the top 100 (default 24).

## Response `200`

The upstream response, served after payment settles.

- object: A JSON object per route: ranked markets with volumes and prices, momentum shifts, entries and exits (or insufficient_history), or quality scores with a reasons array. Errors answer a JSON 4xx with an error field. Properties are pinned from live paid responses; nothing is required, because every route's 2xx response is validated against this one schema.
  - `service` string
  - `fetched_at` string
  - `cache` object
    - `stale` boolean
    - `age_ms` number
  - `window` string
  - `ranked_by` string
  - `candidate_pool_size` number
  - `count` number
  - `markets` object[]
    - `id` string
    - `slug` string
    - `question` string
    - `end_date` string
    - `outcomes` string[]
    - `outcome_prices` number[]
    - `volume_24hr_usd` number
    - `volume_1wk_usd` number
    - `volume_1mo_usd` number
    - `liquidity_usd` number
    - `best_bid` number
    - `best_ask` number
    - `spread` number
    - `rank` number
  - `note` string

## Other responses

- `400`: Malformed request.
- `402`: Payment required. The x402 v2 terms are in the PAYMENT-REQUIRED header and, identically, in this body; sign the chosen option and retry with the PAYMENT-SIGNATURE header. The receipt arrives in PAYMENT-RESPONSE.
- `503`: This service is not currently available to serve.

---

[API](https://skmtc.dev/pocket/apis/pocket-agentic-portal.md) · [All operations](https://skmtc.dev/pocket/apis/pocket-agentic-portal/llms.txt) · [OpenAPI document](https://skmtc.dev/pocket/apis/pocket-agentic-portal/revisions/96d2176db014?raw)
