{
  "$comment": "GENERATED FROM api/_tools/<slug>/route.mjs — do not edit by hand",
  "type": "https://eips.ethereum.org/EIPS/eip-8257#tool-manifest-v1",
  "name": "collection-stats",
  "description": "NFT collection health snapshot from OpenSea: floor price, 24h volume, total sales, owner count with distribution percentage, creator royalty vs protocol fee split, and top-5 live bids. Multi-slug compare supported (up to 5 slugs per request). 5-minute cache.",
  "endpoint": "https://www.clawbots.org/api/tools/collection-stats",
  "inputs": {
    "type": "object",
    "properties": {
      "slug": {
        "oneOf": [
          {
            "type": "string",
            "description": "Single OpenSea collection slug (e.g. 'normies-art')"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 5,
            "description": "Repeated query param OR comma-separated string for multi-slug compare"
          }
        ],
        "description": "OpenSea collection slug(s). Pass ?slug=x or ?slug=x&slug=y or POST { slugs: [...] }."
      },
      "slugs": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "maxItems": 5,
        "description": "Alias for `slug` when passed as an array (preferred in POST bodies)."
      }
    },
    "required": [
      "slug"
    ],
    "additionalProperties": false
  },
  "outputs": {
    "type": "object",
    "description": "Single collection object when one slug is requested; array of collection objects when multiple slugs are requested.",
    "oneOf": [
      {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "chain": {
            "type": "string",
            "description": "EVM chain reported by OpenSea (e.g. 'ethereum', 'base')"
          },
          "contract": {
            "type": "string",
            "nullable": true
          },
          "totalSupply": {
            "type": "integer",
            "nullable": true
          },
          "owners": {
            "type": "integer",
            "nullable": true
          },
          "ownershipPct": {
            "type": "integer",
            "nullable": true,
            "description": "owners / totalSupply * 100, rounded"
          },
          "floorEth": {
            "type": "number",
            "nullable": true
          },
          "floorUsd": {
            "type": "number",
            "nullable": true
          },
          "volume24hEth": {
            "type": "number",
            "nullable": true
          },
          "volumeUsd24h": {
            "type": "number",
            "nullable": true
          },
          "sales24h": {
            "type": "integer",
            "nullable": true
          },
          "avgPrice24hEth": {
            "type": "number",
            "nullable": true
          },
          "allTimeVolumeEth": {
            "type": "number",
            "nullable": true
          },
          "creatorRoyaltyPct": {
            "type": "number"
          },
          "protocolFeePct": {
            "type": "number"
          },
          "topBidsEth": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Top 5 live collection-bid prices in ETH"
          },
          "bidFloorEth": {
            "type": "number",
            "nullable": true,
            "description": "Highest live bid (topBidsEth[0]) or null"
          },
          "fetchedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "slug",
          "name",
          "chain",
          "creatorRoyaltyPct",
          "protocolFeePct",
          "topBidsEth",
          "fetchedAt"
        ]
      },
      {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "slug": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "chain": {
              "type": "string",
              "description": "EVM chain reported by OpenSea (e.g. 'ethereum', 'base')"
            },
            "contract": {
              "type": "string",
              "nullable": true
            },
            "totalSupply": {
              "type": "integer",
              "nullable": true
            },
            "owners": {
              "type": "integer",
              "nullable": true
            },
            "ownershipPct": {
              "type": "integer",
              "nullable": true,
              "description": "owners / totalSupply * 100, rounded"
            },
            "floorEth": {
              "type": "number",
              "nullable": true
            },
            "floorUsd": {
              "type": "number",
              "nullable": true
            },
            "volume24hEth": {
              "type": "number",
              "nullable": true
            },
            "volumeUsd24h": {
              "type": "number",
              "nullable": true
            },
            "sales24h": {
              "type": "integer",
              "nullable": true
            },
            "avgPrice24hEth": {
              "type": "number",
              "nullable": true
            },
            "allTimeVolumeEth": {
              "type": "number",
              "nullable": true
            },
            "creatorRoyaltyPct": {
              "type": "number"
            },
            "protocolFeePct": {
              "type": "number"
            },
            "topBidsEth": {
              "type": "array",
              "items": {
                "type": "number"
              },
              "description": "Top 5 live collection-bid prices in ETH"
            },
            "bidFloorEth": {
              "type": "number",
              "nullable": true,
              "description": "Highest live bid (topBidsEth[0]) or null"
            },
            "fetchedAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "required": [
            "slug",
            "name",
            "chain",
            "creatorRoyaltyPct",
            "protocolFeePct",
            "topBidsEth",
            "fetchedAt"
          ]
        }
      }
    ]
  },
  "creatorAddress": "0xef2cc7d15d3421629f93ffa39727f14179f31c75",
  "tags": [
    "opensea",
    "nft",
    "collection",
    "floor",
    "volume",
    "base"
  ],
  "pricing": [
    {
      "amount": "0.02",
      "asset": "USDC",
      "recipient": "0xef2cc7d15d3421629f93ffa39727f14179f31c75",
      "protocol": "x402"
    }
  ],
  "authentication": [
    {
      "type": "siwe",
      "description": "Sign In With Ethereum. Holders of the Axiom Tool Pass NFT get free unlimited access. Sign a SIWE message proving wallet ownership; the server verifies your wallet holds the pass on-chain.",
      "header": "Authorization: SIWE <base64url(message)>.<0xsignature>",
      "passContract": "0xfc9ce3990f85fA1A3a0eE51a710642396a6Cad82",
      "chain": "base",
      "chainId": 8453,
      "collection": "https://opensea.io/collection/axiom-tool-pass"
    },
    {
      "type": "x402",
      "description": "Pay per call in USDC on Base via the x402 protocol. No account or API key needed.",
      "header": "x-payment: <x402 authorization>"
    }
  ],
  "onChain": {
    "registry": "0x265BB2DBFC0A8165C9A1941Eb1372F349baD2cf1",
    "chainId": 8453,
    "toolId": 18
  }
}
