{
  "$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": "agent-directory",
  "description": "Paginated Base registry directory for machine-checkable agent tools. Reads ERC-8257 ToolRegistry configs, filters by creator/origin, optionally enriches returned rows with live manifests, and includes Axiom's ERC-8004 agent anchor so callers can connect tool identities to an agent registration receipt.",
  "endpoint": "https://www.clawbots.org/api/tools/agent-directory",
  "image": "https://www.clawbots.org/tools/icons/agent-directory.png",
  "featuredImage": "https://www.clawbots.org/tools/featured/agent-directory.png",
  "inputs": {
    "type": "object",
    "properties": {
      "owner": {
        "type": "string",
        "description": "Optional creator wallet filter (0x...)."
      },
      "origin": {
        "type": "string",
        "description": "Optional manifest origin filter, e.g. https://www.clawbots.org."
      },
      "limit": {
        "type": "integer",
        "description": "Page size, 1-50. Default 25.",
        "default": 25
      },
      "offset": {
        "type": "integer",
        "description": "Zero-based row offset. Default 0.",
        "default": 0
      },
      "includeManifest": {
        "type": "boolean",
        "description": "Fetch and attach live manifest summaries for returned rows only. Default false.",
        "default": false
      }
    },
    "additionalProperties": false
  },
  "outputs": {
    "type": "object",
    "properties": {
      "chain": {
        "type": "string",
        "description": "Always base."
      },
      "registry": {
        "type": "string",
        "description": "ERC-8257 ToolRegistry contract address on Base."
      },
      "registryStandard": {
        "type": "string",
        "description": "Always ERC-8257."
      },
      "fetchedAt": {
        "type": "string",
        "format": "date-time"
      },
      "totalRegistrySlots": {
        "type": "integer",
        "description": "Raw toolCount() from the registry."
      },
      "totalRegistered": {
        "type": "integer",
        "description": "Non-empty configs found."
      },
      "totalMatched": {
        "type": "integer",
        "description": "Rows matching owner/origin filters before pagination."
      },
      "limit": {
        "type": "integer"
      },
      "offset": {
        "type": "integer"
      },
      "nextOffset": {
        "type": [
          "integer",
          "null"
        ]
      },
      "filters": {
        "type": "object"
      },
      "knownAgents": {
        "type": "array",
        "description": "Known ERC-8004 agent anchors related to this directory."
      },
      "tools": {
        "type": "array",
        "description": "Paginated registered ERC-8257 tool configs."
      },
      "evidence": {
        "type": "object",
        "description": "Calls and upstreams used to build the directory."
      }
    },
    "required": [
      "chain",
      "registry",
      "registryStandard",
      "fetchedAt",
      "totalRegistrySlots",
      "totalRegistered",
      "totalMatched",
      "limit",
      "offset",
      "nextOffset",
      "filters",
      "knownAgents",
      "tools",
      "evidence"
    ]
  },
  "creatorAddress": "0xef2cc7d15d3421629f93ffa39727f14179f31c75",
  "tags": [
    "agent",
    "registry",
    "erc-8257",
    "erc-8004",
    "base",
    "directory",
    "receipts"
  ],
  "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": 211
  }
}
