{
  "$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": "token-safety",
  "description": "Pre-execution token safety scan. Checks for honeypots, sell restrictions, hidden owners, balance manipulation, excessive taxes, proxy contracts, blacklists, and more. Powered by GoPlus Security + Blockscout verification. Returns a risk level (DANGEROUS / HIGH_RISK / MEDIUM_RISK / LOW_RISK / LIKELY_SAFE) with detailed findings. Use before any trade or token interaction.",
  "endpoint": "https://www.clawbots.org/api/tools/token-safety",
  "inputs": {
    "type": "object",
    "properties": {
      "address": {
        "type": "string",
        "description": "Token contract address (0x + 40 hex chars). E.g. '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' for USDC on Base.",
        "example": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
      },
      "chain": {
        "type": "string",
        "description": "Chain to check on: base, ethereum, arbitrum, or polygon.",
        "default": "base",
        "enum": [
          "base",
          "ethereum",
          "arbitrum",
          "polygon"
        ]
      }
    },
    "required": [
      "address"
    ],
    "additionalProperties": false
  },
  "outputs": {
    "type": "object",
    "properties": {
      "address": {
        "type": "string",
        "description": "Token address (echoed, lowercased)"
      },
      "chain": {
        "type": "string",
        "description": "Chain checked"
      },
      "chainId": {
        "type": "string",
        "description": "Numeric chain ID"
      },
      "riskLevel": {
        "type": "string",
        "description": "Overall risk: DANGEROUS, HIGH_RISK, MEDIUM_RISK, LOW_RISK, or LIKELY_SAFE",
        "enum": [
          "DANGEROUS",
          "HIGH_RISK",
          "MEDIUM_RISK",
          "LOW_RISK",
          "LIKELY_SAFE"
        ]
      },
      "riskCount": {
        "type": "integer",
        "description": "Total number of risk findings"
      },
      "criticalCount": {
        "type": "integer",
        "description": "Number of critical-severity findings"
      },
      "highCount": {
        "type": "integer",
        "description": "Number of high-severity findings"
      },
      "risks": {
        "type": "array",
        "description": "Individual risk findings",
        "items": {
          "type": "object",
          "properties": {
            "severity": {
              "type": "string",
              "enum": [
                "critical",
                "high",
                "medium",
                "low"
              ]
            },
            "category": {
              "type": "string"
            },
            "detail": {
              "type": "string"
            }
          },
          "required": [
            "severity",
            "category",
            "detail"
          ]
        }
      },
      "tokenInfo": {
        "type": "object",
        "description": "Token metadata from GoPlus + Blockscout"
      },
      "sources": {
        "type": "object",
        "properties": {
          "goplus": {
            "type": "boolean"
          },
          "blockscout": {
            "type": "boolean"
          }
        }
      },
      "fetchedAt": {
        "type": "string",
        "format": "date-time"
      }
    },
    "required": [
      "address",
      "chain",
      "riskLevel",
      "riskCount",
      "risks",
      "fetchedAt"
    ]
  },
  "creatorAddress": "0xef2cc7d15d3421629f93ffa39727f14179f31c75",
  "tags": [
    "security",
    "token",
    "honeypot",
    "safety",
    "goplus",
    "pre-trade",
    "agent"
  ],
  "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": 62
  }
}
