跳转到主要内容
ARouter 支持 x402 支付协议,这是面向 HTTP 原生支付的开放标准。 拥有加密钱包的 AI Agent 可以完成认证、支付积分并发起 LLM 请求 — 无需注册账户,也无需登录 Dashboard。

三种接入方式

ARouter 为 Agent 提供三种接入方式。API Key 用户和钱包用户现在遵循各自独立的长期路径:
接入方式认证方法使用场景
标准 x402 支付PAYMENT-SIGNATURE 请求头任何 x402 客户端 — 首次钱包支付注册账户并返回钱包 JWT
SIWx 认证SIGN-IN-WITH-X 请求头证明钱包所有权 → 获取钱包 JWT(无需支付)
API KeyAuthorization: Bearer lr_live_xxxx现有 API Key 用户 — 余额不足时返回 403,不自动触发 x402 充值
标准 x402 模式适用于任何 x402 兼容工具@x402/fetchawal、MCP 钱包、Chrome 扩展。 无需 ARouter SDK。

工作原理

标准 x402(任何 x402 客户端)

最简单的接入方式。任何持有 USDC 的钱包都可以立即发起 LLM 请求:
  1. 发送无 API Key 的请求 — 网关返回 HTTP 402 及支付选项。
  2. x402 客户端签署 USDC 支付(通过 EIP-3009 免 Gas 进行)。
  3. 携带 PAYMENT-SIGNATURE 请求头重试。
  4. 网关验证、结算、创建账户并返回响应。
  5. PAYMENT-RESPONSE 请求头包含用于后续钱包认证请求的 jwt 扩展字段。

SIWx 认证(钱包登录)

证明钱包所有权以获取钱包 JWT,无需先支付: SIWx 遵循 CAIP-122 标准 — 与 QuickNode 及其他支持 x402 的服务采用相同协议。

API Key 用户

现有 API Key 用户继续使用标准 ARouter API Key 流程:

支持的网络

网络CAIP-2 标识符Token
Base 主网eip155:8453USDC
Base Sepolia(测试网)eip155:84532USDC
Solana 主网solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpUSDC
Solana Devnetsolana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1USDC

钱包兼容性

所有钱包均可使用 — 无需导出私钥
钱包支付 (EIP-3009)认证 (SIWx)需要私钥?
MetaMask
Coinbase Wallet
Coinbase Agent Wallet否 (CDP API)
Phantom (Solana)
本地私钥

SDK 使用方法

标准 x402(无需 ARouter SDK)

直接使用 Coinbase 官方 @x402/fetch
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const signer = privateKeyToAccount(process.env.EVM_PRIVATE_KEY as `0x${string}`);
const client = new x402Client();
client.register("eip155:*", new ExactEvmScheme(signer));

const paidFetch = wrapFetchWithPayment(fetch, client);

const resp = await paidFetch("https://api.arouter.ai/v1/chat/completions", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    model: "openai/gpt-5.4",
    messages: [{ role: "user", content: "Hello" }],
  }),
});

SIWx 认证(获取钱包 JWT)

Node.js SDK

import { ARouter, authenticateWithSIWx } from "@arouter/sdk";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.EVM_PRIVATE_KEY as `0x${string}`);

const { jwt } = await authenticateWithSIWx(
  "https://api.arouter.ai",
  { address: account.address, signMessage: (msg) => account.signMessage({ message: msg }) },
);

const client = new ARouter({ baseURL: "https://api.arouter.ai", apiKey: jwt });

Go SDK

import arouter "github.com/arouter-ai/arouter-go"

signer := arouter.NewEvmWalletSigner(privateKey)
result, err := arouter.AuthenticateWithSIWx(ctx, "https://api.arouter.ai", signer, nil)

client := arouter.NewClient("https://api.arouter.ai", result.JWT)

ARouter SDK + 自动支付(推荐高频使用)

Go SDK — EVM (Base)

import (
    "github.com/ethereum/go-ethereum/crypto"
    arouter "github.com/arouter-ai/arouter-go"
)

key, _ := crypto.HexToECDSA("your-private-key-hex")

client := arouter.NewClient(
    "https://api.arouter.ai",
    "",  // 无需 API Key
    arouter.WithX402CoinbasePayment(key),
)
WithX402CoinbasePayment 设置带 JWT 缓存的钱包 x402 支付:
  • 首次成功支付在 PAYMENT-RESPONSE 中返回钱包 JWT
  • 后续请求使用 Bearer <jwt>
  • 401 触发 SIWx 重新认证
  • 402 触发 x402 支付

Go SDK — Solana

solanaKey := ed25519.PrivateKey(yourKeyBytes)
client := arouter.NewClient("https://api.arouter.ai", "",
    arouter.WithX402SolanaPayment(solanaKey),
)

Node.js SDK — EVM (Base)

import { ARouter, withX402EvmPayment } from "@arouter/sdk";
import { privateKeyToAccount } from "viem/accounts";

const signer = privateKeyToAccount(process.env.EVM_PRIVATE_KEY as `0x${string}`);
const client = withX402EvmPayment(
  new ARouter({ baseURL: "https://api.arouter.ai", apiKey: "" }),
  signer,
);

Node.js SDK — 双链(EVM + Solana)

import { ARouter, withX402Payment } from "@arouter/sdk";

const client = withX402Payment(
  new ARouter({ baseURL: "https://api.arouter.ai", apiKey: "" }),
  {
    evm: { signer: evmAccount },
    solana: { signer: solanaSigner },
  },
);

CLI 工具的 GET 端点

适用于无法发送 POST 请求体的 x402 CLI 工具(如 awal):
GET /v1/x402/chat?model=openai/gpt-5.4&message=Hello&system=Be+brief&max_tokens=100
参数是否必需说明
model模型名称,例如 openai/gpt-5.4
message用户消息文本
system系统提示词
max_tokens最大输出 Token 数
temperature温度参数
stream设置为 true 以启用流式输出

支付请求头

请求头方向说明
PAYMENT-REQUIRED服务端 → 客户端Base64 编码的支付选项(金额、钱包、网络)。
PAYMENT-SIGNATURE客户端 → 服务端Base64 编码的已签署支付载荷。
SIGN-IN-WITH-X客户端 → 服务端Base64 编码的 SIWx 认证凭证。
PAYMENT-RESPONSE服务端 → 客户端Base64 编码的结算结果。ARouter 为钱包用户添加 jwt 字段。

积分工作原理

  • x402 支付以积分形式充入租户余额 — 与 Stripe 和 Helio 支付共享同一积分池。
  • 所有 x402 交易均显示在账单页面的交易记录中,参考类型为 x402_topup
  • 余额充值后,网关按每次请求照常扣除积分。
  • 钱包用户按租户计费,通过钱包 JWT 认证,并可通过 SIWx 重新认证,无需暴露原始 API Key。

安全

  • 标准 x402 协议:使用 Coinbase 官方 x402 SDK 进行验证和结算。
  • Facilitator 验证:支付通过 x402 Facilitator 加密验证后才会授予积分。
  • 免 Gas 支付:EIP-3009(TransferWithAuthorization)— 用户签名,Facilitator 提交上链。
  • 金额上限:单次支付设有上限,防止意外大额扣费。
  • 幂等性:每个支付载荷具有唯一 nonce — 同一签名不可重放。
  • SIWx 标准:认证遵循 CAIP-122,支持 EIP-4361(EVM)和 SIWS(Solana)消息格式。
  • 审计跟踪:所有 x402 充值与 Stripe/Helio 支付一同记录在交易记录中。
  • 非托管:USDC 直接转入接收钱包。Facilitator 不持有任何资金。