# Perp Gap API – Full Market Catalog

> Perp Gap API – Full Market Catalog is a paid API for AI agents from perp-gap-api.perpgap.workers.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-18).

Returns a complete catalog of 2,200+ tokenized stock and perpetual futures markets across Hyperliquid, Aster, Lighter, xStocks (Solana), and Ondo Global Markets, with per-market metadata including ticker, venue, symbol/mint, asset type, and live/tradable flags.

## Facts

- Endpoint: GET https://perp-gap-api.perpgap.workers.dev/catalog/full?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-18
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/perp-gap-api-full-market-catalog-f7033f0d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_GmdtbQzcW0q0blXBuAOsc

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 perp-gap-api-full-market-catalog-f7033f0d
```

Example prompt: Before you fetch the funding rate for TSLA, check the Perp Gap catalog to see which venues list it and grab the exact trading symbol I need for each one — filter to US equity perps only.

## When to prefer this

Use this endpoint first, before calling any /quote, /funding, or /gaps endpoint, to discover which venues list a given ticker and to retrieve the exact symbol or mint address required by those endpoints. Prefer this over ad-hoc symbol guessing when you need to enumerate all available markets for a given asset type, filter to currently tradable markets, or compare venue coverage across Hyperliquid, Aster, Lighter, xStocks Solana, and Ondo Global Markets.

## Known failure modes

- Invalid ticker or venue parameter returns empty result set rather than an error
- Unsupported enum value in type/venue/instrument/format parameters causes a 400 validation error
- Payment not included or insufficient causes 402 Payment Required response
- Markets flagged live=true may temporarily become untradable between catalog refresh cycles
- Compact mode drops IDs and ISINs — downstream calls needing those fields will fail if compact=1 was used

## How this service works

Catalog of every stock perp and tokenized stock agents can trade: Hyperliquid trade.xyz, Aster and Lighter perps plus Solana xStocks and Ondo Global Markets tokens (2,200+ markets). Per market: ticker, venue, symbol or mint, underlying, type (US stock, ETF, index, intl, pre-IPO), live and tradable-now flags. Use first to see which venues list a ticker and get the exact symbol before calling /quote, /funding or /gaps. Same data is free at GET /catalog.

## Output

A JSON array (or CSV table) of market rows, each containing: ticker, venue identifier, trading symbol or on-chain mint address, underlying asset name, asset type enum (us_equity, us_etf, index, intl_equity, pre_ipo, other), instrument type (perp or token), live boolean, tradable boolean, and optionally mark price, IDs, and ISIN. Total count is included. When grouped by ticker, rows are clustered to show all venues listing a given ticker together.

## 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": [],
     "properties": {
      "type": {
       "type": "string",
       "examples": [
        "us_equity"
       ],
       "description": "Optional comma-separated types: us_equity, us_etf, index, intl_equity, pre_ipo, other."
      },
      "group": {
       "enum": [
        "1"
       ],
       "type": "string",
       "examples": [
        "1"
       ],
       "description": "Optional: '1' groups markets by ticker (where can I trade X?)."
      },
      "venue": {
       "type": "string",
       "examples": [
        "aster,lighter"
       ],
       "description": "Optional comma-separated venues: hyperliquid-xyz, aster, lighter, xstocks-solana, ondo-gm."
      },
      "format": {
       "enum": [
        "json",
        "csv"
       ],
       "type": "string",
       "examples": [
        "csv"
       ],
       "description": "Optional: csv for a flat table."
      },
      "ticker": {
       "type": "string",
       "examples": [
        "TSLA,NVDA"
       ],
       "description": "Optional comma-separated tickers."
      },
      "compact": {
       "enum": [
        "1"
       ],
       "type": "string",
       "examples": [
        "1"
       ],
       "description": "Optional: '1' drops ids, names and ISINs."
      },
      "tradable": {
       "enum": [
        "1"
       ],
       "type": "string",
       "examples": [
        "1"
       ],
       "description": "Optional: '1' keeps markets that accept orders right now."
      },
      "instrument": {
       "enum": [
        "perp",
        "token"
       ],
       "type": "string",
       "examples": [
        "perp"
       ],
       "description": "Optional: perps only or tokenized stocks only."
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "count"
     ],
     "properties": {
      "rows": {
       "type": "array",
 
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/perp-gap-api-full-market-catalog-f7033f0d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from perp-gap-api.perpgap.workers.dev](https://www.zero.xyz/host/perp-gap-api.perpgap.workers.dev/llms.txt)
