> ## 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.

# Pulse Pools

> The Pulse columns with one row per pool: the same columns, parameters, filters and order as GET /v1/pulse, each row a market.

`GET /v1/pulse/pools` · **1 credit**

> [!TIP]
>
> One row per pool. **Live**: the [`pulse-pools`](https://docs.serialized.xyz/streams/pulse-pools-stream) stream channel keeps the same rows up to date: the full list on subscribe, then every row that enters, changes or leaves.

The launchpad lifecycle columns of [`GET /v1/pulse`](https://docs.serialized.xyz/endpoints/pulse) (`new`, `bonding`, `graduated`) with one row per pool: each row is the market the column shows for its token, with the token's identity, price, liquidity, market cap, the counters of the column and the token's card (launchpad and lifecycle, links, creator, holders, taxes and flags, all-time high). Same lists, parameters, filter tree, sorts, `risk`, `windows` and `meta` as [`GET /v1/pulse`](https://docs.serialized.xyz/endpoints/pulse), and that page is the reference for each of them.

> [!NOTE]
>
> `address` is the token and `pool.address` the pool of the row; `tokenAddress` and `poolAddress` name the two explicitly ([Identity fields](https://docs.serialized.xyz/conventions.md#identity-fields)). A row has no `pools` list: on [`GET /v1/pulse`](https://docs.serialized.xyz/endpoints/pulse), `pools` lists the token's pools we follow.

> [!NOTE]
>
> `liquidityNative` and `liquidityUsd` are the pool's own liquidity, and `liquidityMin`, `liquidityMax` and a sort on liquidity read them; on [`GET /v1/pulse`](https://docs.serialized.xyz/endpoints/pulse) they are the token's liquidity.

> [!NOTE]
>
> `windows` gives the rolling figures of the row's own pool, one entry per window you list among `1m`, `5m`, `15m`, `30m`, `1h`, `4h`, `6h`, `12h` and `24h` (`windows=5m,1h`), with the same fields as on [`GET /v1/pulse`](https://docs.serialized.xyz/endpoints/pulse); the wallet counts are the pool's wallets. Filters and sorts on `windows.<window>.*` read these figures of the row's own pool, as on the [`pulse-pools`](https://docs.serialized.xyz/streams/pulse-pools-stream) stream (on [`GET /v1/pulse`](https://docs.serialized.xyz/endpoints/pulse) they read the token's figures, summed over its pools).

```bash cURL (graduated on BNB Chain) theme={null}
curl 'https://api.serialized.xyz/v1/pulse/pools?view=graduated&chains=evm:56&limit=50' \
  -H 'Authorization: YOUR_API_KEY'
```

```bash cURL (bonding on Solana, with rolling windows) theme={null}
curl 'https://api.serialized.xyz/v1/pulse/pools?view=bonding&chains=solana&windows=5m,1h' \
  -H 'Authorization: YOUR_API_KEY'
```


## OpenAPI

````yaml openapi.json GET /v1/pulse/pools
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/pulse/pools:
    get:
      summary: Pulse Pools
      description: >-
        The Pulse columns with one row per pool: the same columns (`new`,
        `bonding`, `graduated`), parameters, filters and order as `GET
        /v1/pulse`, each row the market the column shows for its token.
      operationId: pulse-pools
      parameters:
        - schema:
            anyOf:
              - type: string
                enum:
                  - new
              - type: string
                enum:
                  - bonding
              - type: string
                enum:
                  - graduated
              - type: string
                enum:
                  - migrated
            x-default: graduated
          in: query
          name: view
          required: false
          description: >-
            new | bonding | graduated (`migrated` is accepted for graduated).
            Required unless `model` is given.
          example: graduated
        - schema:
            anyOf:
              - type: string
                enum:
                  - new
              - type: string
                enum:
                  - bonding
              - type: string
                enum:
                  - graduated
              - type: string
                enum:
                  - migrated
          in: query
          name: model
          required: false
          description: >-
            Same as `view`, the parameter name of the `pulse-pools` stream
            channel; pass one of the two.
        - schema:
            type: string
            x-default: evm:56
          in: query
          name: chains
          required: true
          description: CSV of chain ids (≤8).
          example: evm:56
        - schema:
            minimum: 1
            maximum: 100
            default: 30
            type: integer
            x-default: 30
          in: query
          name: limit
          required: false
          description: 1-100, default 30.
          example: 30
        - schema:
            type: string
          in: query
          name: sortBy
          required: false
          description: >-
            Any numeric card field, e.g. createdAt, marketCapUsd, holdersCount,
            top10HoldersPct, risk.buyTaxBps, marketCapAthUsd,
            windows.1h.volumeUsd, windows.1m.txns (default: the list's own key:
            createdAt on new, bondingProgress on bonding, graduatedAt on
            graduated)
        - schema:
            type: string
          in: query
          name: sortOrder
          required: false
          description: asc | desc (default desc)
        - schema:
            type: string
          in: query
          name: filters
          required: false
          description: >-
            Filter tree as URL-encoded JSON: {"field":{"op":value}} combined
            with AND, OR, NOT. Same grammar and field names as the pulse stream.
            Operators: equals, not, in, gt, gte, lt, lte, contains, startsWith,
            endsWith. Keywords:
            {"OR":[{"name":{"contains":"pepe"}},{"symbol":{"contains":"pepe"}}]};
            creator: {"creator.address":{"equals":"0x..."}}
        - schema:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
          in: query
          name: windows
          required: false
          description: >-
            Rolling windows among 1m, 5m, 15m, 30m, 1h, 4h, 6h, 12h, 24h,
            comma-separated or with the parameter repeated: each row then
            carries a `windows` block for its own pool, one entry per window, in
            window order. Absent or empty: no block.
        - schema:
            minimum: 0
            type: number
          in: query
          name: ageMin
          required: false
          description: 'Minutes (graduated: since the graduation)'
        - schema:
            minimum: 0
            type: number
          in: query
          name: ageMax
          required: false
          description: 'Minutes (graduated: since the graduation)'
        - schema:
            minimum: 0
            type: number
          in: query
          name: liquidityMin
          required: false
          description: USD
        - schema:
            minimum: 0
            type: number
          in: query
          name: liquidityMax
          required: false
          description: USD
        - schema:
            minimum: 0
            type: number
          in: query
          name: marketCapMin
          required: false
          description: USD
        - schema:
            minimum: 0
            type: number
          in: query
          name: marketCapMax
          required: false
          description: USD
        - schema:
            minimum: 0
            maximum: 100
            type: number
          in: query
          name: bondingMin
          required: false
          description: Percent of the launchpad bar, 0 to 100
        - schema:
            minimum: 0
            maximum: 100
            type: number
          in: query
          name: bondingMax
          required: false
          description: Percent of the launchpad bar, 0 to 100
        - schema:
            minimum: 0
            type: number
          in: query
          name: volumeMin
          required: false
          description: USD, the card counter (volumeUsd)
        - schema:
            minimum: 0
            type: number
          in: query
          name: volumeMax
          required: false
          description: USD, the card counter (volumeUsd)
        - schema:
            minimum: 0
            type: integer
          in: query
          name: txnsMin
          required: false
          description: The card counter (txns)
        - schema:
            minimum: 0
            type: integer
          in: query
          name: txnsMax
          required: false
          description: The card counter (txns)
        - schema:
            minimum: 0
            type: number
          in: query
          name: feesMin
          required: false
          description: USD, the card counter (feesUsd)
        - schema:
            minimum: 0
            type: number
          in: query
          name: feesMax
          required: false
          description: USD, the card counter (feesUsd)
        - schema:
            type: string
          in: query
          name: socials
          required: false
          description: 'CSV: any|twitter|telegram|website'
        - schema:
            type: string
          in: query
          name: factories
          required: false
          description: CSV of launchpad keys (pool.factory, see /v1/meta/factories)
        - schema:
            type: string
          in: query
          name: dexes
          required: false
          description: >-
            CSV of venue keys (see dexesByChain on /v1/meta/factories): markets
            with no launchpad on these venues; with factories, either side
        - schema:
            type: boolean
          in: query
          name: isOG
          required: false
          description: first token with this ticker on the chain
        - schema:
            anyOf:
              - type: string
                enum:
                  - 'true'
              - type: string
                enum:
                  - 'false'
              - type: string
                enum:
                  - '1'
              - type: string
                enum:
                  - '0'
          in: query
          name: labeledDev
          required: false
          description: >-
            true or 1: only tokens whose creator is a labeled person
            (creator.labeled); false or 0: no filter
      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.