@dexterai/x402

中文文档
6.1.0发布于 2026/10/30MITTypeScriptESM + CJS构建来源已验证近 30 天下载 3465

Full-stack x402 SDK - 将付费的API货币化添加到任意终点. 提供快取中件,回放悬钩,出入口通关,动态定价. 索拉纳, Base, Polygon, Arbitrum, Optimism, Avalanche, World Ch链, Monad, Robinhood Ch链, SKALE.

中文使用文档
文档目录9 节
  1. 从企业购买的企业
  2. 供应商标签
  3. 设置
  4. 领到工资(销售)
  5. 主办批准(合作伙伴)
  6. 也在这个包里
  7. 支助网络
  8. 授权和解决
  9. 再来

Dexter

校对:soup

建设代理经办业务的财务业务.

让一个企业出售自己的作品,从其他企业购买服务,并授权代理人通过其账户支出。 供应商标签支持经常性商业,支出授权和支付义务附在企业身上.

npm Node Non-custodial Live Demo

试试真正的支付吧


从企业购买的企业

企业可以在购买数据的同时出售研究,软件或创意作品,推论和计算制作所需的数据. 其代理人需要交易的权力,其供应商需要他们能够收取的承诺,其所有人需要控制企业的资金和创造的价值.

Dexter正在为这些企业建立业务和金融体系:自营账户、供应商关系、生产性融资和界定的经济权利。 每个企业保留其资产和客户关系,同时保留其工作创造的知识和财务历史.

这个SDK提供HTTP和MCP的支付,供应商Tabs,销售中件和客户端集成. 打开复制器 将代理人与服务发现和商业联系起来; 连接 将身份和所有者授权纳入申请。 现有的企业和独立代理运行时间可以通过这些接口参与.

供应商标签

标签赋予代理人在业主核准的限额下与指定供应商继续采购的权力。 供应商的仪表在交货时正常工作,买方的账户承担由此产生的付款义务。 这有助于其他经商企业的经常性推论、数据服务和工作.

业主批准出卖人,开庭期限和期满. 代理在赠款范围内签章 购买者的资金在解决之前都留在自己的钱包里,由沃特的预留规则来保护尚未履行的义务. 执行情况和交易检查如下: 授权和解决。 。 。 .

import { payUrlWithTab, type ReserveFinalVoucherV2 } from '@dexterai/x402/tab';

const reserveFinalVoucherV2: ReserveFinalVoucherV2 = async (input) => {
  const response = await fetch('/api/native-tab/reserve', {
    method: 'POST',
    headers: { 'content-type': 'application/json' },
    body: JSON.stringify(input),
  });
  if (!response.ok) throw new Error(`reservation failed: ${response.status}`);
  return response.json();
};
const tabs = new Map();                          // one open tab per seller, reused across calls
const { result, tab } = await payUrlWithTab(
  'https://api.example.com/paid/infer',
  { method: 'GET' },
  {
    vault,
    perUnitCap: '0.01',
    totalCap: '1.00',
    tabs,
    reserveFinalVoucherV2,
  },
);
// ...the agent keeps calling; every call reuses the same tab, with no new prompt...
await tab?.close();                              // one on-chain settle pays the seller for everything

这就是整个循环: 一拍打开, 无限呼叫在盖下, 一定了关闭。 卖家的地址是从URL自己的线上掉下来的 402 挑战 绝不是从你的代码里 这个 vault 是从您嵌入密码的钱包中创建一次;参见 设置。预留路线属于您认证的后端: 一旦确认准确的索拉纳交易,它就会返回一个装有凭证的收据。 买方和卖方各自独立核实该交易、其由Dexter授权署名的凭单装订备忘录以及位于交易档的一致的Vault/Session Account State。 只有经过处理的证据才被驳回;最后证据在已经提出时即被接受,但已付款的请求不会等待最后敲定。 闭会/撤销仍然是最后确定的终点站步骤.


设置

边安装 SDK @dexterai/vault ——这是对等的依赖,所以你的应用程序和标签适配器共享一个金库实例:

npm install @dexterai/x402 @dexterai/vault

构建一个 vault 适配器一次,从钱包地址,您在注册时收到的地址 dexter. 现金,加上你的密码:

