# Lukka Prediction Markets Exchange Directory

> Lukka Prediction Markets Exchange Directory is a paid API for AI agents from api.predictionmarketdata.io, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-15).

Lists and filters prediction market exchanges with VASP scores, classifications, locations, and status information

## Facts

- Endpoint: GET https://api.predictionmarketdata.io/exchanges
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/lukka-prediction-markets-exchange-directory-c5ba94f5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_PR7R9DA8KWzYzkeuggO0q

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 lukka-prediction-markets-exchange-directory-c5ba94f5
```

Example prompt: Show me all active centralized prediction market exchanges in the United States — give me the first 20, sorted or filtered by their Lukka VASP score if possible.

## When to prefer this

Use this endpoint when you need to discover, filter, or enumerate prediction market exchanges with compliance metadata (VASP scores, letter grades, classifications). Prefer this over general crypto exchange APIs when the specific focus is prediction markets and regulatory/VASP scoring is needed. Best for compliance research, market discovery, or building dashboards that rank or compare prediction market venues.

## Known failure modes

- Missing required limit or offset query parameters returns a 400 error
- Invalid filter values for vasp_score or vasp_classification return empty results or 400
- Pagination offset beyond total count returns empty exchanges array
- Service unavailable returns 402 or 5xx error
- Invalid vasp_score_gt / vasp_score_lt combination returns no results

## How this service works

Prediction-market exchanges and entity metadata (Lukka VASP).

## Output

A JSON array of prediction market exchange objects, each including the exchange name (lukkaVasp), entity code, VASP type, VASP score (numeric), letter grade, status, primary location, VASP classification (e.g. Centralized), website URL, and start timestamp. Results are paginated via limit and offset.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "limit": "20",
   "offset": "0",
   "vasp_score_gt": "50",
   "primary_location": "United States",
   "vasp_classification": "Centralized"
  }
 }
}
```

## 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"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "limit",
      "offset"
     ],
     "properties": {
      "limit": {
       "type": "string",
       "description": "Maximum number of exchanges to return."
      },
      "offset": {
       "type": "string",
       "description": "Zero-based pagination offset."
      },
      "vast_type": {
       "type": "string",
       "description": "Legacy exchange-type filter."
      },
      "vasp_score": {
       "type": "string",
       "description": "Optional exact VASP score filter."
      },
      "vasp_score_gt": {
       "type": "string",
       "description": "Optional lower bound for VASP score."
      },
      "vasp_score_lt": {
       "type": "string",
       "description": "Optional upper bound for VASP score."
      },
      "primary_location": {
       "type": "string",
       "description": "Optional location filter."
      },
      "vasp_classification": {
       "type": "string",
       "description": "Optional VASP classification filter."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "exchanges": [
   {
    "status": "Active",
    "startTs": "2022-05-01T00:00:00Z",
    "website": "https://kalshi.com/",
    "vaspType": "Prediction",
    "lukkaVasp": "Kalshi",
    "vaspScore": "59.9225",
    "entityCode": "KALSHI",
    "letterGrade": "B2",
    "lukkaVaspId": "LV40C47CFE3",
    "primaryLocation": "United States",
    "vaspClassification": "Centralized"
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/lukka-prediction-markets-exchange-directory-c5ba94f5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.predictionmarketdata.io](https://www.zero.xyz/host/api.predictionmarketdata.io/llms.txt)
