{
  "openapi": "3.0.3",
  "info": { "title": "UseAnyChain API", "version": "0.1.0", "description": "Detect, verify and scan across blockchains. Read-only, no key required." },
  "servers": [{ "url": "https://useanychain.com" }],
  "paths": {
    "/api/v1/health": { "get": { "summary": "Service status", "responses": { "200": { "description": "OK" } } } },
    "/api/v1/resolve": {
      "get": {
        "summary": "Detect chain(s) of an address, tx hash, ENS name or domain",
        "parameters": [
          { "name": "q", "in": "query", "required": true, "schema": { "type": "string" } },
          { "name": "ai", "in": "query", "schema": { "type": "string", "enum": ["0", "1"] }, "description": "Add a Claude-written brief when enabled" }
        ],
        "responses": { "200": { "description": "Analysis result" }, "400": { "description": "Bad request" }, "429": { "description": "Rate limited" } }
      }
    },
    "/api/v1/scan": {
      "get": {
        "summary": "Scan a website for blockchain support",
        "parameters": [
          { "name": "domain", "in": "query", "required": true, "schema": { "type": "string" } },
          { "name": "ai", "in": "query", "schema": { "type": "string", "enum": ["0", "1"] } }
        ],
        "responses": { "200": { "description": "Scan result with evidence" }, "400": { "description": "Invalid domain" }, "429": { "description": "Rate limited" } }
      }
    },
    "/api/v1/guard": {
      "get": {
        "summary": "Wrong-chain guard",
        "parameters": [
          { "name": "address", "in": "query", "required": true, "schema": { "type": "string" } },
          { "name": "chain", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Chain id from /api/v1/chains" }
        ],
        "responses": { "200": { "description": "Verdict: ok | warn | danger" } }
      }
    },
    "/api/v1/chains": { "get": { "summary": "Chain registry", "responses": { "200": { "description": "List of chains" } } } },
    "/api/v1/chains/{id}": {
      "get": { "summary": "One chain", "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }], "responses": { "200": { "description": "Chain" }, "404": { "description": "Unknown chain" } } }
    },
    "/api/mcp": { "post": { "summary": "MCP server (Streamable HTTP, JSON-RPC 2.0)", "responses": { "200": { "description": "JSON-RPC response" } } } }
  }
}
