[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JCMV04VB89QQPBD1A616QP":3,"skill-same:01M6JCMV04VB89QQPBD1A616QP":70},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":53,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M6JCMV04VB89QQPBD1A616QP","agent-payment-x402",null,"Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments \u002F OKX Agent Payments Protocol.","S3YED\u002Fappie-kit","S3YED","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F62743867?v=4","01M6JBKBRRVP6KMS0VWZ27T3R6","01M6JBKBX0KG30284PW1DBYJT1",14,"MIT","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fecc\u002Fagent-payment-x402\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"agent payment x402","payment","x402","non-custodial","agent payments","layer","wallets","agentwallet","spending","with","controls","add","ai agents","task","okx","community","execution","payments","protocol","sdk","2026-11-10 10:12:30",false,"---\nname: agent-payment-x402\ndescription: Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments \u002F OKX Agent Payments Protocol.\norigin: community\n---\n\n# Agent Payment Execution (x402)\n\nEnable AI agents to make policy-gated payments with built-in spending controls. Uses the x402 HTTP payment protocol and MCP tools so agents can pay for external services, APIs, or other agents without custodial risk.\n\n## When to Use\n\nUse when: your agent needs to pay for an API call, purchase a service, settle with another agent, enforce per-task spending limits, or manage a non-custodial wallet. Pairs naturally with cost-aware-llm-pipeline and security-review skills.\n\n## Decision Tree\n\nChoose the integration path based on whether your agent is buying access to a paid API or charging others for one:\n\n| Need | Recommended path |\n|------|------------------|\n| Agent pays a 402-gated API on Base or another agentwallet-supported chain | Use `agentwallet-sdk` as an MCP payment server with strict spending policy |\n| Agent pays a 402-gated API on X Layer | Use OKX Agent Payments Protocol from `okx\u002Fonchainos-skills`; `okx-x402-payment` is a deprecated legacy alias |\n| TypeScript API charges agents | Use OKX Payments TypeScript seller SDK docs for Express, Hono, Fastify, or Next.js |\n| Go API charges agents | Use OKX Payments Go seller SDK docs for Gin, Echo, or `net\u002Fhttp` |\n| Rust API charges agents | Use OKX Payments Rust seller SDK docs for Axum |\n| Java API charges agents | Use OKX Payments Java seller SDK docs for Spring Boot 2\u002F3, Java EE, or Jakarta |\n| Python API charges agents | Check the current OKX Payments repository before implementation; a Python seller guide may not be available |\n\n## Supported Networks\n\n- `agentwallet-sdk`: use the package docs to confirm current network coverage before production. Base Sepolia is the safest development default; Base mainnet is the production path called out by the original skill.\n- OKX Payments \u002F X Layer: current seller docs target X Layer (`eip155:196`) and USDT0 settlement. Fetch current SDK docs before generating production code because payment packages and facilitator behavior can change quickly.\n\n## How It Works\n\n### x402 Protocol\nx402 extends HTTP 402 (Payment Required) into a machine-negotiable flow. When a server returns `402`, the agent's payment tool negotiates price, checks budget, signs a transaction, and retries only inside the policy and confirmation boundary set by the orchestrator.\n\n### Spending Controls\nEvery payment tool call enforces a `SpendingPolicy`:\n- **Per-task budget** — max spend for a single agent action\n- **Per-session budget** — cumulative limit across an entire session\n- **Allowlisted recipients** — restrict which addresses\u002Fservices the agent can pay\n- **Rate limits** — max transactions per minute\u002Fhour\n\n### Non-Custodial Wallets\nAgents hold their own keys via ERC-4337 smart accounts. The orchestrator sets policy before delegation; the agent can only spend within bounds. No pooled funds, no custodial risk.\n\n## MCP Integration\n\nThe payment layer exposes standard MCP tools that slot into any Claude Code or agent harness setup.\n\n> **Security note**: Always pin the package version. This tool manages private keys — unpinned `npx` installs introduce supply-chain risk.\n\n### Option A: agentwallet-sdk (Base \u002F multi-chain)\n\n```json\n{\n  \"mcpServers\": {\n    \"agentpay\": {\n      \"command\": \"npx\",\n      \"args\": [\"agentwallet-sdk@6.0.0\"]\n    }\n  }\n}\n```\n\n### Available Tools (agent-callable)\n\n| Tool | Purpose |\n|------|---------|\n| `get_balance` | Check agent wallet balance |\n| `send_payment` | Send payment to address or ENS |\n| `check_spending` | Query remaining budget |\n| `list_transactions` | Audit trail of all payments |\n\n> **Note**: Spending policy is set by the **orchestrator** before delegating to the agent — not by the agent itself. This prevents agents from escalating their own spending limits. Configure policy via `set_policy` in your orchestration layer or pre-task hook, never as an agent-callable tool.\n\n### Option B: OKX Agent Payments Protocol (X Layer)\n\nUse this path for X Layer x402, Multi-Party Payment (MPP), session payment, charge, and A2A charge flows.\n\nFor buyer-side agent flows:\n\n1. Install or reference the current `okx\u002Fonchainos-skills` repository.\n2. Use `skills\u002Fokx-agent-payments-protocol\u002FSKILL.md` as the dispatcher.\n3. Treat `skills\u002Fokx-x402-payment\u002FSKILL.md` as a deprecated compatibility alias, not as the canonical skill.\n4. Require explicit user confirmation before wallet status checks or payment actions. Do not hide payment execution behind a generic tool call.\n\nFor seller-side API flows, fetch the latest language-specific guide before generating code:\n\n| Runtime | Current guide |\n|---------|---------------|\n| TypeScript | `https:\u002F\u002Fraw.githubusercontent.com\u002Fokx\u002Fpayments\u002Fmain\u002Ftypescript\u002FSELLER.md` |\n| Go | `https:\u002F\u002Fraw.githubusercontent.com\u002Fokx\u002Fpayments\u002Fmain\u002Fgo\u002Fx402\u002FSELLER.md` |\n| Rust | `https:\u002F\u002Fraw.githubusercontent.com\u002Fokx\u002Fpayments\u002Fmain\u002Frust\u002Fx402\u002FSELLER.md` |\n| Java | `https:\u002F\u002Fraw.githubusercontent.com\u002Fokx\u002Fpayments\u002Fmain\u002Fjava\u002FSELLER.md` |\n\nDo not copy examples from older docs without checking the current OKX repository. Current OKX guidance uses `okx-agent-payments-protocol` as the dispatcher, and Java seller docs are now available.\n\n## Examples\n\n### Budget enforcement in an MCP client\n\nWhen building an orchestrator that calls the agentpay MCP server, enforce budgets before dispatching paid tool calls.\n\n> **Prerequisites**: Install the package before adding the MCP config — `npx` without `-y` will prompt for confirmation in non-interactive environments, causing the server to hang: `npm install -g agentwallet-sdk@6.0.0`\n\n```typescript\nimport { Client } from \"@modelcontextprotocol\u002Fsdk\u002Fclient\u002Findex.js\";\nimport { StdioClientTransport } from \"@modelcontextprotocol\u002Fsdk\u002Fclient\u002Fstdio.js\";\n\nasync function main() {\n  \u002F\u002F 1. Validate credentials before constructing the transport.\n  \u002F\u002F    A missing key must fail immediately — never let the subprocess start without auth.\n  const walletKey = process.env.WALLET_PRIVATE_KEY;\n  if (!walletKey) {\n    throw new Error(\"WALLET_PRIVATE_KEY is not set — refusing to start payment server\");\n  }\n\n  \u002F\u002F Connect to the agentpay MCP server via stdio transport.\n  \u002F\u002F Whitelist only the env vars the server needs — never forward all of process.env\n  \u002F\u002F to a third-party subprocess that manages private keys.\n  const transport = new StdioClientTransport({\n    command: \"npx\",\n    args: [\"agentwallet-sdk@6.0.0\"],\n    env: {\n      PATH: process.env.PATH ?? \"\",\n      NODE_ENV: process.env.NODE_ENV ?? \"production\",\n      WALLET_PRIVATE_KEY: walletKey,\n    },\n  });\n  const agentpay = new Client({ name: \"orchestrator\", version: \"1.0.0\" });\n  await agentpay.connect(transport);\n\n  \u002F\u002F 2. Set spending policy before delegating to the agent.\n  \u002F\u002F    Always verify success — a silent failure means no controls are active.\n  const policyResult = await agentpay.callTool({\n    name: \"set_policy\",\n    arguments: {\n      per_task_budget: 0.50,\n      per_session_budget: 5.00,\n      allowlisted_recipients: [\"api.example.com\"],\n    },\n  });\n  if (policyResult.isError) {\n    throw new Error(\n      `Failed to set spending policy — do not delegate: ${JSON.stringify(policyResult.content)}`\n    );\n  }\n\n  \u002F\u002F 3. Use preToolCheck before any paid action\n  await preToolCheck(agentpay, 0.01);\n}\n\n\u002F\u002F Pre-tool hook: fail-closed budget enforcement with four distinct error paths.\nasync function preToolCheck(agentpay: Client, apiCost: number): Promise\u003Cvoid> {\n  \u002F\u002F Path 1: Reject invalid input (NaN\u002FInfinity bypass the \u003C comparison)\n  if (!Number.isFinite(apiCost) || apiCost \u003C 0) {\n    throw new Error(`Invalid apiCost: ${apiCost} — action blocked`);\n  }\n\n  \u002F\u002F Path 2: Transport\u002Fconnectivity failure\n  let result;\n  try {\n    result = await agentpay.callTool({ name: \"check_spending\" });\n  } catch (err) {\n    throw new Error(`Payment service unreachable — action blocked: ${err}`);\n  }\n\n  \u002F\u002F Path 3: Tool returned an error (e.g., auth failure, wallet not initialised)\n  if (result.isError) {\n    throw new Error(\n      `check_spending failed — action blocked: ${JSON.stringify(result.content)}`\n    );\n  }\n\n  \u002F\u002F Path 4: Parse and validate the response shape\n  let remaining: number;\n  try {\n    const parsed = JSON.parse(\n      (result.content as Array\u003C{ text: string }>)[0].text\n    );\n    if (!Number.isFinite(parsed?.remaining)) {\n      throw new TypeError(\"missing or non-finite 'remaining' field\");\n    }\n    remaining = parsed.remaining;\n  } catch (err) {\n    throw new Error(\n      `check_spending returned unexpected format — action blocked: ${err}`\n    );\n  }\n\n  \u002F\u002F Path 5: Budget exceeded\n  if (remaining \u003C apiCost) {\n    throw new Error(\n      `Budget exceeded: need $${apiCost} but only $${remaining} remaining`\n    );\n  }\n}\n\nmain().catch((err) => {\n  console.error(err);\n  process.exitCode = 1;\n});\n```\n\n## Best Practices\n\n- **Set budgets before delegation**: When spawning sub-agents, attach a SpendingPolicy via your orchestration layer. Never give an agent unlimited spend.\n- **Pin your dependencies**: Always specify an exact version in your MCP config (e.g., `agentwallet-sdk@6.0.0`). Verify package integrity before deploying to production.\n- **Audit trails**: Use `list_transactions` in post-task hooks to log what was spent and why.\n- **Fail closed**: If the payment tool is unreachable, block the paid action — don't fall back to unmetered access.\n- **Pair with security-review**: Payment tools are high-privilege. Apply the same scrutiny as shell access.\n- **Test with testnets first**: Use Base Sepolia for development; switch to Base mainnet for production.\n\n## Production Reference\n\n- **npm**: [`agentwallet-sdk`](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fagentwallet-sdk)\n- **Merged into NVIDIA NeMo Agent Toolkit**: [PR #17](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNeMo-Agent-Toolkit-Examples\u002Fpull\u002F17) — x402 payment tool for NVIDIA's agent examples\n- **Protocol spec**: [x402.org](https:\u002F\u002Fx402.org)\n- **OKX Payments SDKs**: [`okx\u002Fpayments`](https:\u002F\u002Fgithub.com\u002Fokx\u002Fpayments) — TypeScript, Go, Rust, and Java seller integrations for X Layer x402\n- **OKX Agent Payments Protocol skill**: [`okx\u002Fonchainos-skills`](https:\u002F\u002Fgithub.com\u002Fokx\u002Fonchainos-skills\u002Ftree\u002Fmain\u002Fskills\u002Fokx-agent-payments-protocol)\n- **OKX Payments overview**: [web3.okx.com\u002Fonchainos\u002Fdev-docs\u002Fpayments\u002Foverview](https:\u002F\u002Fweb3.okx.com\u002Fonchainos\u002Fdev-docs\u002Fpayments\u002Foverview)\n","# Agent Payment Execution (x402)\n\nEnable AI agents to make policy-gated payments with built-in spending controls. Uses the x402 HTTP payment protocol and MCP tools so agents can pay for external services, APIs, or other agents without custodial risk.\n\n## When to Use\n\nUse when: your agent needs to pay for an API call, purchase a service, settle with another agent, enforce per-task spending limits, or manage a non-custodial wallet. Pairs naturally with cost-aware-llm-pipeline and security-review skills.\n\n## Decision Tree\n\nChoose the integration path based on whether your agent is buying access to a paid API or charging others for one:\n\n| Need | Recommended path |\n|------|------------------|\n| Agent pays a 402-gated API on Base or another agentwallet-supported chain | Use `agentwallet-sdk` as an MCP payment server with strict spending policy |\n| Agent pays a 402-gated API on X Layer | Use OKX Agent Payments Protocol from `okx\u002Fonchainos-skills`; `okx-x402-payment` is a deprecated legacy alias |\n| TypeScript API charges agents | Use OKX Payments TypeScript seller SDK docs for Express, Hono, Fastify, or Next.js |\n| Go API charges agents | Use OKX Payments Go seller SDK docs for Gin, Echo, or `net\u002Fhttp` |\n| Rust API charges agents | Use OKX Payments Rust seller SDK docs for Axum |\n| Java API charges agents | Use OKX Payments Java seller SDK docs for Spring Boot 2\u002F3, Java EE, or Jakarta |\n| Python API charges agents | Check the current OKX Payments repository before implementation; a Python seller guide may not be available |\n\n## Supported Networks\n\n- `agentwallet-sdk`: use the package docs to confirm current network coverage before production. Base Sepolia is the safest development default; Base mainnet is the production path called out by the original skill.\n- OKX Payments \u002F X Layer: current seller docs target X Layer (`eip155:196`) and USDT0 settlement. Fetch current SDK docs before generating production code because payment packages and facilitator behavior can change quickly.\n\n## How It Works\n\n### x402 Protocol\nx402 extends HTTP 402 (Payment Required) into a machine-negotiable flow. When a server returns `402`, the agent's payment tool negotiates price, checks budget, signs a transaction, and retries only inside the policy and confirmation boundary set by the orchestrator.\n\n### Spending Controls\nEvery payment tool call enforces a `SpendingPolicy`:\n- **Per-task budget** — max spend for a single agent action\n- **Per-session budget** — cumulative limit across an entire session\n- **Allowlisted recipients** — restrict which addresses\u002Fservices the agent can pay\n- **Rate limits** — max transactions per minute\u002Fhour\n\n### Non-Custodial Wallets\nAgents hold their own keys via ERC-4337 smart accounts. The orchestrator sets policy before delegation; the agent can only spend within bounds. No pooled funds, no custodial risk.\n\n## MCP Integration\n\nThe payment layer exposes standard MCP tools that slot into any Claude Code or agent harness setup.\n\n> **Security note**: Always pin the package version. This tool manages private keys — unpinned `npx` installs introduce supply-chain risk.\n\n### Option A: agentwallet-sdk (Base \u002F multi-chain)\n\n```json\n{\n  \"mcpServers\": {\n    \"agentpay\": {\n      \"command\": \"npx\",\n      \"args\": [\"agentwallet-sdk@6.0.0\"]\n    }\n  }\n}\n```\n\n### Available Tools (agent-callable)\n\n| Tool | Purpose |\n|------|---------|\n| `get_balance` | Check agent wallet balance |\n| `send_payment` | Send payment to address or ENS |\n| `check_spending` | Query remaining budget |\n| `list_transactions` | Audit trail of all payments |\n\n> **Note**: Spending policy is set by the **orchestrator** before delegating to the agent — not by the agent itself. This prevents agents from escalating their own spending limits. Configure policy via `set_policy` in your orchestration layer or pre-task hook, never as an agent-callable tool.\n\n### Option B: OKX Agent Payments Protocol (X Layer)\n\nUse this path for X Layer x402, Multi-Party Payment (MPP), session payment, charge, and A2A charge flows.\n\nFor buyer-side agent flows:\n\n1. Install or reference the current `okx\u002Fonchainos-skills` repository.\n2. Use `skills\u002Fokx-agent-payments-protocol\u002FSKILL.md` as the dispatcher.\n3. Treat `skills\u002Fokx-x402-payment\u002FSKILL.md` as a deprecated compatibility alias, not as the canonical skill.\n4. Require explicit user confirmation before wallet status checks or payment actions. Do not hide payment execution behind a generic tool call.\n\nFor seller-side API flows, fetch the latest language-specific guide before generating code:\n\n| Runtime | Current guide |\n|---------|---------------|\n| TypeScript | `https:\u002F\u002Fraw.githubusercontent.com\u002Fokx\u002Fpayments\u002Fmain\u002Ftypescript\u002FSELLER.md` |\n| Go | `https:\u002F\u002Fraw.githubusercontent.com\u002Fokx\u002Fpayments\u002Fmain\u002Fgo\u002Fx402\u002FSELLER.md` |\n| Rust | `https:\u002F\u002Fraw.githubusercontent.com\u002Fokx\u002Fpayments\u002Fmain\u002Frust\u002Fx402\u002FSELLER.md` |\n| Java | `https:\u002F\u002Fraw.githubusercontent.com\u002Fokx\u002Fpayments\u002Fmain\u002Fjava\u002FSELLER.md` |\n\nDo not copy examples from older docs without checking the current OKX repository. Current OKX guidance uses `okx-agent-payments-protocol` as the dispatcher, and Java seller docs are now available.\n\n## Examples\n\n### Budget enforcement in an MCP client\n\nWhen building an orchestrator that calls the agentpay MCP server, enforce budgets before dispatching paid tool calls.\n\n> **Prerequisites**: Install the package before adding the MCP config — `npx` without `-y` will prompt for confirmation in non-interactive environments, causing the server to hang: `npm install -g agentwallet-sdk@6.0.0`\n\n```typescript\nimport { Client } from \"@modelcontextprotocol\u002Fsdk\u002Fclient\u002Findex.js\";\nimport { StdioClientTransport } from \"@modelcontextprotocol\u002Fsdk\u002Fclient\u002Fstdio.js\";\n\nasync function main() {\n  \u002F\u002F 1. Validate credentials before constructing the transport.\n  \u002F\u002F    A missing key must fail immediately — never let the subprocess start without auth.\n  const walletKey = process.env.WALLET_PRIVATE_KEY;\n  if (!walletKey) {\n    throw new Error(\"WALLET_PRIVATE_KEY is not set — refusing to start payment server\");\n  }\n\n  \u002F\u002F Connect to the agentpay MCP server via stdio transport.\n  \u002F\u002F Whitelist only the env vars the server needs — never forward all of process.env\n  \u002F\u002F to a third-party subprocess that manages private keys.\n  const transport = new StdioClientTransport({\n    command: \"npx\",\n    args: [\"agentwallet-sdk@6.0.0\"],\n    env: {\n      PATH: process.env.PATH ?? \"\",\n      NODE_ENV: process.env.NODE_ENV ?? \"production\",\n      WALLET_PRIVATE_KEY: walletKey,\n    },\n  });\n  const agentpay = new Client({ name: \"orchestrator\", version: \"1.0.0\" });\n  await agentpay.connect(transport);\n\n  \u002F\u002F 2. Set spending policy before delegating to the agent.\n  \u002F\u002F    Always verify success — a silent failure means no controls are active.\n  const policyResult = await agentpay.callTool({\n    name: \"set_policy\",\n    arguments: {\n      per_task_budget: 0.50,\n      per_session_budget: 5.00,\n      allowlisted_recipients: [\"api.example.com\"],\n    },\n  });\n  if (policyResult.isError) {\n    throw new Error(\n      `Failed to set spending policy — do not delegate: ${JSON.stringify(policyResult.content)}`\n    );\n  }\n\n  \u002F\u002F 3. Use preToolCheck before any paid action\n  await preToolCheck(agentpay, 0.01);\n}\n\n\u002F\u002F Pre-tool hook: fail-closed budget enforcement with four distinct error paths.\nasync function preToolCheck(agentpay: Client, apiCost: number): Promise\u003Cvoid> {\n  \u002F\u002F Path 1: Reject invalid input (NaN\u002FInfinity bypass the \u003C comparison)\n  if (!Number.isFinite(apiCost) || apiCost \u003C 0) {\n    throw new Error(`Invalid apiCost: ${apiCost} — action blocked`);\n  }\n\n  \u002F\u002F Path 2: Transport\u002Fconnectivity failure\n  let result;\n  try {\n    result = await agentpay.callTool({ name: \"check_spending\" });\n  } catch (err) {\n    throw new Error(`Payment service unreachable — action blocked: ${err}`);\n  }\n\n  \u002F\u002F Path 3: Tool returned an error (e.g., auth failure, wallet not initialised)\n  if (result.isError) {\n    throw new Error(\n      `check_spending failed — action blocked: ${JSON.stringify(result.content)}`\n    );\n  }\n\n  \u002F\u002F Path 4: Parse and validate the response shape\n  let remaining: number;\n  try {\n    const parsed = JSON.parse(\n      (result.content as Array\u003C{ text: string }>)[0].text\n    );\n    if (!Number.isFinite(parsed?.remaining)) {\n      throw new TypeError(\"missing or non-finite 'remaining' field\");\n    }\n    remaining = parsed.remaining;\n  } catch (err) {\n    throw new Error(\n      `check_spending returned unexpected format — action blocked: ${err}`\n    );\n  }\n\n  \u002F\u002F Path 5: Budget exceeded\n  if (remaining \u003C apiCost) {\n    throw new Error(\n      `Budget exceeded: need $${apiCost} but only $${remaining} remaining`\n    );\n  }\n}\n\nmain().catch((err) => {\n  console.error(err);\n  process.exitCode = 1;\n});\n```\n\n## Best Practices\n\n- **Set budgets before delegation**: When spawning sub-agents, attach a SpendingPolicy via your orchestration layer. Never give an agent unlimited spend.\n- **Pin your dependencies**: Always specify an exact version in your MCP config (e.g., `agentwallet-sdk@6.0.0`). Verify package integrity before deploying to production.\n- **Audit trails**: Use `list_transactions` in post-task hooks to log what was spent and why.\n- **Fail closed**: If the payment tool is unreachable, block the paid action — don't fall back to unmetered access.\n- **Pair with security-review**: Payment tools are high-privilege. Apply the same scrutiny as shell access.\n- **Test with testnets first**: Use Base Sepolia for development; switch to Base mainnet for production.\n\n## Production Reference\n\n- **npm**: [`agentwallet-sdk`](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fagentwallet-sdk)\n- **Merged into NVIDIA NeMo Agent Toolkit**: [PR #17](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNeMo-Agent-Toolkit-Examples\u002Fpull\u002F17) — x402 payment tool for NVIDIA's agent examples\n- **Protocol spec**: [x402.org](https:\u002F\u002Fx402.org)\n- **OKX Payments SDKs**: [`okx\u002Fpayments`](https:\u002F\u002Fgithub.com\u002Fokx\u002Fpayments) — TypeScript, Go, Rust, and Java seller integrations for X Layer x402\n- **OKX Agent Payments Protocol skill**: [`okx\u002Fonchainos-skills`](https:\u002F\u002Fgithub.com\u002Fokx\u002Fonchainos-skills\u002Ftree\u002Fmain\u002Fskills\u002Fokx-agent-payments-protocol)\n- **OKX Payments overview**: [web3.okx.com\u002Fonchainos\u002Fdev-docs\u002Fpayments\u002Foverview](https:\u002F\u002Fweb3.okx.com\u002Fonchainos\u002Fdev-docs\u002Fpayments\u002Foverview)\n",{"name":5,"origin":38,"description":7},"master","8ec37df6d71fb664ea19d32c079e7d3ff931a8e0","skills\u002Fecc\u002Fagent-payment-x402",3,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit","https:\u002F\u002Fweblyfe.ai","https:\u002F\u002Fgithub.com\u002FS3YED","2026-08-27 01:54:02",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add S3YED\u002Fappie-kit --skill agent-payment-x402",{"tool":62,"command":63},"bunx","bunx skills add S3YED\u002Fappie-kit --skill agent-payment-x402",{"tool":65,"command":66},"pnpm","pnpm dlx skills add S3YED\u002Fappie-kit --skill agent-payment-x402","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fecc\u002Fagent-payment-x402\u002FSKILL.md",true,[],[71,103,138,164,195,220],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":84,"publishedAt":43},"01M6JFD4M6N4DSGC7TXEJ5R3J2","ai-music","AI music generation and audio tools: HeartMuLa lyrics-to-music generation, songwriting craft (+ Suno prompts), and audio spectrogram\u002Ffeature visualization.","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fwethlete\u002Fai-music\u002FSKILL.md",[77,80,83],{"categoryNo":78,"categoryName":79,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":81,"categoryName":82,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],"music","ai music","humanizer","visualization","Tools","Audio","hermes","hermes agent","songwriting","suno","lyrics","prompts","heartmula","craft","generation","feature","ai music generation","music generation",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":117,"publishedAt":43},"01M6JFCZE4XNFQFMNZDHKHT5V5","agentic-webdesign-design-system-ingestion","Use v0 Design Systems 2.0, Bolt Design System Agents, or Lovable to generate production UI from a client's real design system components — not generic Tailwind. Use when building a client website where brand consistency matters.","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fweb-design\u002Fagentic-webdesign-design-system-ingestion\u002FSKILL.md",[109,112],{"categoryNo":110,"categoryName":111,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137],"design","agentic","design system","system","ingestion","webdesign","agentic webdesign design system ingestion","components","generate","design systems","website","ui","Tailwind","bolt","lovable","v0","design-system","wed","design system components","appie",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":146,"publishedAt":43},"01M6JFCVPX3913CFAS6QQJ33ZB","agentic-webdesign-agent-elements","Use 21st.dev Agent Elements — 25 shadcn\u002Fui components purpose-built for AI agent UIs. Tool cards (Bash, Edit, Search, Plan, Subagent, MCP), chat, input, streaming. Open source, shadcn-registry install, no runtime lock-in.","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fweb-design\u002Fagentic-webdesign-agent-elements\u002FSKILL.md",[144,145],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},[119,147,123,148,149,150,125,151,152,153,154,155,156,157,158,159,160,161,162,163],"elements","agentic webdesign agent elements","MCP","ai agent","registry","search","streaming","open source","open","Bash","plan","subagent","edit","install","input","lock","source",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":174,"publishedAt":43},"01M6JFCQC7H65M9QJ6TRE71BS1","vercel-deployment","Deploy static sites and frontends to Vercel — handles both CLI and REST API paths, including the CLI token sanitization workaround.","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fsoftware-development\u002Fvercel-deployment\u002FSKILL.md",[170,173],{"categoryNo":171,"categoryName":172,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194],"deployment","vercel deployment","vercel","macos","cli","linux","windows","deploy","vercel deploy","REST","api","site","deploy to vercel","token","rest api","host","sites","paths","sanitization","static site",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":202,"publishedAt":43},"01M6JFCM4SMTXBM5A01BK2YQG1","software-quality-workflows","Umbrella workflow for TDD, debugging, code simplification, spikes, pre-commit review, and debugger-assisted investigation.","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fsoftware-development\u002Fsoftware-quality-workflows\u002FSKILL.md",[201],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219],"workflows","quality","software","software quality workflows","review","tdd","workflow","commit","debugging","code","debugger","pre-commit","investigation","code simplification","user","simplification","for",{"skillNo":221,"name":222,"nameZh":6,"description":223,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":224,"categories":225,"keywords":233,"publishedAt":43},"01M6JFCGD0M6CEATY01W7YN6DB","react-component-refactoring","Safely refactor large React components into smaller, maintainable pieces using proven patterns","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fsoftware-development\u002Freact-component-refactoring\u002FSKILL.md",[226,229,232],{"categoryNo":227,"categoryName":228,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":230,"categoryName":231,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[234,235,236,237,238,239,240,241,178,242,243,125,244,181,245,212,246,247,248,249],"react","component","refactoring","component refactoring","react component","react component refactoring","frontend","writing","safe","typescript","react components","modular","refactor","simplify","patterns","test-driven-development"]