import { createSolanaVaultAdapter } from '@dexterai/x402/tab/adapters/solana';

const vault = createSolanaVaultAdapter({
  connection,      // your Solana Connection (any RPC)
  swigAddress,     // the vault's Swig state account, from enrollment
  vaultPda,        // the vault's gate PDA, from enrollment
  passkeySigner,   // browser: vault's DexterApiBrowserPasskeySigner · agent: passkeySignerFromP256Keypair(kp)
  feePayer,        // lamport fee payer (a Signer)
});

那个 vault 驱动器 上方的标签循环在你花钱前检查一下卖家的价格, resolveTabTerms(url) 阅读这些术语时不支付费用,包括同意屏幕、目录或预先规划的代理人.


领到工资(销售)

卖方在接受有酬工作之前,在中间软件中核实凭单及其预订。 和解向卖方支付与开庭有关的地址. tabOrExactMiddleware 单张单张单张单张单张单张单张单张 402,因此呼叫者可以使用任一支付途径.

import {
  FileChannelLedger,
  tabOrExactMiddleware,
  requireTab,
  openSse,
} from '@dexterai/x402/tab/seller';
import type { X402Request } from '@dexterai/x402/server';

const ledgerDir = process.env.TAB_LEDGER_DIR;
const channelIdCutover = process.env.TAB_CHANNEL_ID_CUTOVER;
if (!ledgerDir) throw new Error('TAB_LEDGER_DIR must name persistent storage');
if (channelIdCutover !== 'legacy-case-aliases-migrated-or-empty') {
  throw new Error('prove the seller ledger empty or complete the documented alias migration first');
}
const ledger = new FileChannelLedger(ledgerDir, { channelIdCutover });

app.get('/paid/tick',
  tabOrExactMiddleware({
    connection,
    sellerPubkey,
    network: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
    perUnit: '0.01',
    ledger,
    ledgerSafetyMode: 'production-single-instance',
  }),
  async (req, res) => {
    if ((req as X402Request).x402) { res.json({ data: '...' }); return; }   // one-shot caller, already paid
    const meter = openSse(res, { tab: requireTab(req), perUnit: '0.01' });  // tab caller
    await meter.charge(1);                  // demand a fresh voucher; throws if the cap is exceeded
    meter.send(JSON.stringify({ data: '...' }));
    await meter.end();                      // always await — closes the metered response
  });

FileChannelLedger 用于一个销售过程的重新启动安全; 保留其目录 持续储存. TAB_CHANNEL_ID_CUTOVER 是一个操作员的断言,永远不会 复制/粘贴默认: 仅为已证实的空商店设置, 或完成后设置 混合大小写别名合并到 变动情况。 。 。 . 多个复制件必须使用 RedisChannelLedger 与 ledgerSafetyMode: 'production-multi-instance',核查耐久性,以及 已记录的写入/密钥空间切换。 生产配置明确 模拟默认只被准确接受 test 或者说 development 环境.

想要一个只有标签的结束点, 还是自己来作曲? 整个卖家的表面 参考文献.md。 。 。 .


主办批准(合作伙伴)

当合作伙伴的应用程序为用户打开一个标签时,批准会运行在一个Dexter托管的同意屏幕上,与合作伙伴的应用程序有着深层的联系. 用户看到对方,盖子,和过期时,会一次地敲取他们的密码,并控制返回应用. 合伙人没有建立批准UI,从不处理密码.

屏幕主机有结构原因,不是结构化的:金库的密码只能签在Dexter自己的出处上,因此用户不能被费斯德放在一个外观相似的页面上批准. 安全是财产 关键符号所在。流动和路线: 文件.dexter. 现金。 。 。 .


也在这个包里

标签为头条. 同一装置承载了x402表面的其余部分——每个部分均在以下文件全文中记载: 参考文献.md。 。 。 .

