Skip to Content
概念支援的鏈與資產

支援的鏈與資產

InfraIO Pay 以 EVM 為主、以穩定幣為主。每條支援的鏈都在 payment-service 的 networks.json 註冊表中設定;下方矩陣反映目前 test 與 mainnet 線上的狀態。

Mainnet

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-decimal)✓ (18-decimal)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 位不同。 若你因故在 client 端計算金額,請特別處理 — SDK 的金額欄位則會 自動處理。

「最低訂單金額」是在 payment-intent 建立時強制執行的 USD 下限。 目前出貨的預設為 $1.00 mainnet / $0.50 testnet,而 Ethereum 因 L1 gas 相對於小單金額過高,被調高為 $5。Admin ops 可以對個別網路 覆寫設定 — 低於下限的訂單會被以 AMOUNT_BELOW_MINIMUM(HTTP 400) 拒絕,並透過 details.floor_usd 帶回實際設定值,讓你的前端可以 顯示出來。

Testnet

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

Test 模式使用真實 testnet,而非模擬鏈。要觸發測試付款,你需要 實際的 testnet 資金 — 從水龍頭領取(例如 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 指定 — 買家在結帳頁選擇組合。

確認數 vs 最終性

上方「確認數」欄是鏈監看器在將 PaymentIntent 切到 SETTLED 並發出 payment.settled 之前所等待的區塊數。預設值為了在每條鏈的典型重組 深度下達成機率性最終性而調校:

  • Mainnet Ethereum 的 12 是 The Merge 後大多數交易所採用的值。
  • L2 結算較快,但最終仍會繼承 Ethereum 的最終性 — 每條鏈的數量 反映的是 L2 自身的重組風險,而非 L1。
  • Testnet 維持 1 confs,以保持 dev 迴圈快速;不要把這個值外推為 你開發環境中達到 mainnet 等級的安全保證。

若你對特定鏈需要更嚴格(或更寬鬆)的確認數,每條鏈的數量可在商家 帳號上設定 — 請與你的帳號聯絡窗口聯繫。

為你的商家啟用鏈

新商家在 testnet 上預設有一組較寬鬆的鏈,在 mainnet 上則有較窄的 一組。Mainnet 集合的開啟條件是:

  1. KYB 完成
  2. 每條鏈的 treasury wallet 證明(你簽訊息證明保管權)

請從商家儀表板的 Settings → Networks 啟用額外的鏈。

確定性入金位址

EVM 入金位址是每筆結帳確定性的:平台會從與商家、訂單、intent 綁定的內部參數提前推導出位址。你不必預先建立或預先儲值 — 在 PaymentIntent 上就能拿到位址,把它交給買家即可。

  • 同一商家的兩個 intent 會取得不同位址 — 跨買家間不會碰撞。
  • 任何鏈上設定發生之前,結帳頁就會顯示送款目的位址,讓買家立即看到 目的地。
  • 買家從不支付任何設定 gas。資金直接結算到商家的 treasury,商家不需 要追蹤額外的清掃步驟。

對整合者的實務影響:

  • PaymentIntent 上回傳的 deposit_address 是普通的 EVM 位址 — 你可 以將它顯示為 QR code、掃描、從任何錢包轉到它。不需要特別的 client 支援。
  • 在 intent 過期之前送到該位址會結算訂單。過期後送的資金以 盡力而為(best-effort)的方式恢復 — 平台在某些情況下可以重新清掃 延遲入金,但永遠不要假設遲到的資金是安全的。
  • 每個位址在每個 intent 中只能使用一次。若買家需要第二次嘗試, 請鑄造新的結帳 session — 你會取得新的位址。

目前支援

  • Tron / TRC-20。 經常有人要求 USDT-TRC20;在路線圖上,尚未上線。
  • Solana / SPL。 在路線圖上。
  • Bitcoin / Lightning。 不在路線圖上。
  • Layer-1 原生穩定幣(USDe、FDUSD、…)。可從儀表板申請新增; 底層鏈只要已啟用即可。

下一步