关于 kx402
kx402 为 Kaspa 上的 x402 服务提供按次付款能力,面向需要调用付费服务的 Agent、开发者和脚本。它通过同一支付核心提供 SDK、命令行和 MCP 服务,并按报价限制付款对象和金额。
主要功能
- 01支付 Kaspa x402 报价
- 02提供 SDK、命令行与 MCP 服务
- 03查询报价、余额和钱包地址
- 04按报价与支出上限限制付款
- 05支持 dry-run 交易构建
适用场景
- 01让 Agent 按次购买 Kaspa 服务
- 02在脚本中检查报价并执行付款
- 03通过 MCP 工具查询钱包或支付服务
MCP 相关
MCP 服务以 stdio 暴露 Kaspa x402 地址、余额、报价查询和付款工具;付款会花费真实资金,并受 max_sompi 限制。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y kx402KASPA_X402_KASPA_WASM_MODULEPath to the rusty-kaspa v2.0.0 nodejs WASM SDK (kaspa.js). Get it with the repo's `npm run fetch-sdk`.KASPA_X402_FUNDING_WALLET密钥Funding key: wallet-key:<path> to a 0600 file holding a 64-hex private key, or a raw 64-hex key.KASPA_X402_NETWORKkaspa:mainnet or kaspa:testnet-10 (default testnet-10).本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
4收录的工具列表 · 更新于 3 周前
此工具无需参数。
详细介绍
kx402 — Kaspa x402 Agent 付款方
面向 Agent 的付款方,用于支付在 Kaspa L1 上结算的 x402 服务。一个软件包,通过三种方式使用同一套经过验证的支付核心:
- SDK — 使用
import { openWallet, payExact } from "kx402",在自己的代码中支付 x402 报价。 - CLI — 使用
kx402 offer|pay|balance|addr,供用户和脚本使用。 - MCP server — 将
kx402-mcp接入 Agent(例如 Claude),即可让它把支付 Kaspa x402 服务作为工具使用。
它通过 @kaspa-x402 绑定实现 x402 v2 exact / standard-native 流程,遵循标准线上格式,不对其进行扩展。它是 Kaspa·402 marketplace 的需求方。
⚠️ 目前处于 Alpha 阶段,且
pay会花费真实资金。请先使用 testnet-10。将资金密钥保存在权限为0600的文件中,切勿提交到 git。
它解决的问题
互联网的支付基础设施默认由个人购买:注册、获取 API 密钥、绑定银行卡,然后点击“批准”。AI Agent 无法完成这些操作,而你也不想把信用卡交给它。因此,Agent 虽然能够推理和执行操作,但一旦任务需要付费工具(数据、算力、模型或 API),就必须先由人工设置账单。
kx402 填补了这一空白。它为 Agent 提供了一个可实际操作的钱包,让它能够自行按次付费:
- 无需账户、API 密钥或注册。 Agent 会当场为每次调用支付确切费用,无需与服务建立任何关系。
- 支持信用卡无法实现的小额支付。 信用卡的最低支付额约为 30 美分。在 Kaspa 上以 KAS 结算,让每次调用支付不足 1 美分成为可能。
- 专为软件而非手指设计的钱包。 无需人工介入,即可在约一秒内以编程方式构建、签名、发送并证明支付。
- 设有护栏,避免失控。 每笔支付金额不超过报价本身的价格,只支付给该服务,并受你设定的限额约束——既能自主运行,又不会超额消费或付给错误的一方。
你可以把它看作一张内置严格规则的预付卡:Agent 可以在需要时,以小额购买特定所需服务,但它在机制上无法超额消费或向陌生人付款。
安装
npm install -g kx402 # or: npm install kx402 (for SDK use)
npm run fetch-sdk # downloads the rusty-kaspa v2.0.0 WASM SDK into ./vendor
Kaspa 签名需要官方 rusty-kaspa v2.0.0 nodejs WASM SDK——npm 上的 kaspa-wasm 使用的是不同且过时的 ABI,会报错 "memory access out of bounds"。运行 npm run fetch-sdk 获取正确版本,然后将 KASPA_X402_KASPA_WASM_MODULE 指向输出的 kaspa.js 路径。
配置
将 .env.example 复制为 .env 并填写内容(也可以将以下任意配置作为标志或环境变量传入):
| 变量 | 含义 |
|---|---|
KASPA_X402_KASPA_WASM_MODULE | v2.0.0 nodejs WASM SDK kaspa.js 的路径 |
KASPA_X402_FUNDING_WALLET | wallet-key:/path/to/wallet.key 或原始的 64 位十六进制密钥 |
KASPA_X402_NETWORK | kaspa:mainnet 或 kaspa:testnet-10(默认值) |
KASPA_X402_RPC_URL | 可选;如果未设置,将自动解析一个公共 PNN 节点 |
CLI
kx402 addr --config-file .env # show the wallet address (fund it first)
kx402 balance --config-file .env # spendable KAS
kx402 offer https://host/exact --config-file .env # inspect a 402 offer (no payment)
kx402 pay https://host/exact --prompt "hi" --config-file .env # pay and print the result
输入通过 exact GET 请求中的查询参数传递——请根据资源要求使用 --text / --prompt / --model / --input。安全标志:--max <sompi> 用于限制支出;--dry 用于构建已签名的交易,但不广播。
SDK
import { openWallet, payExact, resolveWalletConfig } from "kx402";
const wallet = await openWallet(resolveWalletConfig()); // reads env / .env
const r = await payExact(wallet, "https://host/exact?prompt=hello");
console.log(r.status, r.body, r.settlement);
await wallet.close();
每笔支付都受根据报价本身生成的 fundingPolicy 限制——只会向报价中的 payTo 支付,在其 profile 下支付,且金额不超过你设置的上限。
MCP server
运行 kx402 mcp(或 kx402-mcp 可执行文件),即可启动一个 stdio 服务,提供 kaspa_x402_address、kaspa_x402_balance、kaspa_x402_offer 和 kaspa_x402_pay(会花费真实资金,并受 max_sompi 限制)。客户端配置示例:
{
"mcpServers": {
"kx402": {
"command": "npx",
"args": ["-y", "kx402", "mcp"],
"env": {
"KASPA_X402_KASPA_WASM_MODULE": "/abs/path/vendor/kaspa-wasm32-sdk/nodejs/kaspa/kaspa.js",
"KASPA_X402_FUNDING_WALLET": "wallet-key:/abs/path/wallet.key",
"KASPA_X402_NETWORK": "kaspa:testnet-10"
}
}
}
}
结算方式
在主网上,kx402 使用非托管结算:它自行广播已签名的交易,并等待该交易在网关用于验证的同一 REST 索引器上被接受,然后提交 PAYMENT-SIGNATURE——网关通过观察已接受的交易来完成结算,无需自行广播。整个过程遵循标准的 x402 v2 生命周期。
相关项目
@kaspa-x402— 本项目基于此 Kaspa x402 绑定构建。- kaspa-402.org — Kaspa 上支持 x402 付费的服务市场。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。