付费的MCP工具使用 @dexterai/x402/mcp 进入点。 这个 MCP 指南 涵盖卖方适配器、耐用储存合同和买方发送并保存全部结果.

  • 一发付款 单次单次购买HTTP 402索拉纳的USDC和主要的EVM链. payAndFetch (客户), x402Middleware (服务器), useX402Payment (反应).
  • 批量结算( EVM) ——先付一次代管费,多次用出链凭证支付电话费,结出几笔交易来摊还天然气. openBatchChannel。 。 。 .
  • 发现 ——使任何被保护的路线能够通过x402集市谱通过能力找到. bazaarExtension()。 。 。 .
  • 赞助访问和自动列名 ——通过Dexter主持人支付的终点自动发现,命名,质量测试,并浮出水面 x402_search 整个MCP客户,没有注册步骤.

支助网络

标签是索拉纳。 一发和分批解决跨越索拉纳和主要的EVM链;每一链都有USDC(Paxos USDG on Robinhood Chain,没有本地USDC)。 完整直播列表 : Dexter 主持人。 。 。 .

网络CAIP-2 联合国状态
索拉纳solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp生产
基础eip155:8453生产
多边形eip155:137生产
坐标eip155:42161生产
乐观主义eip155:10生产
雪崩eip155:43114生产
业连eip155:56生产
世界链eip155:480生产
修道院eip155:143生产
罗宾链eip155:4663生产 (USDG)
斯卡莱基地eip155:1187947933生产(零气)

授权和解决

所有者核准的登记对会话钥匙、卖方、期满和开支限额具有约束力。 代理人在该会话内签出凭单. 见 登记和凭证核对。 。 。 .

每一份最后V2凭单,买卖双方均独立核实索拉纳的准确交易、装有凭单的备忘录和一致的Vault/Caseccount状态。 这个 保留核查人 需要至少确认承诺; 仅凭广播签名是不够的。 这个 保留提供人合同 描述后端集成.

部署的Vault程序是 Hg3wRaydFtJhYrdvYrKECacpJYDsC9Px7yKmpncj2fhc 在索拉纳主网。 操作员可用性,钱包管理权限和程序升级权限是其信任模式的一部分.

Vault程序源和威胁模型保存在一个私人仓库. 安全报告、审计询问或审查访问、联系 分支@ dexter. cash。 。 。 .


再来

释放维护者可以跟踪 GitHub OIDC 出版工作流程。 。 。 .

  • 参考文献.md ——每个导出,选项表,以及示例:分页,一发,分批结算,发现.
  • 升级? v6 要求 @dexterai/vault@^0.44.0,需要装有凭单的 V2 预订收据,并使用精确状态 V3 撤销。 从v5/v4/v3迁移: 参考文献.md。 。 。 .
  • 许可证 麻省理工学院,看 自由主义。 。 。 .

Dexter 主持人 • 妇女 开源目录 • 妇女 现场直播 • 妇女 成为卖家

版本与发布记录

@dexterai/x402 共发布 111 个版本,首次发布于 2025/12/27;过去 12 个月发布了 111 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
6.1.0latest2026/10/3013 天前
6.0.62026/10/2914 天前
6.0.52026/09/291 个月前
6.0.42026/09/291 个月前
6.0.32026/09/171 个月前
6.0.22026/09/171 个月前

其他发布通道:next → 6.0.0-rc.5。

关于 @dexterai/x402 的常见问题

@dexterai/x402 是什么?

Full-stack x402 SDK - 将付费的API货币化添加到任意终点. 提供快取中件,回放悬钩,出入口通关,动态定价. 索拉纳, Base, Polygon, Arbitrum, Optimism, Avalanche, World Ch链, Monad, Robinhood Ch链, SKALE.

如何安装 @dexterai/x402?

在项目目录运行 npm install @dexterai/x402,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@dexterai/vault(^0.44.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@dexterai/x402 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dexterai/x402 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@dexterai/x402 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@dexterai/x402 可以商用吗?

@dexterai/x402 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@dexterai/x402 的下载量有多少?

根据 npm 官方下载统计,@dexterai/x402 在 2026/10/12 – 2026/11/10 这 30 天内被下载 3,465 次,日均约 116 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dexterai/x402 还在维护吗?

最新版本 6.1.0 发布于 2026/10/30(13 天前);至今共发布 111 个版本,其中过去 12 个月发布了 111 个;首次发布于 2025/12/27。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。