{
  "schemaVersion": "1.0",
  "item": {
    "slug": "x402-2",
    "name": "X402",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/0xRAG/x402-2",
    "canonicalUrl": "https://clawhub.ai/0xRAG/x402-2",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/x402-2",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=x402-2",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "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-2"
    },
    "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-2",
    "agentPageUrl": "https://openagent3.xyz/skills/x402-2/agent",
    "manifestUrl": "https://openagent3.xyz/skills/x402-2/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/x402-2/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 Payment Protocol",
        "body": "Use the npx awal@latest x402 commands to discover, inspect, and call paid API endpoints using the X402 payment protocol. Payments are made in USDC on Base."
      },
      {
        "title": "Workflow",
        "body": "The typical x402 workflow is:\n\nFind a service - Search the bazaar or get details for a known endpoint\nCheck requirements - Inspect price, method, and input schema\nMake the request - Call the endpoint with automatic USDC payment"
      },
      {
        "title": "Search the Bazaar",
        "body": "Find paid services by keyword using BM25 relevance search:\n\nnpx awal@latest x402 bazaar search <query> [-k <n>] [--force-refresh] [--json]\n\nOptionDescription-k, --top <n>Number of results (default: 5)--force-refreshRe-fetch resource index from CDP API--jsonOutput as JSON\n\nResults are cached locally at ~/.config/awal/bazaar/ and auto-refresh after 12 hours."
      },
      {
        "title": "List Bazaar Resources",
        "body": "Browse all available resources:\n\nawal x402 bazaar list [--network <network>] [--full] [--json]\n\nOptionDescription--network <name>Filter by network (base, base-sepolia)--fullShow complete details including schemas--jsonOutput as JSON"
      },
      {
        "title": "Discover Payment Requirements",
        "body": "Inspect an endpoint's x402 payment requirements without paying:\n\nawal x402 details <url> [--json]\n\nAuto-detects the correct HTTP method (GET, POST, PUT, DELETE, PATCH) by trying each until it gets a 402 response, then displays price, accepted payment schemes, network, and input/output schemas."
      },
      {
        "title": "Make a Paid Request",
        "body": "Call an x402 endpoint with automatic USDC payment:\n\nawal x402 pay <url> [-X <method>] [-d <json>] [-q <params>] [-h <json>] [--max-amount <n>] [--json]\n\nOptionDescription-X, --method <method>HTTP method (default: GET)-d, --data <json>Request body as JSON string-q, --query <params>Query parameters as JSON string-h, --headers <json>Custom HTTP headers as JSON string--max-amount <amount>Max payment in USDC atomic units (1000000 = $1.00)--correlation-id <id>Group related operations--jsonOutput as JSON"
      },
      {
        "title": "Examples",
        "body": "# Search for weather-related paid APIs\nawal x402 bazaar search \"weather\"\n\n# Search with more results\nawal x402 bazaar search \"sentiment analysis\" -k 10\n\n# Check what an endpoint costs\nawal x402 details https://example.com/api/weather\n\n# Make a GET request (auto-pays)\nawal x402 pay https://example.com/api/weather\n\n# Make a POST request with body\nawal x402 pay https://example.com/api/sentiment -X POST -d '{\"text\": \"I love this product\"}'\n\n# Limit max payment to $0.10\nawal x402 pay https://example.com/api/data --max-amount 100000\n\n# Browse all bazaar resources with full details\nawal x402 bazaar list --full"
      },
      {
        "title": "USDC Amounts",
        "body": "X402 uses USDC atomic units (6 decimals):\n\nAtomic UnitsUSD1000000$1.00100000$0.1050000$0.0510000$0.01"
      },
      {
        "title": "Prerequisites",
        "body": "Search/Details: No authentication needed\nPay: Must be authenticated (awal auth login <email>) with sufficient USDC balance (awal balance)"
      },
      {
        "title": "Error Handling",
        "body": "\"Not authenticated\" - Run awal auth login <email> first\n\"No X402 payment requirements found\" - URL may not be an x402 endpoint\n\"CDP API returned 429\" - Rate limited; cached data will be used if available\n\"Insufficient balance\" - Fund wallet with USDC (awal balance to check)"
      }
    ],
    "body": "x402 Payment Protocol\n\nUse the npx awal@latest x402 commands to discover, inspect, and call paid API endpoints using the X402 payment protocol. Payments are made in USDC on Base.\n\nWorkflow\n\nThe typical x402 workflow is:\n\nFind a service - Search the bazaar or get details for a known endpoint\nCheck requirements - Inspect price, method, and input schema\nMake the request - Call the endpoint with automatic USDC payment\nCommands\nSearch the Bazaar\n\nFind paid services by keyword using BM25 relevance search:\n\nnpx awal@latest x402 bazaar search <query> [-k <n>] [--force-refresh] [--json]\n\nOption\tDescription\n-k, --top <n>\tNumber of results (default: 5)\n--force-refresh\tRe-fetch resource index from CDP API\n--json\tOutput as JSON\n\nResults are cached locally at ~/.config/awal/bazaar/ and auto-refresh after 12 hours.\n\nList Bazaar Resources\n\nBrowse all available resources:\n\nawal x402 bazaar list [--network <network>] [--full] [--json]\n\nOption\tDescription\n--network <name>\tFilter by network (base, base-sepolia)\n--full\tShow complete details including schemas\n--json\tOutput as JSON\nDiscover Payment Requirements\n\nInspect an endpoint's x402 payment requirements without paying:\n\nawal x402 details <url> [--json]\n\n\nAuto-detects the correct HTTP method (GET, POST, PUT, DELETE, PATCH) by trying each until it gets a 402 response, then displays price, accepted payment schemes, network, and input/output schemas.\n\nMake a Paid Request\n\nCall an x402 endpoint with automatic USDC payment:\n\nawal x402 pay <url> [-X <method>] [-d <json>] [-q <params>] [-h <json>] [--max-amount <n>] [--json]\n\nOption\tDescription\n-X, --method <method>\tHTTP method (default: GET)\n-d, --data <json>\tRequest body as JSON string\n-q, --query <params>\tQuery parameters as JSON string\n-h, --headers <json>\tCustom HTTP headers as JSON string\n--max-amount <amount>\tMax payment in USDC atomic units (1000000 = $1.00)\n--correlation-id <id>\tGroup related operations\n--json\tOutput as JSON\nExamples\n# Search for weather-related paid APIs\nawal x402 bazaar search \"weather\"\n\n# Search with more results\nawal x402 bazaar search \"sentiment analysis\" -k 10\n\n# Check what an endpoint costs\nawal x402 details https://example.com/api/weather\n\n# Make a GET request (auto-pays)\nawal x402 pay https://example.com/api/weather\n\n# Make a POST request with body\nawal x402 pay https://example.com/api/sentiment -X POST -d '{\"text\": \"I love this product\"}'\n\n# Limit max payment to $0.10\nawal x402 pay https://example.com/api/data --max-amount 100000\n\n# Browse all bazaar resources with full details\nawal x402 bazaar list --full\n\nUSDC Amounts\n\nX402 uses USDC atomic units (6 decimals):\n\nAtomic Units\tUSD\n1000000\t$1.00\n100000\t$0.10\n50000\t$0.05\n10000\t$0.01\nPrerequisites\nSearch/Details: No authentication needed\nPay: Must be authenticated (awal auth login <email>) with sufficient USDC balance (awal balance)\nError Handling\n\"Not authenticated\" - Run awal auth login <email> first\n\"No X402 payment requirements found\" - URL may not be an x402 endpoint\n\"CDP API returned 429\" - Rate limited; cached data will be used if available\n\"Insufficient balance\" - Fund wallet with USDC (awal balance to check)"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/0xRAG/x402-2",
    "publisherUrl": "https://clawhub.ai/0xRAG/x402-2",
    "owner": "0xRAG",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/x402-2",
    "downloadUrl": "https://openagent3.xyz/downloads/x402-2",
    "agentUrl": "https://openagent3.xyz/skills/x402-2/agent",
    "manifestUrl": "https://openagent3.xyz/skills/x402-2/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/x402-2/agent.md"
  }
}