<!-- Source: https://docs.infraio.xyz/ko/concepts/chains -->
<!-- Last updated: 2026-10-04 -->

# 체인 및 자산

InfraIO Pay는 스테이블코인 우선의 멀티체인 서비스로, 8개의 EVM 네트워크와 함께 TRON, Solana, TON을 지원합니다. 아래 매트릭스는 InfraIO Pay가 지원하는 네트워크를 나열합니다. TRON, Solana, TON은 프로덕션에 출시 예정입니다.

## 메인넷

| 체인 | 체인 ID | 네이티브 | USDC | USDT | 확인 수 | 최소 주문 |
| --- | --- | --- | --- | --- | --- | --- |
| Ethereum | `1` | ETH | ✓ (ERC-20) | ✓ (ERC-20) | **12** | **$5.00** |
| Base | `8453` | ETH | ✓ (ERC-20) | — | **10** | $1.00 |
| Polygon | `137` | POL | ✓ (ERC-20) | ✓ (ERC-20) | **5** | $1.00 |
| BSC | `56` | BNB | ✓ (18-decimal) | ✓ (18-decimal) | **5** | $1.00 |
| Arbitrum | `42161` | ETH | ✓ (ERC-20) | ✓ (ERC-20) | **5** | $1.00 |
| Optimism | `10` | ETH | ✓ (ERC-20) | ✓ (ERC-20) | **5** | $1.00 |
| ZKsync Era | `324` | ETH | — | — | **5** | $1.00 |
| Mantle | `5000` | MNT | — | — | **5** | $1.00 |

> **Warning:**
>
> **BSC의 USDC + USDT는 다른 체인의 6 decimals와 달리 18 decimals를 사용합니다.**
> 토큰 금액을 직접 계산하는 경우 이를 고려하세요. SDK와 호스팅 체크아웃은
> 이를 자동으로 처리합니다.

> **Note:**
>
> "최소 주문"은 USD 기준 최소 주문 금액입니다. 기본값은
> **메인넷 $1.00 / 테스트넷 $0.50**이며, Ethereum의 네트워크 수수료(가스)가 작은
> 주문보다 커지기 때문에 Ethereum은 $5입니다. 최소 금액은 네트워크별로 다를 수
> 있습니다. 최소 금액 미만 주문은 `AMOUNT_BELOW_MINIMUM`(HTTP 400)으로
> 거부되며, `details.floor_usd`가 해당 네트워크의 최소 금액을 전달하므로
> 구매자에게 표시할 수 있습니다.

### TRON, Solana and TON

> **Note:**
>
> **출시 예정.** TRON, Solana, TON은 아직 프로덕션에서 사용할 수 없습니다.

| 체인 | 체인 ID | 네이티브 | USDC | USDT | 확인 수 | 최소 주문 |
| --- | --- | --- | --- | --- | --- | --- |
| TRON | `728126428` | TRX | — | ✓ (TRC-20) | **19** | $1.00 |
| Solana | `1151111081099710` | SOL | ✓ (SPL) | ✓ (SPL) | **32** | $1.00 |
| TON | `607000000000000` | TON | — | ✓ (Jetton) | **1** | $1.00 |

> **Note:**
>
> Solana와 TON에는 EVM 체인 ID가 없으므로, 위의 ID는 API가 이 체인들에 사용하는 내부 식별자입니다. 여기에 나열된 모든 스테이블코인은 6 decimals를 사용합니다. TON은 매 블록이 파이널라이즈되므로 확인 1회면 최종입니다.

## 테스트넷

| 체인 | 체인 ID | 네이티브 | 확인 수 | 최소 주문 |
| --- | --- | --- | --- | --- |
| Ethereum Sepolia | `11155111` | ETH | 1 | $0.50 |
| Base Sepolia | `84532` | ETH | 1 | $0.50 |
| Polygon Amoy | `80002` | POL | 1 | $0.50 |
| BNB Smart Chain Testnet | `97` | tBNB | 1 | $0.50 |
| Arbitrum Sepolia | `421614` | ETH | 1 | $0.50 |
| OP Sepolia | `11155420` | ETH | 1 | $0.50 |
| Mantle Sepolia | `5003` | MNT | 1 | $0.50 |
| ZKsync Sepolia | `300` | ETH | 1 | $0.50 |

