AgentBadge
专注于 AI 代理支付安全的公司,提供 @agentbadge/circle-payments 等支付客户端库,强调强制消费限额以保护代理钱包
时间轴 (近 90 天)
AgentBadge 在 @agentbadge/circle-payments 的买家侧设计中,createPayingClient 必须提供 PaymentCaps(含 maxPaymentUsd 和 sessionBudgetUsd),省略时会抛出 TypeError,且不存在无上限模式。
AgentBadge 的支付客户端要求所有 accepts[] 条目通过五项检查:x402Version === 2;scheme 属于 {exact, eip3009-client-broadcast, gateway-batch};network 在允许列表中;asset 等于该链的 USDC 地址;amount 小于等于单次调用上限。
如果支付要求声明的 extra.decimals 不是 6,客户端会直接拒绝而不是推测,以避免小数位缩放错误。
防循环守卫会在携带 payment-signature 的重试请求再次返回 402 时抛出 PaymentNotAcceptedError,绝不为同一个请求支付两次。
AgentBadge 默认允许的网络是 Arc 主网(eip155:5042)和 Arc 测试网(eip155:5042002)。
在生产环境的测试中,AgentBadge 客户端产生了三次实时拒绝(amount 超上限、network 不在允许列表、会话预算耗尽),且均发生在任何签名之前。
在一次真实运行中,三次付费尝试在 payment-signature 被接受后触发服务器 500,facilitator 从未广播,付款方余额仅在另一次成功结算时发生变化——三次签名,失败尝试上零链上结算。
所有金额计算基于 6 位小数的原子单位使用 BigInt,绝不使用浮点数。
当支付要求声明了 extra.payerBinding 时,重试会携带 X-Wallet、X-Sig、X-Timestamp 头(EIP-191,agentbadge-pay:v1)。
支出在资金实际提交时记录——对于 facilitator 通道是在结算时,对于自行结算是在广播时——并且 onSpend(entry) 钩子会将每个事件持久化到存储中。
全部知识事实 (10)
AgentBadge 在 @agentbadge/circle-payments 的买家侧设计中,createPayingClient 必须提供 PaymentCaps(含 maxPaymentUsd 和 sessionBudgetUsd),省略时会抛出 TypeError,且不存在无上限模式。
50%待验证AgentBadge 的支付客户端要求所有 accepts[] 条目通过五项检查:x402Version === 2;scheme 属于 {exact, eip3009-client-broadcast, gateway-batch};network 在允许列表中;asset 等于该链的 USDC 地址;amount 小于等于单次调用上限。
50%待验证如果支付要求声明的 extra.decimals 不是 6,客户端会直接拒绝而不是推测,以避免小数位缩放错误。
50%待验证防循环守卫会在携带 payment-signature 的重试请求再次返回 402 时抛出 PaymentNotAcceptedError,绝不为同一个请求支付两次。
50%待验证AgentBadge 默认允许的网络是 Arc 主网(eip155:5042)和 Arc 测试网(eip155:5042002)。
50%待验证当支付要求声明了 extra.payerBinding 时,重试会携带 X-Wallet、X-Sig、X-Timestamp 头(EIP-191,agentbadge-pay:v1)。
50%待验证支出在资金实际提交时记录——对于 facilitator 通道是在结算时,对于自行结算是在广播时——并且 onSpend(entry) 钩子会将每个事件持久化到存储中。
50%待验证所有金额计算基于 6 位小数的原子单位使用 BigInt,绝不使用浮点数。
50%待验证在生产环境的测试中,AgentBadge 客户端产生了三次实时拒绝(amount 超上限、network 不在允许列表、会话预算耗尽),且均发生在任何签名之前。
50%待验证在一次真实运行中,三次付费尝试在 payment-signature 被接受后触发服务器 500,facilitator 从未广播,付款方余额仅在另一次成功结算时发生变化——三次签名,失败尝试上零链上结算。
50%