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

# Get System Metadata

> Returns supported pool types, indexed chains, and registered factories with optional filtering.

## Overview

The System Metadata endpoint provides reference data about the Mobula platform: the list of supported pool types (DEX types), all indexed blockchains with their configuration, and registered factories with optional metadata.

By default all three sections are returned. Pass `poolTypes=true`, `chains=true`, or `factories=true` to select specific sections and reduce payload size.

## Query Parameters

### Section selectors

* **`poolTypes`** (optional, boolean) — Include the list of supported pool types (e.g. `uniswap-v2`, `pumpfun`, `raydium`, etc.)
* **`chains`** (optional, boolean) — Include the list of supported blockchains
* **`factories`** (optional, boolean) — Include the list of registered factories

When none of these are specified, all sections are returned.

### Chain filters

* **`indexed`** (optional, boolean) — Filter chains by indexing status (`true` = actively indexed)
* **`type`** (optional, string) — Filter chains by type (e.g. `evm`, `solana`, `sui`, `starknet`)

### Factory filters

* **`hasMetadata`** (optional, boolean) — Only return factories that have metadata (`true`) or don't (`false`)
* **`status`** (optional, string) — Filter by approval status: `APPROVED`, `WAITING_APPROVAL`, or `NOT_APPROVED`
* **`chainId`** (optional, string) — Filter factories by chain ID (e.g. `evm:1`, `solana`)
* **`name`** (optional, string) — Case-insensitive partial match on factory name

## Usage Examples

```bash theme={null}
# Get everything (pool types + chains + factories)
curl -X GET "https://api.mobula.io/api/2/system-metadata"

# Get only supported pool types
curl -X GET "https://api.mobula.io/api/2/system-metadata?poolTypes=true"

# Get only indexed EVM chains
curl -X GET "https://api.mobula.io/api/2/system-metadata?chains=true&indexed=true&type=evm"

# Get approved factories on Base
curl -X GET "https://api.mobula.io/api/2/system-metadata?factories=true&status=APPROVED&chainId=evm:8453"

# Get factories with metadata
curl -X GET "https://api.mobula.io/api/2/system-metadata?factories=true&hasMetadata=true"
```

## Response Format

```json theme={null}
{
  "data": {
    "poolTypes": [
      "uniswap-v2",
      "uniswap-v3",
      "uniswap-v4",
      "pumpfun",
      "raydium",
      "meteora",
      "..."
    ],
    "chains": [
      {
        "id": "evm:1",
        "name": "Ethereum",
        "type": "evm",
        "chainId": 1,
        "testnet": false,
        "indexing": true,
        "averageBlockTimeInSeconds": 12,
        "native": {
          "name": "Ethereum",
          "symbol": "ETH",
          "decimals": 18,
          "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
        },
        "branding": {
          "logo": "https://metadata.mobula.io/assets/logos/...",
          "color": "#7E87A7"
        },
        "blockExplorers": {
          "default": {
            "name": "Etherscan",
            "url": "https://etherscan.io",
            "apiUrl": "https://api.etherscan.io/api"
          }
        },
        "integrations": {
          "geckoterminal": "eth",
          "dexscreener": "ethereum",
          "coingecko": "ethereum"
        }
      }
    ],
    "factories": [
      {
        "chainId": "evm:56",
        "address": "0xee638aa41e12b6c6df71f88410eb1ddd2fb28973",
        "status": "APPROVED",
        "name": "PancakeSwap V2",
        "metadata": {
          "ui_name": "PancakeSwap",
          "logo": "https://...",
          "website": "https://pancakeswap.finance"
        }
      }
    ]
  }
}
```

## Response Field Definitions

### Pool Types

A flat array of strings representing all DEX/AMM types supported by the indexer.

### Chain Object

| Field                       | Type                | Description                                                              |
| --------------------------- | ------------------- | ------------------------------------------------------------------------ |
| `id`                        | string              | Unique chain identifier (e.g. `evm:1`, `solana`)                         |
| `name`                      | string              | Human-readable chain name                                                |
| `type`                      | string              | Chain type (`evm`, `solana`, `sui`, `starknet`, etc.)                    |
| `chainId`                   | number \| string    | Numeric chain ID (EVM) or string identifier                              |
| `testnet`                   | boolean             | Whether this is a testnet                                                |
| `indexing`                  | boolean             | Whether Mobula actively indexes this chain                               |
| `averageBlockTimeInSeconds` | number \| null      | Average block time                                                       |
| `native`                    | object              | Native token info (name, symbol, decimals, address)                      |
| `branding`                  | object              | Chain logo URL and theme color                                           |
| `blockExplorers`            | object \| undefined | Default block explorer (name, url, apiUrl)                               |
| `integrations`              | object \| undefined | Third-party platform identifiers (GeckoTerminal, DexScreener, CoinGecko) |

### Factory Object

| Field      | Type                | Description                                |
| ---------- | ------------------- | ------------------------------------------ |
| `chainId`  | string              | Chain identifier                           |
| `address`  | string              | Factory contract address                   |
| `status`   | string              | Approval status                            |
| `name`     | string \| undefined | Factory name                               |
| `metadata` | object \| undefined | Display metadata (ui\_name, logo, website) |

## Use Cases

* **UI configuration** — Populate chain selectors, DEX type filters, and factory dropdowns
* **Integration discovery** — Find which chains and DEXs are supported
* **Factory lookup** — Search for specific factories by name, chain, or approval status


## OpenAPI

