> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kuru.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List markets

> Browse spot markets and trailing 24-hour statistics.

> [!NOTE]
>
> The example below shows the first WETHUSDC result from a mainnet request with `status=active&amp;limit=1` on 17 October 2026. The continuation cursor is represented schematically because cursors expire; always use the current response's `pagination.nextCursor`.

**status** `string` (default: active)

`active`, `paused`, or `all`.

**limit** `integer` (default: 100)

Page size from `1` through `500`.

**cursor** `string`

Opaque exclusive continuation cursor from `pagination.nextCursor`.

**feedEpoch** `null` *required*

Catalog responses are not Exchange Gateway replay cuts.

**data** `array` *required*

Markets ordered by creation time and then market address.

**marketAddress** `string` *required*

Lowercase 20-byte market contract address.

**symbol** `string` *required*

Display symbol for the market pair.

**baseToken** `object` *required*

Base-token metadata.

**tokenAddress** `string` *required*

**name** `string` *required*

**symbol** `string` *required*

**decimals** `integer` *required*

**logoUrl** `string | null` *required*

**description** `string | null` *required*

**websiteUrl** `string | null` *required*

**verified** `boolean` *required*

**contractRenounced** `boolean` *required*

**isErc20** `boolean` *required*

**isMintable** `boolean` *required*

**isStrict** `boolean` *required*

**firstPoolAddress** `string | null` *required*

**quoteToken** `object` *required*

Quote-token metadata. Its fields have the same meanings as `baseToken`.

**tokenAddress** `string` *required*

**name** `string` *required*

**symbol** `string` *required*

**decimals** `integer` *required*

**logoUrl** `string | null` *required*

**description** `string | null` *required*

**websiteUrl** `string | null` *required*

**verified** `boolean` *required*

**contractRenounced** `boolean` *required*

**isErc20** `boolean` *required*

**isMintable** `boolean` *required*

**isStrict** `boolean` *required*

**firstPoolAddress** `string | null` *required*

**status** `string` *required*

Current market status: `active` or `paused`.

**pricePrecision** `string` *required*

Integer precision used to interpret native order price ticks.

**sizePrecision** `string` *required*

Integer precision used to interpret native base sizes.

**tickSize** `string` *required*

Minimum price-tick increment in native price-precision units.

**minQuoteNotionalX18** `string` *required*

Minimum quote notional scaled by `1e18`.

**takerFeePps** `integer` *required*

Configured market taker fee rate in PPS, where `10,000,000` represents
100%. This is a rate, not a charged fee amount. Zero means no configured fee.

**makerFeePps** `integer` *required*

Configured market maker fee rate in PPS, where `10,000,000` represents
100%. This is a rate, not a charged fee amount. Zero means no configured fee.

**createdAt** `integer` *required*

Market creation time in Unix seconds.

**lastPrice** `string | null` *required*

Price from the 24-hour summary when available; otherwise the market's latest raw trade price, with no timestamp cutoff. Returned in market price precision (pp), or `null` when neither source has a price. The 24-hour statistics retain their existing window.

**priceChange24hPct** `string | null` *required*

Rolling 24-hour decimal price-change ratio. For example, `"0.01"` means one percent.

**volume24h** `string` *required*

Rolling 24-hour quote volume scaled by `1e18`.

**tradeCount24h** `integer` *required*

Number of fills included in the rolling 24-hour window.

**pagination** `object` *required*

Pagination metadata for this page.

**nextCursor** `string | null` *required*

Opaque continuation cursor, or `null` when no continuation is available.

The catalog is authoritative for current markets, configuration, and activity; this is a dated response example.

```json 200 theme={null}
{
  "feedEpoch": null,
  "data": [
    {
      "marketAddress": "0x8121ee960066e4344a213f9ac7502395502aee7a",
      "symbol": "WETHUSDC",
      "baseToken": {
        "tokenAddress": "0xee8c0e9f1bffb4eb878d8f15f368a02a35481242",
        "name": "",
        "symbol": "WETH",
        "decimals": 18,
        "logoUrl": "https://d1zzuytetv7tb9.cloudfront.net/WETH.png",
        "description": null,
        "websiteUrl": null,
        "verified": false,
        "contractRenounced": false,
        "isErc20": true,
        "isMintable": true,
        "isStrict": false,
        "firstPoolAddress": "0x8121ee960066e4344a213f9ac7502395502aee7a"
      },
      "quoteToken": {
        "tokenAddress": "0x754704bc059f8c67012fed69bc8a327a5aafb603",
        "name": "",
        "symbol": "USDC",
        "decimals": 6,
        "logoUrl": "https://d1zzuytetv7tb9.cloudfront.net/USDC.png",
        "description": null,
        "websiteUrl": null,
        "verified": false,
        "contractRenounced": false,
        "isErc20": true,
        "isMintable": true,
        "isStrict": false,
        "firstPoolAddress": null
      },
      "status": "active",
      "pricePrecision": "10000",
      "sizePrecision": "10000000000",
      "tickSize": "100",
      "minQuoteNotionalX18": "10000000000000000000",
      "takerFeePps": 100000,
      "makerFeePps": 100000,
      "createdAt": 1792022400,
      "lastPrice": null,
      "priceChange24hPct": null,
      "volume24h": "0",
      "tradeCount24h": 0
    }
  ],
  "pagination": {
    "nextCursor": "<opaque continuation cursor>"
  }
}
```


## OpenAPI

````yaml api/data-source/openapi.yaml GET /api/v1/markets
openapi: 3.1.0
info:
  title: Kuru Data Source API
  version: 1.0.0
servers:
  - url: https://api.mainnet.kuru.io
    description: Monad mainnet (default)
  - url: https://api.testnet.kuru.io
    description: Monad testnet
security: []
paths:
  /api/v1/markets:
    get:
      summary: List markets
      operationId: listMarkets
      parameters:
        - name: status
          in: query
          schema:
            type: string
            enum:
              - active
              - paused
              - all
        - name: limit
          in: query
          schema:
            type: integer
        - name: cursor
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Market catalog

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.