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 桁)✓ (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 下限です。 現状デフォルトは Mainnet $1.00 / Testnet $0.50 で、Ethereum は L1 のガスが小口注文を圧迫するため $5 に引き上げられています。Admin ops はネットワーク別に上書きできます — 下限を下回る注文は AMOUNT_BELOW_MINIMUM (HTTP 400) で拒否され、details.floor_usd に 実際の設定値が入るので FE で表示できます。

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 モードは実際のテストネット を使用しており、モックチェーン ではありません。テスト決済をトリガーするには実際のテストネット資金が 必要です — フォーセット (例: sepoliafaucet.com coinbase.com/faucets ) から入手し、 チェックアウトページが生成する預金アドレスに送金してください。

API で使用する通貨コード

currency(トップレベルおよび各明細項目)は オーダーの表示通貨 — バイヤーに金額として見せる単位です。現時点で作成時に受け付けるコードは 1 つだけです:

  • "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)として返ってきます。ネイティブ・ガス・トークン (ETH, BNB, POL, MNT)はチェーンのメタデータでしかなく、 有効な支払い通貨ではありません。

チェーン自体も同じ理由で作成時の API では指定しません — バイヤーが チェックアウトページで組み合わせを選択します。

確認回数と確定

上記の「確認回数」列は、チェーンウォッチャーが PaymentIntent を SETTLED にフリップして payment.settled を発火する前に待つブロック数 です。デフォルトは各チェーンの典型的な reorg 深度で確率的確定を 得られるよう調整されています:

  • Mainnet Ethereum の 12 はマージ後にほとんどの取引所が採用している値です。
  • L2 はより速く決済しますが、最終的には Ethereum の確定性を継承します — チェーン 別の回数は L2 自身の reorg リスクを反映しており、L1 ではありません。
  • テストネットは開発ループを高速に保つため 1 confirmation です; 開発環境の 値を Mainnet 級の安全性に外挿しないでください。

特定のチェーンでより厳格な (またはより緩い) 確認数が必要な場合、 マーチャントアカウントごとに設定可能です — 担当者にご相談ください。

マーチャントでのチェーン有効化

新しいマーチャントはデフォルトで、Testnet では緩めの、Mainnet では より狭いセットのチェーンが有効になっています。Mainnet セットは 以下にゲートされます:

  1. KYB 完了
  2. チェーンごとの Treasury ウォレットの帰属証明 (custody を証明する メッセージへの署名)

追加チェーンの有効化はマーチャントダッシュボードの Settings → Networks から行えます。

決定論的な預金アドレス

EVM の預金アドレスは チェックアウトごとに決定論的 です。プラット フォームがマーチャント・注文・intent に紐づく内部パラメータから事前に 派生します。事前作成や事前資金は不要 — PaymentIntent でアドレスが返 されるので、それをバイヤーに渡すだけです。

  • 同じマーチャントの 2 つの intent は 異なる アドレスを得ます — バイヤー 間で衝突しません。
  • オンチェーンのセットアップ前にチェックアウトページで送り先が 表示されるので、バイヤーは即座に送金先を確認できます。
  • バイヤーがセットアップガスを払うことはありません。資金は別途スイープ ステップを経ずに、マーチャントのトレジャリーへ直接決済されます。

インテグレータへの実用上の含意:

  • PaymentIntent で返される deposit_address は通常の EVM アドレスです — QR コードとして表示、スキャン、任意のウォレットからの送金が可能です。 特別なクライアントサポートは不要。
  • intent が期限切れになる にアドレスへ送金すると注文が決済されます。 期限切れ後の送金はベストエフォートで回収します — プラットフォーム側で 遅延預金を再スイープできるケースもありますが、遅延資金が安全とは 決して仮定しないでください。
  • 各アドレスは intent ごとに使い切りです。バイヤーが 2 回目の試行を 必要とする場合、新しいチェックアウトセッションを発行してください — 新しい アドレスが得られます。

現在サポートしていないもの

  • Tron / TRC-20。 USDT-TRC20 向けによく要望されますが、ロードマップ 上で、まだライブではありません。
  • Solana / SPL。 ロードマップ上。
  • Bitcoin / Lightning。 ロードマップにありません。
  • L1 ネイティブステーブルコイン (USDe、FDUSD、…)。ダッシュボードから 追加リクエスト可能; 対応する基盤チェーンが有効化されている必要があります。

次に