{
  "schemaVersion": "1.0",
  "item": {
    "slug": "x402-private-web-tools",
    "name": "x402 Private Web Tools",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/kodos-vibe/x402-private-web-tools",
    "canonicalUrl": "https://clawhub.ai/kodos-vibe/x402-private-web-tools",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/x402-private-web-tools",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=x402-private-web-tools",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/services.md",
      "scripts/setup.sh",
      "scripts/wallet-gen.mjs",
      "scripts/x402-fetch.mjs"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/x402-private-web-tools"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/x402-private-web-tools",
    "agentPageUrl": "https://openagent3.xyz/skills/x402-private-web-tools/agent",
    "manifestUrl": "https://openagent3.xyz/skills/x402-private-web-tools/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/x402-private-web-tools/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "x402 Private Web Tools",
        "body": "Search, scrape, and screenshot the web privately. Uses the x402 payment protocol — your agent pays per request with USDC on Base mainnet. No API keys, no accounts, no logging.\n\nServices:\n\n🔍 Web Search — Multi-engine private search ($0.002/query)\n🕸️ Web Scrape — Extract clean markdown from any URL ($0.005/page)\n📸 Screenshot — Capture any URL as PNG/JPEG ($0.002/shot)\n\nGateway: https://search.reversesandbox.com"
      },
      {
        "title": "Prerequisites",
        "body": "Node.js 18+\nA Base mainnet wallet with ETH (gas) and USDC (payments)"
      },
      {
        "title": "1. Install dependencies",
        "body": "bash <skill-dir>/scripts/setup.sh\n\nInstalls the x402 SDK to ~/.x402-client/. Only needed once."
      },
      {
        "title": "2. Generate a wallet (if you don't have one)",
        "body": "node <skill-dir>/scripts/wallet-gen.mjs --out ~/.x402-client/wallet.key"
      },
      {
        "title": "3. Fund the wallet",
        "body": "Send USDC and a small amount of ETH (for gas) on Base mainnet to the wallet address printed by wallet-gen.\n\nUSDC on Base: Bridge from any chain or buy on an exchange\nETH on Base: ~$0.50 is enough for thousands of requests"
      },
      {
        "title": "4. Store the key",
        "body": "export X402_PRIVATE_KEY=$(cat ~/.x402-client/wallet.key)\n\nOr pass --key-file ~/.x402-client/wallet.key to each request."
      },
      {
        "title": "Usage",
        "body": "All commands run from ~/.x402-client/:\n\ncd ~/.x402-client && node <skill-dir>/scripts/x402-fetch.mjs \"<url>\" --key-file wallet.key"
      },
      {
        "title": "Web Search ($0.002/query)",
        "body": "node <skill-dir>/scripts/x402-fetch.mjs \\\n  \"https://search.reversesandbox.com/web/search?q=latest+AI+news&count=10\" \\\n  --key-file ~/.x402-client/wallet.key\n\nParameters: q (required), count (1-20, default 10), offset (default 0)\n\nResponse:\n\n{\n  \"query\": { \"original\": \"latest AI news\" },\n  \"web\": {\n    \"results\": [\n      { \"title\": \"...\", \"url\": \"...\", \"description\": \"...\" }\n    ]\n  }\n}"
      },
      {
        "title": "Web Scrape ($0.005/page)",
        "body": "node <skill-dir>/scripts/x402-fetch.mjs \\\n  \"https://search.reversesandbox.com/scrape/extract\" \\\n  --method POST \\\n  --body '{\"url\": \"https://example.com\", \"format\": \"markdown\"}' \\\n  --key-file ~/.x402-client/wallet.key\n\nBody (JSON): url (required), format (\"markdown\"|\"text\", default \"markdown\"), includeLinks (bool), timeout (ms)\n\nResponse:\n\n{\n  \"title\": \"Example Domain\",\n  \"content\": \"# Example Domain\\nThis domain is for use in...\",\n  \"url\": \"https://example.com\",\n  \"timestamp\": \"2026-02-16T09:00:00.000Z\",\n  \"format\": \"markdown\"\n}"
      },
      {
        "title": "Screenshot ($0.002/shot)",
        "body": "node <skill-dir>/scripts/x402-fetch.mjs \\\n  \"https://search.reversesandbox.com/screenshot/?url=https://example.com&width=1280&height=720\" \\\n  --key-file ~/.x402-client/wallet.key \\\n  --save screenshot.png\n\nParameters: url (required), format (png|jpeg, default png), width (320-3840), height (200-2160), fullPage (true|false), quality (1-100, jpeg only)\n\nReturns: Binary PNG or JPEG image. Use --save <file> to write to disk."
      },
      {
        "title": "MCP Server",
        "body": "For MCP-compatible agents (Claude, etc.), use the MCP server:\n\n# Install\nnpm install -g x402-tools-mcp\n\n# Run (set your wallet key)\nX402_PRIVATE_KEY=0x... x402-tools-mcp\n\nGitHub: https://github.com/kodos-vibe/x402-tools-mcp\n\nProvides tools: web_search, web_scrape, screenshot"
      },
      {
        "title": "Free Endpoints (no payment required)",
        "body": "GET /health — Service status\nGET /routes — List all endpoints with prices"
      },
      {
        "title": "Troubleshooting",
        "body": "\"insufficient funds\": Wallet needs more USDC or ETH on Base mainnet.\n402 with no auto-payment: Ensure setup.sh was run and you're in ~/.x402-client/.\nSlow scrape (10s+): Complex JS-heavy pages take longer. Use the timeout parameter.\nEmpty search results: Try different query terms. Some niche queries may return fewer results."
      }
    ],
    "body": "x402 Private Web Tools\n\nSearch, scrape, and screenshot the web privately. Uses the x402 payment protocol — your agent pays per request with USDC on Base mainnet. No API keys, no accounts, no logging.\n\nServices:\n\n🔍 Web Search — Multi-engine private search ($0.002/query)\n🕸️ Web Scrape — Extract clean markdown from any URL ($0.005/page)\n📸 Screenshot — Capture any URL as PNG/JPEG ($0.002/shot)\n\nGateway: https://search.reversesandbox.com\n\nPrerequisites\nNode.js 18+\nA Base mainnet wallet with ETH (gas) and USDC (payments)\nFirst-Time Setup\n1. Install dependencies\nbash <skill-dir>/scripts/setup.sh\n\n\nInstalls the x402 SDK to ~/.x402-client/. Only needed once.\n\n2. Generate a wallet (if you don't have one)\nnode <skill-dir>/scripts/wallet-gen.mjs --out ~/.x402-client/wallet.key\n\n3. Fund the wallet\n\nSend USDC and a small amount of ETH (for gas) on Base mainnet to the wallet address printed by wallet-gen.\n\nUSDC on Base: Bridge from any chain or buy on an exchange\nETH on Base: ~$0.50 is enough for thousands of requests\n4. Store the key\nexport X402_PRIVATE_KEY=$(cat ~/.x402-client/wallet.key)\n\n\nOr pass --key-file ~/.x402-client/wallet.key to each request.\n\nUsage\n\nAll commands run from ~/.x402-client/:\n\ncd ~/.x402-client && node <skill-dir>/scripts/x402-fetch.mjs \"<url>\" --key-file wallet.key\n\nWeb Search ($0.002/query)\nnode <skill-dir>/scripts/x402-fetch.mjs \\\n  \"https://search.reversesandbox.com/web/search?q=latest+AI+news&count=10\" \\\n  --key-file ~/.x402-client/wallet.key\n\n\nParameters: q (required), count (1-20, default 10), offset (default 0)\n\nResponse:\n\n{\n  \"query\": { \"original\": \"latest AI news\" },\n  \"web\": {\n    \"results\": [\n      { \"title\": \"...\", \"url\": \"...\", \"description\": \"...\" }\n    ]\n  }\n}\n\nWeb Scrape ($0.005/page)\nnode <skill-dir>/scripts/x402-fetch.mjs \\\n  \"https://search.reversesandbox.com/scrape/extract\" \\\n  --method POST \\\n  --body '{\"url\": \"https://example.com\", \"format\": \"markdown\"}' \\\n  --key-file ~/.x402-client/wallet.key\n\n\nBody (JSON): url (required), format (\"markdown\"|\"text\", default \"markdown\"), includeLinks (bool), timeout (ms)\n\nResponse:\n\n{\n  \"title\": \"Example Domain\",\n  \"content\": \"# Example Domain\\nThis domain is for use in...\",\n  \"url\": \"https://example.com\",\n  \"timestamp\": \"2026-02-16T09:00:00.000Z\",\n  \"format\": \"markdown\"\n}\n\nScreenshot ($0.002/shot)\nnode <skill-dir>/scripts/x402-fetch.mjs \\\n  \"https://search.reversesandbox.com/screenshot/?url=https://example.com&width=1280&height=720\" \\\n  --key-file ~/.x402-client/wallet.key \\\n  --save screenshot.png\n\n\nParameters: url (required), format (png|jpeg, default png), width (320-3840), height (200-2160), fullPage (true|false), quality (1-100, jpeg only)\n\nReturns: Binary PNG or JPEG image. Use --save <file> to write to disk.\n\nMCP Server\n\nFor MCP-compatible agents (Claude, etc.), use the MCP server:\n\n# Install\nnpm install -g x402-tools-mcp\n\n# Run (set your wallet key)\nX402_PRIVATE_KEY=0x... x402-tools-mcp\n\n\nGitHub: https://github.com/kodos-vibe/x402-tools-mcp\n\nProvides tools: web_search, web_scrape, screenshot\n\nFree Endpoints (no payment required)\nGET /health — Service status\nGET /routes — List all endpoints with prices\nTroubleshooting\n\"insufficient funds\": Wallet needs more USDC or ETH on Base mainnet.\n402 with no auto-payment: Ensure setup.sh was run and you're in ~/.x402-client/.\nSlow scrape (10s+): Complex JS-heavy pages take longer. Use the timeout parameter.\nEmpty search results: Try different query terms. Some niche queries may return fewer results."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/kodos-vibe/x402-private-web-tools",
    "publisherUrl": "https://clawhub.ai/kodos-vibe/x402-private-web-tools",
    "owner": "kodos-vibe",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/x402-private-web-tools",
    "downloadUrl": "https://openagent3.xyz/downloads/x402-private-web-tools",
    "agentUrl": "https://openagent3.xyz/skills/x402-private-web-tools/agent",
    "manifestUrl": "https://openagent3.xyz/skills/x402-private-web-tools/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/x402-private-web-tools/agent.md"
  }
}