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

# Factories

> Launchpad and venue catalog: every key the API emits, with its display name, logo and brand color. `factories` and `byChain` list the keys the `factories=` filter of `/v1/pulse` accepts; `launchpads` and `exchanges` carry the presentation of every `pool.factory` and `pool.type` value. EVM and Solana. Free.

`GET /v1/meta/factories`

Launchpad and venue catalog: every key the API emits, with its display name, logo and brand color. `factories` and `byChain` list the keys the `factories=` filter of [`/v1/pulse`](/endpoints/pulse) accepts; `launchpads` and `exchanges` carry the presentation of every `pool.factory` and `pool.type` value. EVM and Solana. Free.

<Note>`launchpads` is keyed by every value `pool.factory` can take (the token's launchpad: `PUMPFUN`, `CLANKER`, `METEORA_DBC`…), `exchanges` by every value `pool.type` can take (the venue of the pool: `UNISWAP_V4`, `PUMP_SWAP`, `RAYDIUM_AMM_V4`…). Join on the key, no translation table needed. The same `name` and `logo` ride inline on every `pool` object as `pool.launchpad` and `pool.exchange`; this catalog adds `color` (brand hex) and, for launchpads, `tokenUrl`, the template of the token's page on the launchpad (`{address}` to replace). Cache it: it changes a few times a week, `meta.registryVersion` tells you when.</Note>

<Note>`logo` is a stable URL on our image CDN, safe to cache indefinitely: a changed logo is a new URL. `null` when no logo exists yet for that key; apply your own placeholder.</Note>

<Note>Keys are accepted in any form on input (`PUMPFUN`, `pump.fun`, the indexer's `PUMP_FUN`); `factories` and `byChain` carry the canonical form. A key listed under a chain always produces a feed on that chain. On Solana the list also carries the trading venues (`PUMPSWAP`, `RAYDIUM`, `ORCA`, `METEORA`) the filter accepts there, next to the launchpads. The example is abridged: the live response lists every key and every chain.</Note>

<RequestExample>
  ```bash cURL theme={null}
  curl 'https://api.serialized.xyz/v1/meta/factories' \
    -H 'Authorization: YOUR_API_KEY'
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "data": {
      "factories": [
        "APE_STORE",
        "BANKR",
        "CLANKER",
        "FLAUNCH",
        "FOUR_MEME",
        "HEAVEN",
        "METEORA_DBC",
        "PUMPFUN",
        "RAYDIUM_LAUNCHLAB",
        "VIRTUAL",
        "ZORA"
      ],
      "byChain": {
        "evm:8453": [
          "APE_STORE",
          "B20",
          "BANKR",
          "CLANKER",
          "FLAUNCH",
          "VIRTUAL",
          "ZORA"
        ],
        "solana": [
          "BAGS",
          "BOOP",
          "HEAVEN",
          "JUPITER_STUDIO",
          "LET_S_BONK",
          "METEORA_DBC",
          "PUMPFUN",
          "PUMPSWAP",
          "RAYDIUM",
          "RAYDIUM_LAUNCHLAB"
        ]
      },
      "launchpads": {
        "CLANKER": {
          "name": "Clanker",
          "logo": "https://serialized.cloud/logos/dex/clanker.f7515630.webp",
          "color": "#8A63D2",
          "tokenUrl": "https://www.clanker.world/clanker/{address}"
        },
        "METEORA_DBC": {
          "name": "Meteora DBC",
          "logo": "https://serialized.cloud/logos/dex/meteora.ec463e63.webp",
          "color": "#E040FB",
          "tokenUrl": null
        },
        "PUMPFUN": {
          "name": "Pump.fun",
          "logo": "https://serialized.cloud/logos/dex/pumpfun.9eff8393.webp",
          "color": "#53D38A",
          "tokenUrl": "https://pump.fun/coin/{address}"
        }
      },
      "exchanges": {
        "PUMP_FUN": {
          "name": "Pump.fun",
          "logo": "https://serialized.cloud/logos/dex/pumpfun.9eff8393.webp",
          "color": "#53D38A"
        },
        "PUMP_SWAP": {
          "name": "PumpSwap",
          "logo": "https://serialized.cloud/logos/dex/pumpswap.4004b15c.webp",
          "color": "#00D4AA"
        },
        "UNISWAP_V4": {
          "name": "Uniswap V4",
          "logo": "https://serialized.cloud/logos/dex/uniswap.680e6da3.svg",
          "color": "#FF007A"
        }
      }
    },
    "meta": {
      "asOf": 1790000000000,
      "registryVersion": "2a7d3ab18488"
    }
  }
  ```
</ResponseExample>


## OpenAPI

````yaml openapi.json GET /v1/meta/factories
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/meta/factories:
    get:
      summary: Factories
      description: >-
        Launchpad and factory keys of the registry: `factories` lists every key,
        `byChain` the keys the `factories=` filter of `/v1/pulse` accepts for
        each chain. EVM and Solana. Free.
      operationId: get-v1-meta-factories
      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.