{
  "schemaVersion": "1.0",
  "item": {
    "slug": "xclaw02",
    "name": "xClaw02",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/primer-dev/xclaw02",
    "canonicalUrl": "https://clawhub.ai/primer-dev/xclaw02",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/xclaw02",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=xclaw02",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "_meta.json"
    ],
    "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/xclaw02"
    },
    "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/xclaw02",
    "agentPageUrl": "https://openagent3.xyz/skills/xclaw02/agent",
    "manifestUrl": "https://openagent3.xyz/skills/xclaw02/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/xclaw02/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": "xClaw02",
        "body": "Your entry point into x402 - the open payment standard for the agentic web.\n\nx402 is an open protocol enabling instant stablecoin payments over HTTP using the 402 Payment Required status code. xClaw02, built by Primer, provides agent-friendly CLI tools and simple APIs for making and receiving payments."
      },
      {
        "title": "When to Use This Skill",
        "body": "Use xClaw02 when:\n\nYou encounter a 402 Payment Required HTTP response\nYou need to access a paid API or resource\nThe user asks you to pay for something with crypto/USDC\nYou need to check wallet balance or manage payments\nYou want to charge for your own API or service"
      },
      {
        "title": "How to Respond",
        "body": "User Says/AsksWhat to Do\"I got a 402 error\"This is an x402 payment request. Probe the URL with xclaw02 probe <url>, show the price, ask if they want to pay\"Pay for this API\"Use xclaw02 pay <url> --max-amount <amount> - always confirm amount with user first\"Check my balance\"Run xclaw02 wallet balance <address>\"Set up x402\" / \"Set up payments\"Run xclaw02 openclaw init\"What networks do you support?\"List supported networks (Base is primary; also Ethereum, Arbitrum, Optimism, Polygon)\"How much does X cost?\"Probe the URL with xclaw02 probe <url> to get pricing\"Create a wallet\"Run xclaw02 wallet create - remind user to save the private key securely\"I want to charge for my API\"Show the Express.js or FastAPI middleware examples"
      },
      {
        "title": "Node.js",
        "body": "npx xclaw02 openclaw init"
      },
      {
        "title": "Python",
        "body": "pip install xclaw02\nxclaw02 openclaw init\n\nThis will:\n\nCreate a new wallet (or use existing)\nSave config to ~/.openclaw/skills/xclaw02/\nDisplay your wallet address to fund with USDC on Base"
      },
      {
        "title": "How x402 Works",
        "body": "Request - You call a paid API\n402 Response - Server returns payment requirements in headers\nPay & Retry - Sign payment, retry request with PAYMENT-SIGNATURE header\nAccess - Server verifies payment, settles on-chain, returns resource\n\nThe payment is gasless for the payer - the facilitator handles gas fees."
      },
      {
        "title": "CLI Commands",
        "body": "CommandDescriptionxclaw02 openclaw initSet up xClaw02 for this agentxclaw02 openclaw statusCheck setup status and balancexclaw02 probe <url>Check if URL requires payment and get pricexclaw02 pay <url>Pay for a resource (requires XCLAW02_PRIVATE_KEY)xclaw02 pay <url> --dry-runPreview payment without payingxclaw02 pay <url> --max-amount 0.10Pay with spending limitxclaw02 wallet createCreate a new walletxclaw02 wallet balance <address>Check USDC balance on Basexclaw02 wallet from-mnemonicRestore wallet from mnemonicxclaw02 networksList supported networks"
      },
      {
        "title": "Example CLI Output",
        "body": "$ xclaw02 probe https://api.example.com/paid\n{\n  \"status\": \"payment_required\",\n  \"price\": \"0.05\",\n  \"currency\": \"USDC\",\n  \"network\": \"base\",\n  \"recipient\": \"0x1234...abcd\",\n  \"description\": \"Premium API access\"\n}\n\n$ xclaw02 wallet balance 0xYourAddress\n{\n  \"address\": \"0xYourAddress\",\n  \"network\": \"base\",\n  \"balance\": \"12.50\",\n  \"token\": \"USDC\"\n}\n\n$ xclaw02 pay https://api.example.com/paid --max-amount 0.10\n{\n  \"status\": \"success\",\n  \"paid\": \"0.05\",\n  \"txHash\": \"0xabc123...\",\n  \"response\": { ... }\n}"
      },
      {
        "title": "Node.js / TypeScript",
        "body": "const { createSigner, x402Fetch } = require('xclaw02');\n\n// Private key format: 0x followed by 64 hex characters\nconst signer = await createSigner('eip155:8453', process.env.XCLAW02_PRIVATE_KEY);\nconst response = await x402Fetch('https://api.example.com/paid', signer, {\n  maxAmount: '0.10'  // Maximum USDC to spend\n});\nconst data = await response.json();"
      },
      {
        "title": "Python",
        "body": "from xclaw02 import create_signer, x402_requests\nimport os\n\n# Private key format: 0x followed by 64 hex characters\nsigner = create_signer('eip155:8453', os.environ['XCLAW02_PRIVATE_KEY'])\nwith x402_requests(signer, max_amount='0.10') as session:\n    response = session.get('https://api.example.com/paid')\n    data = response.json()"
      },
      {
        "title": "Selling Your Services (Server-Side)",
        "body": "Want other agents to pay you? Add a paywall to your API:"
      },
      {
        "title": "Express.js",
        "body": "const express = require('express');\nconst { x402Express } = require('xclaw02');\n\nconst app = express();\n\napp.use(x402Express('0xYourAddress', {\n  '/api/premium': {\n    amount: '0.05',          // $0.05 USDC per request\n    asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',\n    network: 'eip155:8453'\n  }\n}));\n\napp.get('/api/premium', (req, res) => {\n  res.json({ data: 'Premium content here' });\n});"
      },
      {
        "title": "FastAPI (Python)",
        "body": "from fastapi import FastAPI\nfrom xclaw02 import x402_fastapi\n\napp = FastAPI()\n\napp.add_middleware(x402_fastapi(\n    '0xYourAddress',\n    {\n        '/api/premium': {\n            'amount': '0.05',\n            'asset': '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',\n            'network': 'eip155:8453'\n        }\n    }\n))\n\n@app.get(\"/api/premium\")\nasync def premium_endpoint():\n    return {\"data\": \"Premium content here\"}"
      },
      {
        "title": "Supported Networks",
        "body": "NetworkCAIP-2 IDTokenNotesBaseeip155:8453USDCPrimary - fast, cheap, recommendedBase Sepoliaeip155:84532USDCTestnetEthereumeip155:1USDCHigher feesArbitrumeip155:42161USDCOptimismeip155:10USDCPolygoneip155:137USDC\n\nBase is the default network. To use others, set XCLAW02_NETWORK environment variable."
      },
      {
        "title": "Facilitators",
        "body": "Facilitators handle payment verification and on-chain settlement. The x402 ecosystem has many independent facilitators:\n\nNameURLNotesPrimerhttps://x402.primer.systemsDefaultCoinbasehttps://api.cdp.coinbase.com/platform/v2/x402x402.orghttps://x402.org/facilitatorTestnet onlyPayAIhttps://facilitator.payai.networkCorbitshttps://facilitator.corbits.devDexterhttps://x402.dexter.cashHeuristhttps://facilitator.heurist.xyzKobaruhttps://gateway.kobaru.ioNeverminedhttps://api.live.nevermined.app/api/v1/Openfacilitatorhttps://pay.openfacilitator.ioSolpayhttps://x402.solpay.cashxEchohttps://facilitator.xechoai.xyz\n\nTo use a different facilitator, set XCLAW02_FACILITATOR environment variable."
      },
      {
        "title": "Environment Variables",
        "body": "VariableFormatDescriptionXCLAW02_PRIVATE_KEY0x + 64 hex charsWallet private key (required for payments)XCLAW02_NETWORKeip155:8453, base, etc.Default network (default: base)XCLAW02_MAX_AMOUNT0.10Default max payment amount in USDCXCLAW02_FACILITATORURLFacilitator URL override"
      },
      {
        "title": "Error Handling",
        "body": "Error CodeMeaningWhat to DoINSUFFICIENT_FUNDSWallet balance too lowTell user to fund wallet with USDC on BaseAMOUNT_EXCEEDS_MAXPayment exceeds maxAmountAsk user to approve higher amount, then retry with --max-amountSETTLEMENT_FAILEDOn-chain settlement failedWait a moment and retry, or try a different facilitatorINVALID_RESPONSEMalformed 402 responseThe URL may not support x402 properlyNETWORK_MISMATCHWrong networkCheck the 402 response for required network, set XCLAW02_NETWORK"
      },
      {
        "title": "Security Notes",
        "body": "Never expose private keys in logs, chat, or output\nUse environment variables for wallet credentials\nAlways confirm payment amounts with user before paying\nFund wallets only with what's needed for the task\nPrivate key format: 0x followed by 64 hexadecimal characters"
      },
      {
        "title": "Alternative Implementations",
        "body": "x402 is an open standard with multiple implementations:\n\nOfficial Coinbase SDK - The reference implementation with Go support and Solana (SVM) in addition to EVM chains:\n\nGitHub: https://github.com/coinbase/x402\nClawHub: See the x402 skill by @notorious-d-e-v\nBest for: Go developers, Solana payments, full spec compliance\n\nWhen to use alternatives:\n\nYou need Go support (xClaw02 is Node.js/Python only)\nYou need Solana payments (xClaw02 is EVM only)\nYou want the official reference implementation\n\nAll x402 implementations are interoperable - a client using any SDK can pay a server using any other SDK, as long as they share a supported network and facilitator."
      },
      {
        "title": "Links",
        "body": "x402 Protocol: https://x402.org\nSDK (npm): https://npmjs.com/package/xclaw02\nSDK (PyPI): https://pypi.org/project/xclaw02\nGitHub: https://github.com/primer-systems/xClaw02"
      }
    ],
    "body": "xClaw02\n\nYour entry point into x402 - the open payment standard for the agentic web.\n\nx402 is an open protocol enabling instant stablecoin payments over HTTP using the 402 Payment Required status code. xClaw02, built by Primer, provides agent-friendly CLI tools and simple APIs for making and receiving payments.\n\nWhen to Use This Skill\n\nUse xClaw02 when:\n\nYou encounter a 402 Payment Required HTTP response\nYou need to access a paid API or resource\nThe user asks you to pay for something with crypto/USDC\nYou need to check wallet balance or manage payments\nYou want to charge for your own API or service\nHow to Respond\nUser Says/Asks\tWhat to Do\n\"I got a 402 error\"\tThis is an x402 payment request. Probe the URL with xclaw02 probe <url>, show the price, ask if they want to pay\n\"Pay for this API\"\tUse xclaw02 pay <url> --max-amount <amount> - always confirm amount with user first\n\"Check my balance\"\tRun xclaw02 wallet balance <address>\n\"Set up x402\" / \"Set up payments\"\tRun xclaw02 openclaw init\n\"What networks do you support?\"\tList supported networks (Base is primary; also Ethereum, Arbitrum, Optimism, Polygon)\n\"How much does X cost?\"\tProbe the URL with xclaw02 probe <url> to get pricing\n\"Create a wallet\"\tRun xclaw02 wallet create - remind user to save the private key securely\n\"I want to charge for my API\"\tShow the Express.js or FastAPI middleware examples\nQuick Setup\nNode.js\nnpx xclaw02 openclaw init\n\nPython\npip install xclaw02\nxclaw02 openclaw init\n\n\nThis will:\n\nCreate a new wallet (or use existing)\nSave config to ~/.openclaw/skills/xclaw02/\nDisplay your wallet address to fund with USDC on Base\nHow x402 Works\nRequest - You call a paid API\n402 Response - Server returns payment requirements in headers\nPay & Retry - Sign payment, retry request with PAYMENT-SIGNATURE header\nAccess - Server verifies payment, settles on-chain, returns resource\n\nThe payment is gasless for the payer - the facilitator handles gas fees.\n\nCLI Commands\nCommand\tDescription\nxclaw02 openclaw init\tSet up xClaw02 for this agent\nxclaw02 openclaw status\tCheck setup status and balance\nxclaw02 probe <url>\tCheck if URL requires payment and get price\nxclaw02 pay <url>\tPay for a resource (requires XCLAW02_PRIVATE_KEY)\nxclaw02 pay <url> --dry-run\tPreview payment without paying\nxclaw02 pay <url> --max-amount 0.10\tPay with spending limit\nxclaw02 wallet create\tCreate a new wallet\nxclaw02 wallet balance <address>\tCheck USDC balance on Base\nxclaw02 wallet from-mnemonic\tRestore wallet from mnemonic\nxclaw02 networks\tList supported networks\nExample CLI Output\n$ xclaw02 probe https://api.example.com/paid\n{\n  \"status\": \"payment_required\",\n  \"price\": \"0.05\",\n  \"currency\": \"USDC\",\n  \"network\": \"base\",\n  \"recipient\": \"0x1234...abcd\",\n  \"description\": \"Premium API access\"\n}\n\n$ xclaw02 wallet balance 0xYourAddress\n{\n  \"address\": \"0xYourAddress\",\n  \"network\": \"base\",\n  \"balance\": \"12.50\",\n  \"token\": \"USDC\"\n}\n\n$ xclaw02 pay https://api.example.com/paid --max-amount 0.10\n{\n  \"status\": \"success\",\n  \"paid\": \"0.05\",\n  \"txHash\": \"0xabc123...\",\n  \"response\": { ... }\n}\n\nUsing in Code\nNode.js / TypeScript\nconst { createSigner, x402Fetch } = require('xclaw02');\n\n// Private key format: 0x followed by 64 hex characters\nconst signer = await createSigner('eip155:8453', process.env.XCLAW02_PRIVATE_KEY);\nconst response = await x402Fetch('https://api.example.com/paid', signer, {\n  maxAmount: '0.10'  // Maximum USDC to spend\n});\nconst data = await response.json();\n\nPython\nfrom xclaw02 import create_signer, x402_requests\nimport os\n\n# Private key format: 0x followed by 64 hex characters\nsigner = create_signer('eip155:8453', os.environ['XCLAW02_PRIVATE_KEY'])\nwith x402_requests(signer, max_amount='0.10') as session:\n    response = session.get('https://api.example.com/paid')\n    data = response.json()\n\nSelling Your Services (Server-Side)\n\nWant other agents to pay you? Add a paywall to your API:\n\nExpress.js\nconst express = require('express');\nconst { x402Express } = require('xclaw02');\n\nconst app = express();\n\napp.use(x402Express('0xYourAddress', {\n  '/api/premium': {\n    amount: '0.05',          // $0.05 USDC per request\n    asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',\n    network: 'eip155:8453'\n  }\n}));\n\napp.get('/api/premium', (req, res) => {\n  res.json({ data: 'Premium content here' });\n});\n\nFastAPI (Python)\nfrom fastapi import FastAPI\nfrom xclaw02 import x402_fastapi\n\napp = FastAPI()\n\napp.add_middleware(x402_fastapi(\n    '0xYourAddress',\n    {\n        '/api/premium': {\n            'amount': '0.05',\n            'asset': '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',\n            'network': 'eip155:8453'\n        }\n    }\n))\n\n@app.get(\"/api/premium\")\nasync def premium_endpoint():\n    return {\"data\": \"Premium content here\"}\n\nSupported Networks\nNetwork\tCAIP-2 ID\tToken\tNotes\nBase\teip155:8453\tUSDC\tPrimary - fast, cheap, recommended\nBase Sepolia\teip155:84532\tUSDC\tTestnet\nEthereum\teip155:1\tUSDC\tHigher fees\nArbitrum\teip155:42161\tUSDC\t\nOptimism\teip155:10\tUSDC\t\nPolygon\teip155:137\tUSDC\t\n\nBase is the default network. To use others, set XCLAW02_NETWORK environment variable.\n\nFacilitators\n\nFacilitators handle payment verification and on-chain settlement. The x402 ecosystem has many independent facilitators:\n\nName\tURL\tNotes\nPrimer\thttps://x402.primer.systems\tDefault\nCoinbase\thttps://api.cdp.coinbase.com/platform/v2/x402\t\nx402.org\thttps://x402.org/facilitator\tTestnet only\nPayAI\thttps://facilitator.payai.network\t\nCorbits\thttps://facilitator.corbits.dev\t\nDexter\thttps://x402.dexter.cash\t\nHeurist\thttps://facilitator.heurist.xyz\t\nKobaru\thttps://gateway.kobaru.io\t\nNevermined\thttps://api.live.nevermined.app/api/v1/\t\nOpenfacilitator\thttps://pay.openfacilitator.io\t\nSolpay\thttps://x402.solpay.cash\t\nxEcho\thttps://facilitator.xechoai.xyz\t\n\nTo use a different facilitator, set XCLAW02_FACILITATOR environment variable.\n\nEnvironment Variables\nVariable\tFormat\tDescription\nXCLAW02_PRIVATE_KEY\t0x + 64 hex chars\tWallet private key (required for payments)\nXCLAW02_NETWORK\teip155:8453, base, etc.\tDefault network (default: base)\nXCLAW02_MAX_AMOUNT\t0.10\tDefault max payment amount in USDC\nXCLAW02_FACILITATOR\tURL\tFacilitator URL override\nError Handling\nError Code\tMeaning\tWhat to Do\nINSUFFICIENT_FUNDS\tWallet balance too low\tTell user to fund wallet with USDC on Base\nAMOUNT_EXCEEDS_MAX\tPayment exceeds maxAmount\tAsk user to approve higher amount, then retry with --max-amount\nSETTLEMENT_FAILED\tOn-chain settlement failed\tWait a moment and retry, or try a different facilitator\nINVALID_RESPONSE\tMalformed 402 response\tThe URL may not support x402 properly\nNETWORK_MISMATCH\tWrong network\tCheck the 402 response for required network, set XCLAW02_NETWORK\nSecurity Notes\nNever expose private keys in logs, chat, or output\nUse environment variables for wallet credentials\nAlways confirm payment amounts with user before paying\nFund wallets only with what's needed for the task\nPrivate key format: 0x followed by 64 hexadecimal characters\nAlternative Implementations\n\nx402 is an open standard with multiple implementations:\n\nOfficial Coinbase SDK - The reference implementation with Go support and Solana (SVM) in addition to EVM chains:\n\nGitHub: https://github.com/coinbase/x402\nClawHub: See the x402 skill by @notorious-d-e-v\nBest for: Go developers, Solana payments, full spec compliance\n\nWhen to use alternatives:\n\nYou need Go support (xClaw02 is Node.js/Python only)\nYou need Solana payments (xClaw02 is EVM only)\nYou want the official reference implementation\n\nAll x402 implementations are interoperable - a client using any SDK can pay a server using any other SDK, as long as they share a supported network and facilitator.\n\nLinks\nx402 Protocol: https://x402.org\nSDK (npm): https://npmjs.com/package/xclaw02\nSDK (PyPI): https://pypi.org/project/xclaw02\nGitHub: https://github.com/primer-systems/xClaw02"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/primer-dev/xclaw02",
    "publisherUrl": "https://clawhub.ai/primer-dev/xclaw02",
    "owner": "primer-dev",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/xclaw02",
    "downloadUrl": "https://openagent3.xyz/downloads/xclaw02",
    "agentUrl": "https://openagent3.xyz/skills/xclaw02/agent",
    "manifestUrl": "https://openagent3.xyz/skills/xclaw02/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/xclaw02/agent.md"
  }
}