认证与 Scope

签发、使用和撤销钱包所有的 Bearer-Token。

最近更新: 2026年9月30日

请求 Challenge

机器认证使用 Flare 链(chainId 14)上的 EIP-4361 SIWE Challenge。用你的钱包对返回的消息原样签名(EIP-191 personal_sign)。Nonce 一次性有效、绑定钱包,并在五分钟后过期。只请求客户端需要的权限。示例请求 write 和 spend,因为后续的充值和订阅示例会同时用到两者;read 始终包含在内。

curl -X POST 'https://ftso.app/api/x402/auth/challenge' \
  -H 'content-type: application/json' \
  -d '{"wallet":"0xYOUR_WALLET","scopes":["write","spend"],"label":"My agent"}'

响应包含 wallet、nonce、issuedAt 和 message。请原样保留 message,包括空白字符。在 viem 中使用 account.signMessage({ message })。Scope 是已签名同意的一部分;label 只是装饰性元数据,最多 40 个字符。不要根据 Nonce 重新构造消息。

兑换签名

curl -X POST 'https://ftso.app/api/x402/auth/token' \
  -H 'content-type: application/json' \
  -d '{"message":"EXACT_RETURNED_SIWE_MESSAGE","signature":"0xSIGNATURE"}'
# Response: { token: "fbx_...", wallet, scopes, expiresAt }

安全地存储 token,并在后续调用中发送 Authorization: Bearer fbx_…。不要把它放进查询字符串、共享日志或示例中。Token 兑换使用 no-store。EOA 签名在本地验证;合约钱包的验证依赖于服务器配置的 RPC,验证失败时会拒绝认证。

权限模型

  • read:读取和消息预览;如果启用了 enforce,也包含付费数据访问。
  • write:更改、收件人测试、充值草稿及确认、接受条款、试用以及关闭 Auto-Renew。
  • spend:购买订阅容量以及开启 Auto-Renew。
  • read 始终被授予,包括与 write 或 spend 一起请求时。write Token 可以撤销同一钱包的任何 Token。

列出与撤销 Token

curl 'https://ftso.app/api/x402/auth/tokens' -H 'authorization: Bearer fbx_TOKEN'
curl -X DELETE 'https://ftso.app/api/x402/auth/tokens/42' \
  -H 'authorization: Bearer fbx_WRITE_TOKEN'

一个钱包最多可拥有十个活跃 Token。列表最多返回 50 条元数据条目,活跃的排在前面;它从不返回密钥或哈希。撤销在下一次认证请求时生效。他人的 ID 返回 404。在浏览器中可在 Wallet-Center Settings → Security 管理 Token。MCP 使用自己的 OAuth 流程;x402 Bearer-Token 不是 MCP 访问令牌。

Bearer-Token 有效期(秒)

  • Bearer-Token 有效期(秒): 86400
  • 匿名每日免费调用次数(仅 enforce): 50