授权方式
| 方式 | x402 V2 scheme | 说明 | Token 支持 |
|---|---|---|---|
eip3009 | exact | 原生 transferWithAuthorization,无需提前 Approve | U、USD1 |
permit2-exact | exact | 通过 Permit2 授权一笔精确金额 | 任意已配置 ERC-20 |
permit2-upto | upto | 通过 Permit2 授权金额上限,可结算较小金额 | 任意已配置 ERC-20 |
permit2-exact 和 permit2-upto 要求付款人先向标准 Permit2
合约执行一次 ERC-20
Approve。之后每笔支付只需重新签署 EIP-712 授权;Allowance 足够时无需再次发起 Approve 交易。
eip3009 不需要 Approve,因为支持的 Token 原生实现 transferWithAuthorization。
支持的网络
| 网络 | CAIP-2 ID | Chain ID | 用途 |
|---|---|---|---|
| BNB Smart Chain Mainnet | eip155:56 | 56 | 生产环境 |
| BNB Smart Chain Testnet | eip155:97 | 97 | 仅 QA |
生产环境资产
| Token | 合约地址 | Decimals | EIP-3009 | Permit2 |
|---|---|---|---|---|
| U | 0xcE24439F2D9C6a2289F741120FE202248B666666 | 18 | 支持 | 支持 |
| USD1 | 0x8d0D000Ee44948FC98c9B98A4FA4921476f08B0d | 18 | 支持 | 支持 |
| USDC | 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d | 18 | 不支持 | 支持 |
| USDT | 0x55d398326f99059fF775485246999027B3197955 | 18 | 不支持 | 支持 |
POST /api/v2/b402/supported
返回的实时配置是唯一事实来源。即使本页列出了某个组合,也只能向买方 提供
kinds[] 当前实际返回的资产和方式。
金额编码
所有金额都使用 Token 最小单位的无符号十进制字符串,不能发送人类可读的小数。
对于 18 位精度的 Token:
1Token ="1000000000000000000"0.01Token ="10000000000000000"
编码金额前从资产合约 decimals() 或可信 Token
Metadata 获取精度。金额计算必须使用整数,不能使用浮点数。
Permit2 合约
BSC Mainnet 和 Testnet 的标准 Permit2 合约地址为:
Code
付款人 Approve 的是这个标准合约。它与 permit2Authorization.spender 中的 B402 Permit2
Proxy 不是同一个地址;Proxy 必须从 kinds[].extra.spenderAddress 获取。
Typed Data 字段和 Witness 规则请查看 Permit2 签名。
Last modified on