Skip to Content
概念支持的链与资产

支持的链与资产

InfraIO Pay 以 EVM 为先、以稳定币为先。每条支持的链都在 payment-service 的 networks.json 注册表中配置;下面的矩阵反映了 今天在测试网和主网上线运行的内容。

主网

Chain ID原生币USDCUSDT确认数最低订单
Ethereum1ETH✓ (ERC-20)✓ (ERC-20)12$5.00
Base8453ETH✓ (ERC-20)10$1.00
Polygon137POL✓ (ERC-20)✓ (ERC-20)5$1.00
BSC56BNB✓ (18 位小数)✓ (18 位小数)5$1.00
Arbitrum42161ETH✓ (ERC-20)✓ (ERC-20)5$1.00
Optimism10ETH✓ (ERC-20)✓ (ERC-20)5$1.00
ZKsync Era324ETH5$1.00
Mantle5000MNT5$1.00

BSC 上的 USDC + USDT 用 18 位小数,而不是其他链上的 6 位。如果 出于某种原因你在客户端计算金额,请考虑这点 — 否则 SDK 的金额字段 会自行处理。

“最低订单”是在 payment-intent 创建时强制的 USD 下限。当前出厂默认值 是主网 $1.00 / 测试网 $0.50,Ethereum 被提到 $5,因为 L1 gas 会把小额订单吃掉。Admin ops 可以按网络覆盖 — 低于下限的订单会被 拒绝并返回 AMOUNT_BELOW_MINIMUM(HTTP 400),details.floor_usd 携带实际配置值,方便前端展示。

测试网

Chain ID原生币确认数最低订单
Ethereum Sepolia11155111ETH1$0.50
Base Sepolia84532ETH1$0.50
Polygon Amoy80002POL1$0.50
BNB Smart Chain Testnet97tBNB1$0.50
Arbitrum Sepolia421614ETH1$0.50
OP Sepolia11155420ETH1$0.50
Mantle Sepolia5003MNT1$0.50
ZKsync Sepolia300ETH1$0.50

测试模式使用真实测试网,不是模拟链。要触发一次测试支付,你 需要真实的测试网资金 — 从水龙头获取(例如 sepoliafaucet.com coinbase.com/faucets )并发送 到结账页生成的存款地址。

API 中使用的货币代码

currency(顶层 + 各 line item)是 订单的显示货币 — 买家看到的金额单位。目前创建时只接受一个代码:

  • "USD"payment-serviceIsSupportedCurrency 返回 true 的 唯一值。POST /v1/ordersPOST /b2b/v1/checkout-sessions/quick 都会用 INVALID_INPUT(“unsupported currency”)拒绝其他值。 公开列表通过 GET /v1/supported/currencies 获取,确保服务端 enum 和客户端永不漂移。

买家实际结算的 链上资产(USDC、USDT 等)不是 currency 字段。 它由买家在结账页从你商户配置启用的”链 × 代币”组合中选择,然后通过 PaymentIntent 和 webhook payload 中的 settlement_token (symbol + chain)返回给你。原生 gas 代币(ETHBNBPOLMNT)只是链的元数据,不是有效的支付货币。

链本身也基于同样的理由不在创建时由 API 指定 — 买家在结账页选择组合。

确认数与最终性

上表的”确认数”列是链监听器在把 PaymentIntent 翻转到 SETTLED 并 触发 payment.settled 之前等待的区块数。默认值经过调校,在典型重组 深度下为每条链提供概率性最终性:

  • 主网 Ethereum 的 12 是大多数交易所在 Merge 之后采用的值。
  • L2 结算更快但最终继承 Ethereum 的最终性 — 每链的数字反映 L2 自身 的重组风险,而非 L1。
  • 测试网定在 1 个确认,以保持开发循环快速;不要将其外推到开发环境的 主网级安全性。

如果你需要对特定链使用更严格(或更宽松)的确认数,该值可在商户账户 按链配置 — 联系你的客户经理。

为你的商户启用链

默认情况下,新商户在测试网上有一个宽松的链集合,在主网上有一个较窄 的集合。主网集合受以下条件门控:

  1. KYB 完成
  2. 各链上的资金钱包证明(你签名一条消息证明保管权)

从商户仪表板的 Settings → Networks 启用更多链。

确定性存款地址

EVM 存款地址是按结账确定性生成的:平台会从绑定到商户、订单、 intent 的内部参数中提前派生地址。你无需预创建或预注资 — 在 PaymentIntent 上就能拿到地址,把它交给买家即可。

  • 同一商户的两个 intent 得到不同地址 — 买家之间不会冲突。
  • 在任何链上设置之前,结账页就会显示送达地址,买家能立刻看到目的地。
  • 买家从不支付任何设置 gas。资金直接结算到商户资金钱包,无需商户 额外跟踪清扫步骤。

对集成方的实际影响:

  • PaymentIntent 上返回的 deposit_address 是普通 EVM 地址 — 你可以 把它显示为二维码、扫描它、从任何钱包向它发送。客户端无需特殊支持。
  • 在 intent 过期之前向地址发送会结算订单。过期后发送只能尽力 恢复 — 平台在某些情况下可以重新清扫迟到存款,但绝不要假设迟到资金 安全。
  • 每个地址在每个 intent 是单次使用。如果买家需要第二次尝试,请铸造 新的结账会话 — 你会得到一个新地址。

今天支持什么

  • Tron / TRC-20。 经常有人为 USDT-TRC20 提出需求;在路线图上, 尚未上线。
  • Solana / SPL。 在路线图上。
  • Bitcoin / Lightning。 不在路线图上。
  • Layer-1 原生稳定币(USDe、FDUSD……)。通过仪表板请求添加; 只要底层链已启用即可。

下一步