Skip to main content

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

# 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

{
  "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

FieldTypeDescription
idstringUnique chain identifier (e.g. evm:1, solana)
namestringHuman-readable chain name
typestringChain type (evm, solana, sui, starknet, etc.)
chainIdnumber | stringNumeric chain ID (EVM) or string identifier
testnetbooleanWhether this is a testnet
indexingbooleanWhether Mobula actively indexes this chain
averageBlockTimeInSecondsnumber | nullAverage block time
nativeobjectNative token info (name, symbol, decimals, address)
brandingobjectChain logo URL and theme color
blockExplorersobject | undefinedDefault block explorer (name, url, apiUrl)
integrationsobject | undefinedThird-party platform identifiers (GeckoTerminal, DexScreener, CoinGecko)

Factory Object

FieldTypeDescription
chainIdstringChain identifier
addressstringFactory contract address
statusstringApproval status
namestring | undefinedFactory name
metadataobject | undefinedDisplay 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