````yaml get /2/system-metadata
openapi: 3.0.0
info:
  version: 1.0.0
  title: Mobula API
  description: >-
    Documentation of the Mobula API


    **Demo API**: The default server (demo-api.mobula.io) is a demo API with
    rate limits.

    For production use, please use api.mobula.io with an API key from
    https://admin.mobula.io
servers:
  - url: https://demo-api.mobula.io/api/
    description: Demo API (rate limited, for testing only)
  - url: https://api.mobula.io/api/
    description: Production API (requires API key)
security: []
tags:
  - name: V2 - Token
    description: Token details, price, security, ATH, and holder data
  - name: V2 - Market Data
    description: Market details, OHLCV history, and lighthouse metrics
  - name: V2 - Trades
    description: Token trades, enriched trades, and trade filters
  - name: V2 - Wallet
    description: Wallet positions, activity, trades, analysis, and labels
  - name: V2 - Assets
    description: Cross-chain asset details and price history
  - name: V2 - Swap
    description: Swap quoting and execution
  - name: V2 - Perps
    description: Perpetual futures quoting, execution, and positions
  - name: V2 - Bridge
    description: Cross-chain bridge quoting and intent status (Alpha Preview)
  - name: V2 - DeFi
    description: Bonding pools and pulse data
  - name: V2 - Search
    description: Universal fast search
  - name: V2 - Blockchains
    description: System metadata and chain listings
  - name: V1 - Market Data
    description: Market prices, history, sparklines, pairs, and multi-data
  - name: V1 - Wallet
    description: Wallet portfolio, transactions, history, and NFTs
  - name: V1 - Token
    description: First buyers
  - name: V1 - Trades
    description: Market trades by pair
  - name: V1 - Metadata
    description: Token metadata, categories, trendings, and news
  - name: V1 - Assets
    description: List all assets
  - name: V1 - Search
    description: Search for assets, tokens, and pairs
  - name: V1 - DeFi
    description: Bonding pool pulse data
  - name: V1 - Blockchains
    description: Blockchain listings, pairs, and stats
  - name: V1 - Webhooks
    description: Webhook management
  - name: V1 - Feed
    description: Custom feed creation
paths:
  /2/system-metadata:
    get:
      tags:
        - V2 - Blockchains
      summary: Get system metadata
      description: >-
        Returns system metadata: supported pool types, indexed chains, and
        registered factories. By default all sections are returned. Pass
        poolTypes, chains, or factories to select specific sections.
      parameters:
        - schema:
            type: boolean
            description: Include the list of registered factories.
          required: false
          description: Include the list of registered factories.
          name: factories
          in: query
        - schema:
            type: boolean
            description: Include the list of supported pool types.
          required: false
          description: Include the list of supported pool types.
          name: poolTypes
          in: query
        - schema:
            type: boolean
            description: Include the list of supported chains.
          required: false
          description: Include the list of supported chains.
          name: chains
          in: query
        - schema:
            type: boolean
            description: Filter factories by metadata presence.
          required: false
          description: Filter factories by metadata presence.
          name: hasMetadata
          in: query
        - schema:
            type: string
            enum:
              - APPROVED
              - WAITING_APPROVAL
              - NOT_APPROVED
            description: Filter factories by approval status.
          required: false
          description: Filter factories by approval status.
          name: status
          in: query
        - schema:
            type: string
            description: Filter factories by chain ID.
          required: false
          description: Filter factories by chain ID.
          name: chainId
          in: query
        - schema:
            type: string
            description: Case-insensitive partial match on factory name.
          required: false
          description: Case-insensitive partial match on factory name.
          name: name
          in: query
        - schema:
            type: boolean
            description: Filter chains by indexing status.
          required: false
          description: Filter chains by indexing status.
          name: indexed
          in: query
        - schema:
            type: string
            description: Filter chains by type (e.g. "evm", "solana").
          required: false
          description: Filter chains by type (e.g. "evm", "solana").
          name: type
          in: query
      responses:
        '200':
          description: System metadata response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      poolTypes:
                        type: array
                        items:
                          type: string
                      chains:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            name:
                              type: string
                            type:
                              type: string
                            chainId:
                              anyOf:
                                - type: number
                                - type: string
                            testnet:
                              type: boolean
                            indexing:
                              type: boolean
                            averageBlockTimeInSeconds:
                              type: number
                              nullable: true
                            native:
                              type: object
                              properties:
                                name:
                                  type: string
                                symbol:
                                  type: string
                                decimals:
                                  type: number
                                address:
                                  type: string
                              required:
                                - name
                                - symbol
                                - decimals
                                - address
                            branding:
                              type: object
                              properties:
                                logo:
                                  type: string
                                color:
                                  type: string
                              required:
                                - logo
                                - color
                            blockExplorers:
                              type: object
                              properties:
                                default:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                    url:
                                      type: string
                                    apiUrl:
                                      type: string
                                  required:
                                    - name
                                    - url
                              required:
                                - default
                            integrations:
                              type: object
                              properties:
                                geckoterminal:
                                  type: string
                                dexscreener:
                                  type: string
                                coingecko:
                                  type: string
                          required:
                            - id
                            - name
                            - type
                            - chainId
                            - testnet
                            - indexing
                            - averageBlockTimeInSeconds
                            - native
                            - branding
                      factories:
                        type: array
                        items:
                          type: object
                          properties:
                            chainId:
                              type: string
                            address:
                              type: string
                            status:
                              type: string
                            name:
                              type: string
                            metadata:
                              type: object
                              properties:
                                ui_name:
                                  type: string
                                logo:
                                  type: string
                                website:
                                  type: string
                          required:
                            - chainId
                            - address
                            - status
                required:
                  - data

````