[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6H1GPVDENPDRKXGS4RS3RF7":3,"skill-same:01M6H1GPVDENPDRKXGS4RS3RF7":98},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":6,"ownerHtmlUrl":62,"ownerBlogUrl":63,"ownerDescription":64,"updatedAt":65,"install":66,"resources":79},"01M6H1GPVDENPDRKXGS4RS3RF7","x402-cli",null,"Pay for x402 payment-gated HTTP endpoints using USDC stablecoins","jiayaoqijia\u002Fcryptoskill","jiayaoqijia","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1453879?v=4","01M6GMYTX7Q7S504VC6E756ENR","YQ","01M6GMYV1QKJ1CC75MTTGT9PR0",80,"AGPL-3.0","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002Fx402-cli\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"cli","x402 cli","x402","http endpoints","for","latest","pay","usdc","gated","evm","payment","endpoints","tap","brew","https","http","github","go","2026-11-10 10:12:30",false,"---\nname: x402-cli\ndescription: Pay for x402 payment-gated HTTP endpoints using USDC stablecoins\nversion: 1.0.3\nmetadata:\n  openclaw:\n    requires:\n      env: [EVM_PRIVATE_KEY]\n      bins: [x402-cli]\n    primaryEnv: EVM_PRIVATE_KEY\n    install:\n      - kind: brew\n        formula: razvanmacovei\u002Ftap\u002Fx402-cli\n        bins: [x402-cli]\n      - kind: go\n        package: github.com\u002Frazvanmacovei\u002Fx402-cli@latest\n        bins: [x402-cli]\n    homepage: https:\u002F\u002Fgithub.com\u002Frazvanmacovei\u002Fx402-cli\n---\n\n# x402-cli\n\nPay for x402 payment-gated HTTP endpoints using USDC stablecoins.\n\n## When to use\n\nUse this tool when you need to access an API that returns HTTP 402 Payment Required with x402 payment requirements. The tool handles the full payment flow: probe → sign → pay → return response.\n\n## Prerequisites\n\nSet `EVM_PRIVATE_KEY` environment variable with a wallet private key that holds USDC on the target network (e.g., Base Sepolia for testnet).\n\n## Usage\n\n### Probe an endpoint (check price without paying)\n\n```bash\nx402-cli --json --skip-verify \u003Curl>\n```\n\nReturns JSON with `probe.paymentRequirements` containing the price, network, and asset.\n\n### Pay and access an endpoint\n\n```bash\nx402-cli --json -y \u003Curl>\n```\n\nReturns JSON with `payment.body` containing the backend response and `payment.paymentResponse` containing the transaction hash.\n\n### POST with body\n\n```bash\nx402-cli --json -y -X POST -d '{\"query\": \"hello\"}' -H 'Content-Type: application\u002Fjson' \u003Curl>\n```\n\n### Self-signed TLS (local development)\n\n```bash\nx402-cli --json -y -k \u003Curl>\n```\n\n## Exit codes\n\n- `0` — Success (payment accepted or probe completed)\n- `1` — Error (network, config, or unexpected failure)\n- `2` — Payment rejected by facilitator\n- `3` — Route is free (no payment needed)\n\n## JSON output structure\n\n```json\n{\n  \"status\": \"accepted\",\n  \"probe\": {\n    \"statusCode\": 402,\n    \"paymentRequired\": true,\n    \"paymentRequirements\": { \"...x402 requirements...\" }\n  },\n  \"payment\": {\n    \"statusCode\": 200,\n    \"accepted\": true,\n    \"signer\": \"0x...\",\n    \"paymentResponse\": { \"success\": true, \"transaction\": \"0x...\", \"network\": \"eip155:84532\" },\n    \"body\": \"...backend response...\"\n  }\n}\n```\n\n## Key fields to parse\n\n- `.status` — `\"free\"`, `\"payment_required\"`, `\"accepted\"`, `\"rejected\"`, `\"error\"`\n- `.probe.paymentRequirements.accepts[0].amount` — price in atomic units\n- `.probe.paymentRequirements.accepts[0].network` — chain ID (e.g., `eip155:84532`)\n- `.payment.body` — the actual backend response after payment\n- `.payment.paymentResponse.transaction` — on-chain transaction hash\n","# x402-cli\n\nPay for x402 payment-gated HTTP endpoints using USDC stablecoins.\n\n## When to use\n\nUse this tool when you need to access an API that returns HTTP 402 Payment Required with x402 payment requirements. The tool handles the full payment flow: probe → sign → pay → return response.\n\n## Prerequisites\n\nSet `EVM_PRIVATE_KEY` environment variable with a wallet private key that holds USDC on the target network (e.g., Base Sepolia for testnet).\n\n## Usage\n\n### Probe an endpoint (check price without paying)\n\n```bash\nx402-cli --json --skip-verify \u003Curl>\n```\n\nReturns JSON with `probe.paymentRequirements` containing the price, network, and asset.\n\n### Pay and access an endpoint\n\n```bash\nx402-cli --json -y \u003Curl>\n```\n\nReturns JSON with `payment.body` containing the backend response and `payment.paymentResponse` containing the transaction hash.\n\n### POST with body\n\n```bash\nx402-cli --json -y -X POST -d '{\"query\": \"hello\"}' -H 'Content-Type: application\u002Fjson' \u003Curl>\n```\n\n### Self-signed TLS (local development)\n\n```bash\nx402-cli --json -y -k \u003Curl>\n```\n\n## Exit codes\n\n- `0` — Success (payment accepted or probe completed)\n- `1` — Error (network, config, or unexpected failure)\n- `2` — Payment rejected by facilitator\n- `3` — Route is free (no payment needed)\n\n## JSON output structure\n\n```json\n{\n  \"status\": \"accepted\",\n  \"probe\": {\n    \"statusCode\": 402,\n    \"paymentRequired\": true,\n    \"paymentRequirements\": { \"...x402 requirements...\" }\n  },\n  \"payment\": {\n    \"statusCode\": 200,\n    \"accepted\": true,\n    \"signer\": \"0x...\",\n    \"paymentResponse\": { \"success\": true, \"transaction\": \"0x...\", \"network\": \"eip155:84532\" },\n    \"body\": \"...backend response...\"\n  }\n}\n```\n\n## Key fields to parse\n\n- `.status` — `\"free\"`, `\"payment_required\"`, `\"accepted\"`, `\"rejected\"`, `\"error\"`\n- `.probe.paymentRequirements.accepts[0].amount` — price in atomic units\n- `.probe.paymentRequirements.accepts[0].network` — chain ID (e.g., `eip155:84532`)\n- `.payment.body` — the actual backend response after payment\n- `.payment.paymentResponse.transaction` — on-chain transaction hash\n",{"name":5,"version":42,"metadata":43,"description":7},"1.0.3",{"openclaw":44},{"install":45,"homepage":52,"requires":53,"primaryEnv":55},[46,49],{"bins":47,"kind":32,"formula":48},[5],"razvanmacovei\u002Ftap\u002Fx402-cli",{"bins":50,"kind":36,"package":51},[5],"github.com\u002Frazvanmacovei\u002Fx402-cli@latest","https:\u002F\u002Fgithub.com\u002Frazvanmacovei\u002Fx402-cli",{"env":54,"bins":56},[55],"EVM_PRIVATE_KEY",[5],"main","3df1d0d67b30ff15236561f8c0f9f06d33f42dfd","skills\u002Fpayments\u002Fx402-cli",17,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia","https:\u002F\u002Feth2030.com","Hardcore infra. Building @alt-research and applied cryptography.","2026-11-11 08:47:40",{"source":8,"skillName":5,"commands":67,"prompt":77,"zipAvailable":78},[68,71,74],{"tool":69,"command":70},"npx","npx skills add jiayaoqijia\u002Fcryptoskill --skill x402-cli",{"tool":72,"command":73},"bunx","bunx skills add jiayaoqijia\u002Fcryptoskill --skill x402-cli",{"tool":75,"command":76},"pnpm","pnpm dlx skills add jiayaoqijia\u002Fcryptoskill --skill x402-cli","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002Fx402-cli\u002FSKILL.md",true,[80,86,90,94],{"path":81,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},"_meta.json","REFERENCE","参考文档",275,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002Fx402-cli\u002F_meta.json",{"path":87,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":88,"sourceHtmlUrl":89},"clawhub.json",1319,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002Fx402-cli\u002Fclawhub.json",{"path":91,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":92,"sourceHtmlUrl":93},"SOURCE.md",250,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002Fx402-cli\u002FSOURCE.md",{"path":95,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":96,"sourceHtmlUrl":97},"TRUST.auto.yaml",2176,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002Fx402-cli\u002FTRUST.auto.yaml",[99,128,150,168,181,191],{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":103,"licenseFileUrl":104,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":37},"01M712C436EQYE43342Q4E7GG1","recipe-performance","Diagnose a specific MetaMask user flow's real-app performance and Sentry critical-user-flow telemetry with deterministic mm-harness recipes. Use for CUF boundaries, cold\u002Fwarm\u002Fbackground-resume behavior, latency regressions, lifecycle tags, duplicate or blocking network requests, long tasks, layout\u002Fpaint cost, screen redraws, React rerenders, or browser trace analysis where tests alone cannot prove the real app.","MIT","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-recipe-performance\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-recipe-performance\u002FSKILL.md",[],[108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127],"performance","recipe performance","recipe","mm","sentry","harness","app","deterministic","recipes","flow","cold","critical","analysis","tasks","react","browser","layout","screen","network","metamask",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":132,"licenseFileUrl":133,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":37},"01M70XT2F8A5CQZ81JBP98KSW3","mexc-spot-websocket","MEXC Spot WebSocket workflows for public streams, protobuf handling, depth maintenance, listen keys, and private streams without exposing API keys.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-websocket\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-websocket\u002FSKILL.md",[],[137,138,139,140,141,142,143,144,145,146,23,147,148,149],"mexc spot websocket","spot","websocket","api","workflows","public","listen","streams","depth","keys","api keys","maintenance","protobuf",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":132,"licenseFileUrl":154,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":37},"01M70XT0MBXN3WZY1BKN0CPNKR","mexc-spot-rest","MEXC Spot REST workflows for public data, signed account requests, orders, wallet\u002Fadmin actions, and secure signing without exposing API keys.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-rest\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-rest\u002FSKILL.md",[],[158,138,159,160,161,162,163,147,23,146,164,165,166,142,167,141,140],"mexc spot rest","REST","admin","signing","Wallet","requests","actions","secure","data","orders",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":132,"licenseFileUrl":172,"sourceHtmlUrl":173,"categories":174,"keywords":175,"publishedAt":37},"01M70XSYSVZ2N0N91XCAR2CAK0","mexc-futures-websocket","MEXC Futures WebSocket workflows for public streams, private account\u002Forder\u002Fposition streams, ping\u002Fpong, subscriptions, and depth maintenance.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-futures-websocket\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-futures-websocket\u002FSKILL.md",[],[176,177,139,178,179,148,23,180,145,144,142,141],"mexc futures websocket","futures","position","ping","subscriptions",{"skillNo":182,"name":183,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":103,"licenseFileUrl":184,"sourceHtmlUrl":185,"categories":186,"keywords":187,"publishedAt":37},"01M6H0ZWHVE5W04WG2DKQE2SQC","0xklen-version-and-refresh-sanctions-lists","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-version-and-refresh-sanctions-lists\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-version-and-refresh-sanctions-lists\u002FSKILL.md",[],[188,189,190],"refresh","0xklen version and refresh sanctions lists","version",{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":103,"licenseFileUrl":195,"sourceHtmlUrl":196,"categories":197,"keywords":198,"publishedAt":37},"01M6H0Z28Q3R8J0S799GJQWXM3","verify-tests-cover-changed-lines","Use when a PR adds code that the existing suite may not exercise. Measures patch coverage — the share of newly changed lines hit by tests — before approving.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-verify-tests-cover-changed-lines\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-verify-tests-cover-changed-lines\u002FSKILL.md",[],[199,200,201,202,203,204,205,206,207,208,209],"tests","cover","verify tests cover changed lines","verify","coverage","pr","exercise","use","patch","code","share"]