> **Note:**
>
> **테스트 모드는 실제 테스트넷을 사용하며**, 목 체인이 아닙니다. 테스트
> 결제를 트리거하려면 실제 테스트넷 자금이 필요합니다 — 포셋(예:
> [sepoliafaucet.com](https://sepoliafaucet.com),
> [coinbase.com/faucets](https://www.coinbase.com/faucets))에서 받아 체크아웃
> 페이지가 생성하는 주문별 입금 주소로 전송하세요.

### TRON Nile, Solana Devnet, TON Testnet

| 체인 | 체인 ID | 네이티브 | 테스트 스테이블코인 | 확인 수 | 최소 주문 |
| --- | --- | --- | --- | --- | --- |
| TRON Nile | `3448148188` | TRX | USDT, IUSD | 19 | $0.50 |
| Solana Devnet | `1151111081099711` | SOL | USDC, IUSD | 32 | $0.50 |
| TON Testnet | `607000000000003` | TON | IUSD | 1 | $0.50 |

> **Note:**
>
> 이 네트워크들의 테스트 모드도 실제 테스트넷을 사용합니다. IUSD 테스트 스테이블코인(`IUSD`)은 테스트 전용입니다.

## API에서 사용되는 통화 코드

`currency`(최상위 본문 및 각 라인 아이템에서)는 **주문의 표시 통화**입니다 —
구매자가 보는 금액입니다. 현재 플랫폼은 생성 시 단일 코드만 허용합니다.

- `"USD"` — 유일하게 지원되는 값입니다. `POST /v1/orders`와
  `POST /b2b/v1/checkout-sessions/quick` 모두 다른 값은
  `INVALID_INPUT`("지원되지 않는 통화")으로 거부합니다.
  `GET /v1/supported/currencies`가 현재 목록을 반환합니다.

구매자가 정산하는 **온체인 자산**(USDC, USDT 등)은 `currency` 필드가 *아닙니다*.
이는 가맹점 구성에서 활성화한 체인 × 토큰 조합 중 구매자가 체크아웃 페이지에서
선택한 것이며, PaymentIntent와 웹훅 페이로드에서 `settlement_token`(심볼 +
체인)으로 반환됩니다. 네트워크 수수료(가스)용 네이티브 토큰(`ETH`, `BNB`, `POL`, `MNT`, `TRX`, `SOL`, `TON`)은
체인 메타데이터일 뿐이며 유효한 결제 통화가 아닙니다.

체인 자체도 생성 시 지정되지 않습니다 — 동일한 이유로, 구매자가 체크아웃
페이지에서 조합을 선택합니다.

## 확인 수 vs 파이널리티

위의 "확인 수" 열은 InfraIO Pay가 PaymentIntent를 `SETTLED`로 전환하고
`payment.settled`를 보내기 전에 대기하는 블록 수입니다. 확인 수는 reorg 가능성을
낮추도록 네트워크별로 정해져 있습니다.

- Ethereum 메인넷은 12 confirmation을 사용합니다.
- L2는 각 네트워크 자체의 reorg 위험을 반영한 더 낮은 확인 수를 사용합니다.
- 테스트넷은 테스트를 빠르게 하기 위해 1 confirmation을 사용합니다. 테스트
  결제를 메인넷급 파이널리티로 간주하지 마세요.

특정 체인에 대해 더 엄격한(또는 더 느슨한) 확인이 필요한 경우 체인별 확인 수는
가맹점 계정에서 구성 가능합니다 — 계정 담당자에게 문의하세요.

## 가맹점에 대한 체인 활성화

새 계정은 폭넓은 테스트넷 세트로 시작합니다. 메인넷 네트워크는 계정 인증을
완료하고 해당 네트워크의 트레저리 지갑을 추가하면(해당 지갑을 직접 관리함을 증명하는
메시지에 서명) 사용할 수 있습니다.

> 결제 금액은 회원님의 트레저리 지갑으로 바로 입금됩니다. InfraIO Pay는 회원님의 자금을 보관하지 않습니다.

가맹점 대시보드의 **Settings → Networks**에서 추가 체인을 활성화하세요.

## 주문별 입금 주소 (CREATE2, EVM)

EVM 네트워크에서는 주문마다 고유한 입금 주소(CREATE2로 생성)를 사용합니다. 각 주소는 **하나의 체크아웃에 고유**하며 미리 생성됩니다. 사전 생성하거나 자금을
조달할 필요가 없습니다. PaymentIntent에서 주소를 받아 구매자에게 표시하기만
하면 됩니다.

- 동일 가맹점의 두 인텐트는 **다른** 주소를 받습니다 — 구매자 간 충돌이
  없습니다.
- 구매자는 체크아웃 페이지에서 주소를 즉시 볼 수 있습니다.
- 구매자는 설정용 네트워크 수수료(가스)를 부담하지 않습니다. 자금은 트레저리 지갑으로
  자동 전송됩니다. 이 전송 단계를 sweep이라고 하며(입금 주소의 자금을 트레저리 지갑으로
  모으는 작업), 가맹점이 따로 추적할 필요는 없습니다.

연동자를 위한 실용적인 시사점:

- PaymentIntent에서 반환된 `deposit_address`는 일반 EVM 주소입니다 —
  QR 코드로 표시하거나, 스캔하거나, 모든 지갑에서 송금할 수 있습니다.
  특별한 클라이언트 지원이 필요하지 않습니다.
- 인텐트 만료 **전에** 주소로 전송하면 주문이 정산됩니다. 늦은 입금(만료 후
  전송)은 가끔 트레저리 지갑으로 다시 전송될 수 있지만 보장되지 않으므로 이에
  의존하지 마세요.
- 각 주소는 인텐트별로 일회용입니다. 구매자가 두 번째 시도를 해야 하는
  경우 새 체크아웃 세션을 발급하세요 — 새 주소를 받게 됩니다.

## 지갑 직접 결제 네트워크

TRON, Solana, TON은 EVM과 방식이 다릅니다. **주문별 입금 주소도 sweep(트레저리 지갑으로의 전송) 단계도 없습니다**. 구매자의 지갑이 가맹점의 트레저리 지갑으로 직접 결제합니다("지갑으로 직접" 방식). 플랫폼 수수료를 온체인에서 징수하는 경우, 같은 결제 안에서 분할됩니다(가맹점 몫과 수수료). 그렇지 않으면 수수료는 선불 크레딧에서 청구됩니다. 두 방식 중 어느 쪽이 적용될지는 가맹점이 아니라 플랫폼이 결정합니다.

| 네트워크 | 구매자 결제 방법 |
| --- | --- |
| TRON | **TronLink.** 체크아웃이 TronLink 안에서 열리고, 구매자가 전송을 승인합니다. |
| Solana | **Solana Pay.** 구매자가 Phantom, Solflare 또는 Solana Pay를 지원하는 지갑으로 QR 코드를 스캔하면, 지갑이 체크아웃에서 트랜잭션을 가져옵니다. |
| TON | **TON Connect**(Tonkeeper, Telegram Wallet, MyTonWallet). 구매자는 하나의 요청을 승인합니다. 전송에는 결제를 식별하는 주문 참조 코멘트가 포함됩니다. |

구매자가 이 네트워크를 선택할 수 있으려면, 가맹점 대시보드에서 **해당 네트워크 계열의 트레저리 지갑**(EVM, TRON, Solana 또는 TON)을 추가해야 합니다. 허용되는 주소 형식은 다음과 같습니다.

- **TRON** — `T…`로 시작하는 base58 주소
- **Solana** — base58 공개 키
- **TON** — user-friendly 형식 `UQ…` / `EQ…`(또는 raw 형식 `0:…`), basechain만 해당

이 네트워크에서는 표시할 주문별 입금 주소가 없으므로, 결제는 호스팅 결제 페이지가 진행하도록 두세요.

## 현재 지원되지 않는 항목

- **Bitcoin / Lightning.** 지원되지 않습니다.
- **네이티브 통화 결제.** 구매자는 스테이블코인으로만 결제합니다. 네이티브 코인(ETH, BNB, POL, MNT, TRX, SOL, TON)은 어떤 네트워크에서도 결제 수단으로 허용되지 않습니다.
- **기타 스테이블코인**(USDe, FDUSD 등). 이미 활성화된 네트워크에 토큰을
  추가하려면 지원팀에 문의하세요.

## 다음 단계

- [개념 → 세션](https://docs.infraio.xyz/ko/concepts/sessions) — 체크아웃 시 체인/자산 선택이
  어떻게 이루어지는지 다룹니다.
- [시작하기 → 소개](https://docs.infraio.xyz/ko/get-started/introduction) — 큰 그림 모델을
  다룹니다.
