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

# Market Data: batch

> Live snapshot of up to 100 markets in one call - the whole market-poll fan-out in a single request. Per-market shape identical to /v1/pool/data. Response is in input order; an unknown or malformed market gets its own `{ error }` slot. Billed per market.

`POST /v1/pools/data` · **1 per market credit**

The batch twin of [Market Data](/endpoints/market-data): poll up to 100 markets - across chains - in one request instead of a fan-out of single calls. Each item carries the same shape as `/v1/pool/data`; the response array is in input order, and an unknown or malformed market gets its own `{ "error": { "code", "message" } }` slot, so one bad market never costs you the rest of the lot. Billed per market served: a market that comes back as an `{ error }` slot costs nothing.

<Note>`circulatingSupply` is `null` on the batch (it comes from a slower upstream that would stall a fan-poll); fetch it per market on `/v1/pool/data` when you need it.</Note>

<Note>`meta.count` echoes the number of markets in the request (the per-market billing count).</Note>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST 'https://api.serialized.xyz/v1/pools/data' -H 'Authorization: YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"markets":[{"chain":"evm:8453","address":"0x0ca6485b7e9cf814a3fd09d81672b07323535b64"},{"chain":"solana","address":"58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2"}],"windows":"1h,24h"}'
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "data": [
      {
        "chain": "evm:8453",
        "address": "0x0ca6485b7e9cf814a3fd09d81672b07323535b64",
        "type": "UNISWAP_V3",
        "launchpad": null,
        "exchange": {
          "name": "Uniswap V3",
          "logo": "https://serialized.cloud/logos/dex/uniswap.680e6da3.svg"
        },
        "token": {
          "address": "0x4ed4e862860bed51a9570b96d89af5e1b0efefed",
          "name": "Degen",
          "symbol": "DEGEN",
          "decimals": 18,
          "totalSupply": "37000000000"
        },
        "quote": {
          "address": "0x4200000000000000000000000000000000000006",
          "symbol": "WETH"
        },
        "priceNative": "0.00000053241",
        "priceUsd": 0.001001,
        "liquidityNative": "412.882",
        "liquidityUsd": 776218.24,
        "marketCapUsd": 37037000,
        "circulatingSupply": null,
        "bondingProgress": null,
        "migrated": false,
        "stats": {
          "1h": {
            "volumeNative": 1.204518,
            "volumeUsd": 2264.49,
            "buys": 41,
            "sells": 27,
            "txns": 66,
            "buyVolumeNative": 0.812337,
            "sellVolumeNative": 0.392181,
            "traders": 52,
            "feesNative": 0.003613,
            "priceChangePct": 1.87
          },
          "24h": {
            "volumeNative": 9.021983,
            "volumeUsd": 16961.28,
            "buys": 512,
            "sells": 388,
            "txns": 881,
            "buyVolumeNative": 5.118442,
            "sellVolumeNative": 3.903541,
            "traders": 641,
            "feesNative": 0.027065,
            "priceChangePct": 4.96
          }
        }
      },
      {
        "error": {
          "code": "NOT_FOUND",
          "message": "Pool 0x000000000000000000000000000000000000dead on evm:8453"
        }
      }
    ],
    "meta": {
      "asOf": 1786901933078,
      "count": 2
    }
  }
  ```
</ResponseExample>


## OpenAPI

````yaml openapi.json POST /v1/pools/data
openapi: 3.1.0
info:
  title: Serialized Data API
  description: >-
    On-chain data for trading apps - tokens, candles, token filters. Built on
    our own indexers. 18 EVM chains + Solana, live.
  version: 0.1.0
servers:
  - url: https://demo.serialized.xyz
    description: 'Demo: no key needed, read endpoints, rate-limited per IP'
  - url: https://api.serialized.xyz
    description: 'Production: your API key in the Authorization header'
security:
  - apiKey: []
  - {}
paths:
  /v1/pools/data:
    post:
      summary: 'Market Data: batch'
      description: >-
        The batch twin of Market Data: poll up to 100 markets, across chains, in
        one request instead of a fan-out of single calls. `windows` applies to
        every market of the call. Response in input order, one slot per market:
        the same shape as `/v1/pool/data`, or `{ error: { code, message } }` for
        that market alone (`NOT_FOUND` for an unknown pool, `INVALID_PARAM` for
        a malformed address), never `null`, so one bad market never costs you
        the rest of the lot. Billed per market.
      operationId: pools-data-batch
      requestBody:
        required: true
        content:
          application/json:
            schema:
              additionalProperties: false
              type: object
              required:
                - markets
              properties:
                markets:
                  minItems: 1
                  maxItems: 100
                  type: array
                  items:
                    additionalProperties: false
                    type: object
                    required:
                      - chain
                      - address
                    properties:
                      chain:
                        type: string
                      address:
                        type: string
                  description: >-
                    1 to 100 of `{chain, address}` pools, across chains. Billed
                    per market.
                  example:
                    - chain: evm:8453
                      address: 0x0ca6…
                    - chain: solana
                      address: 58oQCh…
                  x-default:
                    - chain: evm:8453
                      address: 0x0ca6…
                    - chain: solana
                      address: 58oQCh…
                windows:
                  default: 5m,1h,6h,24h
                  description: >-
                    Comma-separated stat windows among `5m`, `1h`, `4h`, `6h`,
                    `24h`, applied to every market. Default: `5m,1h,6h,24h`, the
                    same default as `/v1/pool/data`.
                  type: string
                  example: 1h,24h
                  x-default: 1h,24h
      responses:
        '200':
          description: Standard `{ data, meta }` envelope.
components:
  securitySchemes:
    apiKey:
      type: apiKey
      name: Authorization
      in: header
      description: Your raw API key (not needed on the demo server).

````

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