{
  "name": "x402tools",
  "description": "Pay-per-call utility APIs for AI agents. No API keys, no subscriptions. USDC micropayments on Base via x402 protocol.",
  "homepage": "https://x402tools.xyz",
  "documentation": "https://x402tools.xyz/llms-full.txt",
  "protocol": "x402",
  "mcp": {
    "url": "https://mcp.x402tools.xyz/mcp",
    "transport": "streamable-http",
    "discovery": "https://mcp.x402tools.xyz/.well-known/mcp",
    "registry_name": "io.github.acrylicfiddle/x402tools",
    "npm_package": "@x402-tools/mcp",
    "tools_count": 10,
    "payment_model": "passthrough"
  },
  "payment": {
    "token": "USDC",
    "network": "eip155:8453",
    "network_name": "Base",
    "facilitator": "https://x402.org/facilitator"
  },
  "services": [
    {
      "name": "qr-generator",
      "description": "Generate a QR code from any text, URL, or data. Returns a scannable PNG, SVG, or Base64 image. Use for QR code creation, link encoding, and barcode generation.",
      "endpoint": "https://qr.x402tools.xyz/v1/generate",
      "method": "POST",
      "price": "$0.01",
      "content_type": "application/json",
      "response_type": "image/png",
      "input_schema": {
        "type": "object",
        "required": ["text"],
        "properties": {
          "text": {
            "type": "string",
            "description": "Content to encode in QR code"
          },
          "size": {
            "type": "number",
            "description": "Image width/height in pixels",
            "default": 256
          },
          "format": {
            "type": "string",
            "enum": ["png", "svg", "base64"],
            "description": "Output format",
            "default": "png"
          }
        }
      },
      "example_request": {
        "text": "https://x402tools.xyz",
        "size": 512,
        "format": "png"
      },
      "health_endpoint": "https://qr.x402tools.xyz/health",
      "preview_endpoint": "https://qr.x402tools.xyz/preview"
    },
    {
      "name": "styled-qr-generator",
      "description": "Generate a branded, artistic QR code with custom dot shapes, colors, and gradients (dots, diamonds, rounded, star; linear/radial gradients). Returns PNG, SVG, or Base64. Use for designer QR codes, logo QR codes, and styled marketing barcodes.",
      "endpoint": "https://qr.x402tools.xyz/v1/generate/styled",
      "method": "POST",
      "price": "$0.05",
      "content_type": "application/json",
      "response_type": "image/png",
      "input_schema": {
        "type": "object",
        "required": ["text"],
        "properties": {
          "text": {
            "type": "string",
            "description": "Content to encode in QR code"
          },
          "size": {
            "type": "number",
            "description": "Image width/height in pixels",
            "default": 512
          },
          "format": {
            "type": "string",
            "enum": ["png", "svg", "base64"],
            "description": "Output format",
            "default": "png"
          },
          "dotType": {
            "type": "string",
            "enum": ["rounded", "dots", "diamond", "star", "square"],
            "description": "Shape of QR modules",
            "default": "rounded"
          },
          "dotColor": {
            "type": "string",
            "description": "Hex color for dots (ignored if gradient set)",
            "default": "#000000"
          },
          "backgroundColor": {
            "type": "string",
            "description": "Hex background color",
            "default": "#ffffff"
          },
          "cornerColor": {
            "type": "string",
            "description": "Hex color for finder pattern corners"
          },
          "gradient": {
            "type": "object",
            "description": "Gradient for dot colors",
            "properties": {
              "type": { "type": "string", "enum": ["linear", "radial"], "default": "linear" },
              "from": { "type": "string", "description": "Start hex color" },
              "to": { "type": "string", "description": "End hex color" }
            }
          }
        }
      },
      "example_request": {
        "text": "https://x402tools.xyz",
        "size": 512,
        "dotType": "rounded",
        "gradient": { "from": "#6366f1", "to": "#ec4899" },
        "backgroundColor": "#1e1b4b"
      },
      "health_endpoint": "https://qr.x402tools.xyz/health",
      "preview_endpoint": "https://qr.x402tools.xyz/preview"
    },
    {
      "name": "screenshot",
      "description": "Capture a screenshot of any website or web page. Supports full-page capture, custom viewport, dark mode, element selectors, and delayed capture. Returns PNG or JPEG. Use for webpage rendering, visual scraping, and thumbnail generation.",
      "endpoint": "https://snap.x402tools.xyz/v1/capture",
      "method": "POST",
      "price": "$0.05",
      "content_type": "application/json",
      "response_type": "image/png",
      "input_schema": {
        "type": "object",
        "required": ["url"],
        "properties": {
          "url": {
            "type": "string",
            "description": "URL to screenshot"
          },
          "width": {
            "type": "number",
            "description": "Viewport width in pixels",
            "default": 1280
          },
          "height": {
            "type": "number",
            "description": "Viewport height in pixels",
            "default": 720
          },
          "fullPage": {
            "type": "boolean",
            "description": "Capture full scrollable page",
            "default": false
          },
          "format": {
            "type": "string",
            "enum": ["png", "jpeg"],
            "description": "Output image format",
            "default": "png"
          },
          "darkMode": {
            "type": "boolean",
            "description": "Emulate prefers-color-scheme: dark",
            "default": false
          },
          "delay": {
            "type": "number",
            "description": "Wait ms after page load before capture",
            "default": 0
          },
          "selector": {
            "type": "string",
            "description": "CSS selector to capture specific element instead of full viewport"
          }
        }
      },
      "example_request": {
        "url": "https://example.com",
        "width": 1280,
        "height": 720,
        "fullPage": true,
        "darkMode": true
      },
      "health_endpoint": "https://snap.x402tools.xyz/health",
      "preview_endpoint": "https://snap.x402tools.xyz/preview"
    },
    {
      "name": "dns-lookup",
      "description": "Look up DNS records for any domain — A, AAAA, MX, NS, TXT, CNAME, SOA. Use for domain diagnostics, mail server lookup, DNS resolution, and domain verification.",
      "endpoint": "https://dns.x402tools.xyz/v1/lookup",
      "method": "GET",
      "price": "$0.02",
      "response_type": "application/json",
      "input_schema": {
        "type": "object",
        "required": ["domain"],
        "properties": {
          "domain": {
            "type": "string",
            "description": "Domain name to look up"
          }
        }
      },
      "example_request": {
        "domain": "example.com"
      },
      "example_response": {
        "domain": "example.com",
        "records": {
          "A": ["93.184.216.34"],
          "AAAA": ["2606:2800:220:1:248:1893:25c8:1946"],
          "MX": [{"priority": 10, "exchange": "mail.example.com"}],
          "NS": ["a.iana-servers.net", "b.iana-servers.net"],
          "TXT": ["v=spf1 -all"]
        },
        "query_time_ms": 45
      },
      "health_endpoint": "https://dns.x402tools.xyz/health",
      "preview_endpoint": "https://dns.x402tools.xyz/preview"
    },
    {
      "name": "docparse",
      "description": "Parse any public HTML page or PDF URL into clean structured JSON. Auto-detects document type (article, invoice, research paper, generic) and returns typed content. Use for web scraping, document extraction, content cleaning, and PDF-to-JSON conversion.",
      "endpoint": "https://docparse.x402tools.xyz/parse",
      "method": "POST",
      "price": "$0.01",
      "content_type": "application/json",
      "response_type": "application/json",
      "input_schema": {
        "type": "object",
        "required": ["url"],
        "properties": {
          "url": {
            "type": "string",
            "description": "Public URL of HTML page or PDF to parse"
          },
          "options": {
            "type": "object",
            "properties": {
              "output_schema": {
                "type": "string",
                "enum": ["auto", "article", "invoice", "research", "generic"],
                "description": "Force a specific output schema or let auto-detect choose",
                "default": "auto"
              },
              "include_raw_text": {
                "type": "boolean",
                "description": "Include raw extracted text in response",
                "default": false
              },
              "max_sections": {
                "type": "number",
                "description": "Maximum sections to extract (1-100)",
                "default": 20
              },
              "language": {
                "type": "string",
                "description": "Preferred output language (ISO 639-1, e.g. 'en')"
              }
            }
          }
        }
      },
      "example_request": {
        "url": "https://example.com/article",
        "options": {
          "output_schema": "auto"
        }
      },
      "example_response": {
        "doc_type": "article",
        "title": "Example Article",
        "metadata": {
          "source_url": "https://example.com/article",
          "detected_content_type": "html",
          "language": "en",
          "word_count": 1200,
          "truncated": false,
          "parse_duration_ms": 2100
        },
        "content": {
          "summary": "Brief summary...",
          "sections": [{"heading": "Introduction", "body": "..."}],
          "key_points": ["Point 1", "Point 2"],
          "topics": ["technology"]
        }
      },
      "health_endpoint": "https://docparse.x402tools.xyz/health",
      "preview_endpoint": "https://docparse.x402tools.xyz/preview"
    },
    {
      "name": "guardex",
      "description": "Screen text for prompt injection and jailbreak attacks before passing it to an LLM. Uses LLM analysis + regex heuristics across 10 attack categories. Returns risk level (safe/low/medium/high/critical), confidence, threat categories, and flagged snippets. Use for AI security, LLM input sanitization, and prompt firewalls.",
      "endpoint": "https://guard.x402tools.xyz/screen",
      "method": "POST",
      "price": "$0.03",
      "content_type": "application/json",
      "response_type": "application/json",
      "input_schema": {
        "type": "object",
        "required": ["text"],
        "properties": {
          "text": {
            "type": "string",
            "description": "Text to screen for prompt injection"
          },
          "context": {
            "type": "object",
            "properties": {
              "source": {
                "type": "string",
                "description": "Origin of the text (user_input, email, form, etc.)"
              }
            }
          },
          "options": {
            "type": "object",
            "properties": {
              "sensitivity": {
                "type": "string",
                "enum": ["low", "medium", "high"],
                "default": "medium"
              },
              "redacted": {
                "type": "boolean",
                "default": false
              }
            }
          }
        }
      },
      "example_request": {
        "text": "Please summarize this article for me.",
        "options": {
          "sensitivity": "medium"
        }
      },
      "example_response": {
        "risk_level": "safe",
        "safe_to_proceed": true,
        "confidence": 0.95,
        "categories": {},
        "threat_snippets": [],
        "meta": {
          "model": "gpt-4o-mini",
          "char_count": 40,
          "processing_ms": 850
        }
      },
      "health_endpoint": "https://guard.x402tools.xyz/health",
      "preview_endpoint": "https://guard.x402tools.xyz/preview"
    },
    {
      "name": "mailcheck",
      "description": "Validate and verify an email address — syntax, MX records, SMTP deliverability, disposable/temporary detection, role accounts, free providers, typo suggestions, and risk score. Use for email verification, signup validation, and lead-list cleaning.",
      "endpoint": "https://mailcheck.x402tools.xyz/v1/validate",
      "method": "POST",
      "price": "$0.03",
      "content_type": "application/json",
      "response_type": "application/json",
      "input_schema": {
        "type": "object",
        "required": ["email"],
        "properties": {
          "email": {
            "type": "string",
            "description": "Email address to validate"
          },
          "checkSmtp": {
            "type": "boolean",
            "description": "Attempt SMTP verification",
            "default": false
          }
        }
      },
      "example_request": {
        "email": "john@gmail.com",
        "checkSmtp": false
      },
      "example_response": {
        "email": "john@gmail.com",
        "valid": true,
        "score": 85,
        "checks": {
          "syntax": true,
          "mxExists": true,
          "mxAccepts": false,
          "disposable": false,
          "roleAccount": false,
          "freeProvider": true,
          "catchAll": false
        },
        "provider": "Google",
        "suggestion": null
      },
      "health_endpoint": "https://mailcheck.x402tools.xyz/health",
      "preview_endpoint": "https://mailcheck.x402tools.xyz/preview"
    },
    {
      "name": "rendex",
      "description": "Convert raw HTML or a public URL into a PDF document. Configurable page format (A4/Letter/Legal), landscape mode, custom margins, scale, headers/footers, and binary or base64 output. Use for HTML-to-PDF conversion, invoice and report generation, and webpage archiving.",
      "endpoint": "https://rendex.x402tools.xyz/v1/render",
      "method": "POST",
      "price": "$0.05",
      "content_type": "application/json",
      "response_type": "application/pdf",
      "input_schema": {
        "type": "object",
        "properties": {
          "html": {
            "type": "string",
            "description": "Raw HTML to render (max 2MB)"
          },
          "url": {
            "type": "string",
            "description": "Public URL to render"
          },
          "options": {
            "type": "object",
            "properties": {
              "format": {
                "type": "string",
                "enum": ["A4", "Letter", "Legal"],
                "default": "A4"
              },
              "landscape": {
                "type": "boolean",
                "default": false
              },
              "printBackground": {
                "type": "boolean",
                "default": true
              },
              "scale": {
                "type": "number",
                "minimum": 0.1,
                "maximum": 2,
                "default": 1
              }
            }
          },
          "output": {
            "type": "string",
            "enum": ["binary", "base64"],
            "default": "binary"
          }
        }
      },
      "example_request": {
        "html": "<h1>Hello World</h1>",
        "output": "base64"
      },
      "example_response": {
        "pdf": "JVBERi0xLjQK...",
        "pages": 1
      },
      "health_endpoint": "https://rendex.x402tools.xyz/health",
      "preview_endpoint": "https://rendex.x402tools.xyz/preview"
    },
    {
      "name": "visionex",
      "description": "Extract text from images using OCR (Tesseract). Accepts an image URL or base64 input and returns recognized text, confidence scores, and optional structured blocks with bounding boxes. Supports multiple languages and hOCR output. Use for image-to-text, document OCR, receipt and invoice scanning, and text recognition.",
      "endpoint": "https://visionex.x402tools.xyz/v1/extract",
      "method": "POST",
      "price": "$0.05",
      "content_type": "application/json",
      "response_type": "application/json",
      "input_schema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Public image URL to fetch"
          },
          "image": {
            "type": "string",
            "description": "Base64-encoded image data"
          },
          "options": {
            "type": "object",
            "properties": {
              "language": {
                "type": "string",
                "default": "eng",
                "description": "OCR language (ISO 639-3)"
              },
              "format": {
                "type": "string",
                "enum": ["text", "json", "hocr"],
                "default": "text"
              },
              "dpi": {
                "type": "number",
                "minimum": 72,
                "maximum": 600
              }
            }
          }
        }
      },
      "example_request": {
        "url": "https://example.com/invoice.png",
        "options": {
          "format": "json",
          "dpi": 300
        }
      },
      "example_response": {
        "text": "Invoice #12345\nTotal Due: $199.00",
        "confidence": 96.2,
        "blocks": [
          {
            "text": "Invoice #12345",
            "confidence": 97.4,
            "bbox": {
              "x0": 24,
              "y0": 18,
              "x1": 240,
              "y1": 54
            },
            "level": "line"
          }
        ],
        "meta": {
          "width": 1600,
          "height": 2200,
          "language": "eng",
          "duration_ms": 482
        }
      },
      "health_endpoint": "https://visionex.x402tools.xyz/health",
      "preview_endpoint": "https://visionex.x402tools.xyz/preview"
    },
    {
      "name": "prospex",
      "description": "Turn a name + company domain into a sales-ready prospect profile: seniority, buyer persona, decision-maker probability, company intel, email pattern, and a personalised cold-email opener. Use for AI SDRs, lead enrichment, and outbound personalisation.",
      "endpoint": "https://prospex.x402tools.xyz/enrich",
      "method": "POST",
      "price": "$0.50",
      "content_type": "application/json",
      "response_type": "application/json",
      "input_schema": {
        "type": "object",
        "required": ["name", "domain"],
        "properties": {
          "name": {
            "type": "string",
            "description": "Full name of the prospect"
          },
          "domain": {
            "type": "string",
            "description": "Company domain, e.g. stripe.com"
          },
          "linkedin_url": {
            "type": "string",
            "description": "Known LinkedIn profile URL (optional hint)"
          },
          "company_name": {
            "type": "string",
            "description": "Company name if known (optional)"
          },
          "options": {
            "type": "object",
            "properties": {
              "include_raw_sources": {
                "type": "boolean",
                "default": false
              }
            }
          }
        }
      },
      "example_request": {
        "name": "Patrick Collison",
        "domain": "stripe.com"
      },
      "example_response": {
        "person": {
          "name": "Patrick Collison",
          "current_title": "Co-founder & CEO",
          "current_company": "Stripe",
          "seniority": "c_suite",
          "buyer_persona": "Executive Leadership",
          "decision_maker_probability": 0.95
        },
        "company": {
          "name": "Stripe",
          "domain": "stripe.com",
          "industry": "Financial Services",
          "description": "Stripe builds economic infrastructure for the internet, powering payments for millions of businesses.",
          "tech_signals": ["Stripe", "AWS"]
        },
        "contact": {
          "email_pattern": "{first}@stripe.com",
          "email_pattern_confidence": 0.8,
          "inferred_email": "patrick@stripe.com"
        },
        "outreach": {
          "recommended_opener": "Saw Stripe keeps pushing the boundary on programmable money — curious how your team thinks about agent-driven payments.",
          "personalisation_signals": ["payments infrastructure focus"]
        },
        "meta": {
          "sources_used": ["company_site", "llm"],
          "confidence": 0.82,
          "data_freshness": "live"
        }
      },
      "health_endpoint": "https://prospex.x402tools.xyz/health",
      "preview_endpoint": "https://prospex.x402tools.xyz/preview"
    }
  ],
  "upcoming_services": []
}
