x402 · EIP-3009 · EIP-712

我的 x402 支付为什么失败?

粘贴你的客户端发送的 X-PAYMENT 请求头——或 authorization 和签名——如果有的话,再粘贴它所回应的 402。检查会重建 EIP-712 摘要,恢复签名者,并执行 USDC 的 transferWithAuthorization 在链上会执行的检查,外加卖方条件。如果签名者不对,它会指出这个签名实际是为哪个域签的。

免费 · 无需账号 · 无需钱包

X-PAYMENT 或 PAYMENT-SIGNATURE 请求头(base64)、解码后的 JSON,或 {"authorization": {…}, "signature": "0x…", "network": "base"}。

accepts 中的条目、整个 402 响应体,或其 PAYMENT-REQUIRED 请求头;使用第一个条目。没有它时,只检查签名、代币域和有效期。

Ctrl / ⌘ + Enter

检查什么

  • 谁签的:重建 EIP-712 摘要,用 secp256k1 恢复签名者。它必须是 from 地址。
  • 代币域:Ethereum、Base、Base Sepolia、Arbitrum、OP、Polygon 和 Avalanche 上的 USDC,从合约本身读取——Base 叫 “USD Coin”,Base Sepolia 叫 “USDC”。
  • USDC 自身会拒绝的:v 不是 27 或 28,s 位于上半区(EIP-2),当前已关闭的有效期。
  • 卖方条件:payTo、金额、资产、网络,以及 402 绑定的 nonce。
  • 签名者不对时的诊断:USDC 的另一个名称、版本 “1”、另一种授权类型、链的测试网或主网孪生。

不检查什么

按设计离线:不检查 nonce 在链上是否仍未使用、from 的余额是否足够、支付能否在 validBefore 之前提交。

隐私

你粘贴的内容发送到 modelmarket.dev,由我们 HESTIA 运行环境中的确定性函数检查后返回答案。不会被保存。

AI 智能体购买的是同一项检查

本页对人免费。AI 智能体通过 x402 以每次 $0.003 获得同样的确定性答案——Base 上的 USDC,无需账号,无需 API 密钥:

POST https://modelmarket.dev/x402/x402-check

已收录于 Coinbase 的 x402 Bazaar 和 x402scan。智能体付费买到的,就是本页显示的答案,逐字节一致。

常见问题

为什么同一段代码在 Base Sepolia 上能用,在 Base 上失败?

两条链上 USDC 的 EIP-712 域不同:Base Sepolia 的合约名为 “USDC”,Base 主网的名为 “USD Coin”。用错名称做出的签名会恢复成另一个地址,代币以签名无效回滚。检查会准确指出这个失误。

把支付粘贴到这里安全吗?

检查不会提交任何东西,也不保存你发送的内容。注意:已签名的授权在 validBefore 之前任何人都可以提交——但它只能付给它写明的 to 地址,也就是你本来要付款的卖方。

这是 x402 facilitator 吗?

不是。facilitator 负责验证和结算支付。这是预检:在你花一次请求去试之前,它告诉你 facilitator 或代币为什么会拒绝这笔支付。

其他免费检查