{
  "$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-trust-score",
  "description": "Composite 0-100 trust score for any Base agent or wallet. Aggregates AgentCheck certification (+30 pts), ERC-8257 tool footprint (+25 max), and Blockscout onchain profile (tx activity, wallet age, ETH balance, ENS). Returns tier label (unknown to elite) plus per-signal breakdown. For agent discovery, routing decisions, and pre-delegation trust checks.",
  "endpoint": "https://www.clawbots.org/api/tools/agent-trust-score",
  "image": "https://www.clawbots.org/tools/icons/agent-trust-score.png",
  "featuredImage": "https://www.clawbots.org/tools/featured/agent-trust-score.png",
  "inputs": {
    "type": "object",
    "properties": {
      "address": {
        "type": "string",
        "description": "EVM address to score (0x… 42 chars). Works for EOAs and contracts."
      }
    },
    "required": [
      "address"
    ],
    "additionalProperties": false
  },
  "outputs": {
    "type": "object",
    "properties": {
      "address": {
        "type": "string",
        "description": "Normalized (lowercase) input address."
      },
      "score": {
        "type": "integer",
        "minimum": 0,
        "maximum": 100,
        "description": "Composite trust score (0 = untrusted, 100 = maximum trust)."
      },
      "tier": {
        "type": "string",
        "enum": [
          "unknown",
          "emerging",
          "established",
          "trusted",
          "elite"
        ],
        "description": "Human-readable tier bucketed from score."
      },
      "signals": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Ordered list of scoring signals with individual point contributions."
      },
      "dimensions": {
        "type": "object",
        "description": "Raw values used to compute the score.",
        "properties": {
          "certified": {
            "type": "boolean"
          },
          "toolsOnChain": {
            "type": "integer"
          },
          "txCount": {
            "type": "integer"
          },
          "ethBalance": {
            "type": "number"
          },
          "ensName": {
            "type": [
              "string",
              "null"
            ]
          },
          "walletAgeDays": {
            "type": "integer"
          }
        }
      },
      "certHash": {
        "type": [
          "string",
          "null"
        ],
        "description": "AgentCheck cert hash (bytes32) if present."
      },
      "batteryHash": {
        "type": [
          "string",
          "null"
        ],
        "description": "AgentCheck battery hash (bytes32) if present."
      },
      "checkedAt": {
        "type": "string",
        "format": "date-time",
        "description": "ISO 8601 timestamp of this evaluation."
      }
    },
    "required": [
      "address",
      "score",
      "tier",
      "signals",
      "dimensions",
      "checkedAt"
    ],
    "additionalProperties": false
  },
  "creatorAddress": "0xef2cc7d15d3421629f93ffa39727f14179f31c75",
  "tags": [
    "agent",
    "trust",
    "erc-8257",
    "agentcheck",
    "reputation",
    "scoring",
    "base",
    "x402"
  ],
  "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": 132
  }
}
