{
  "serviceId": "meme-watch",
  "displayName": "Meme Watch",
  "description": "A rolling 60-minute feed of Solana memecoin launches as one JSON object. POST /v1/launches with an optional dex filter (pumpfun, pumpswap, meteora) plus limit, age, volume, liquidity and sort options; each launch carries pool and token address, venue, price, FDV, volume, transaction count and drawdown. Point-in-time and served from cache. Pay per request in USDC; no account, no API key.",
  "category": "blockchain",
  "resourceUrl": "https://test.agent.pocket.network/v1/meme-watch",
  "priceUsd": "0.005000",
  "priceVersion": 1,
  "rails": [
    {
      "id": "base",
      "network": "eip155:84532",
      "chainId": 84532,
      "tokenAddress": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
      "tokenDecimals": 6,
      "payToAddress": "0xF732ea490c5766071785a2310523f7fA2CEbB829"
    }
  ],
  "protocols": [
    "rest"
  ],
  "inputSchema": {
    "type": "object",
    "description": "Filters for the launch feed; every field is optional and read from the POST body.",
    "properties": {
      "dex": {
        "type": "string",
        "enum": [
          "pumpfun",
          "pumpswap",
          "meteora_daam_v2",
          "meteora_dbc"
        ],
        "description": "Venue filter; omit for every venue."
      },
      "limit": {
        "type": "integer",
        "description": "Maximum launches to return."
      },
      "max_age_minutes": {
        "type": "integer",
        "description": "Only launches newer than this many minutes."
      },
      "min_txns": {
        "type": "integer",
        "description": "Minimum since-launch transaction count."
      },
      "min_volume_usd": {
        "type": "number",
        "description": "Minimum since-launch volume in USD."
      },
      "min_liquidity_usd": {
        "type": "number",
        "description": "Minimum quote-side liquidity in USD."
      },
      "named_only": {
        "type": "boolean",
        "description": "Exclude launches not yet named."
      },
      "sort": {
        "type": "string",
        "description": "Sort key for the feed."
      },
      "format": {
        "type": "string",
        "enum": [
          "json",
          "csv"
        ],
        "default": "json",
        "description": "Response format; csv rides in a csv string field."
      }
    },
    "required": []
  },
  "outputSchema": {
    "type": "object",
    "description": "For POST /v1/launches, a JSON object with window_minutes, as_of, complete_before, and a launches array; when format is csv the table rides in a `csv` string field, always last. Results are point-in-time and two suppliers may legitimately differ. The exact shape is the service's own and is not pinned here; errors return a JSON object with an `error` field, and the GET routes return their own small JSON documents."
  },
  "methods": {
    "GET /healthz": "read",
    "GET /v1/capabilities": "read",
    "GET /v1/openapi.json": "read",
    "GET /v1/version": "read",
    "POST /v1/launches": "read"
  },
  "firstParty": true,
  "networks": [
    "eip155:84532"
  ],
  "serving": true,
  "page": "https://test.agent.pocket.network/services/meme-watch",
  "descriptor": "https://test.agent.pocket.network/services/meme-watch/descriptor.json"
}