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

# Сети и активы

InfraIO Pay прежде всего работает со стейблкоинами и поддерживает несколько сетей: восемь EVM-сетей, а также TRON, Solana и TON. Матрица ниже перечисляет сети, которые поддерживает InfraIO Pay. TRON, Solana и TON постепенно запускаются в продакшене.

## Mainnet

| Сеть | Chain ID | Native | 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:**
>
> **USDC + USDT на BSC используют 18 десятичных знаков**, а не 6, как
> везде. Если вы сами вычисляете суммы токенов, учтите это. SDK и размещённый
> checkout делают это за вас.

> **Note:**
>
> «Мин. заказ» — это минимальная сумма заказа в долларах. По умолчанию
> **$1.00 на mainnet и $0.50 на testnet**, а для Ethereum — $5, потому что
> комиссия сети (gas) на Ethereum перекрыла бы мелкие заказы. Минимум может
> отличаться в разных сетях. Заказы ниже него отклоняются с
> `AMOUNT_BELOW_MINIMUM` (HTTP 400), а `details.floor_usd` несёт минимум для
> этой сети, чтобы вы могли показать его покупателю.

### TRON, Solana и TON

> **Note:**
>
> **Скоро.** TRON, Solana и TON пока недоступны в продакшене.

| Сеть | Chain ID | Native | 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 нет chain ID в понимании EVM, поэтому указанные выше ID — это внутренние идентификаторы, которые API использует для них. Все перечисленные здесь стейблкоины имеют 6 знаков после запятой. TON финализирует каждый блок, поэтому одного подтверждения достаточно.

## Testnet

| Сеть | Chain ID | Native | Подтверждения | Мин. заказ |
| --- | --- | --- | --- | --- |
| 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:**
>
> **Тестовый режим использует реальные testnet'ы**, а не мок-сеть.
> Чтобы запустить тестовый платёж, вам нужны реальные testnet-средства
> — возьмите их из крана (например,
> [sepoliafaucet.com](https://sepoliafaucet.com),
> [coinbase.com/faucets](https://www.coinbase.com/faucets)) и отправьте
> на депозитный адрес, который сгенерирует страница checkout.

### TRON Nile, Solana Devnet, TON Testnet

| Сеть | Chain ID | Native | Тестовые токены | Подтверждения | Мин. заказ |
| --- | --- | --- | --- | --- | --- |
| 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` — тестовый стейблкоин, используется только в тестовом режиме.

## Коды валют, используемые в API

`currency` (на верхнем уровне тела и в каждой позиции) — это
**валюта отображения заказа**, то, что покупатель видит как сумму.
Сегодня платформа принимает один код при создании:

- `"USD"` — единственное поддерживаемое значение. И `POST /v1/orders`, и
  `POST /b2b/v1/checkout-sessions/quick` отклоняют любое другое
  значение с `INVALID_INPUT` («unsupported currency»).
  `GET /v1/supported/currencies` возвращает актуальный список.

**On-chain актив**, в котором покупатель проводит расчёт (USDC, USDT,
…), это *не* поле `currency`. Он выбирается покупателем на странице
checkout из комбинаций сеть × токен, включённых в вашей мерчантской
конфигурации, и возвращается вам на PaymentIntent и webhook payload как
`settlement_token` (символ + сеть). Нативные gas-токены (`ETH`, `BNB`,
`POL`, `MNT`, `TRX`, `SOL`, `TON`) — это только метаданные сети, не валидные платёжные
валюты.

Сама сеть тоже не указывается при создании по той же причине: покупатель
выбирает комбинацию на странице checkout.

## Подтверждения vs окончательность

Колонка «Подтверждения» выше — число блоков, которое InfraIO Pay ждёт,
прежде чем перевести PaymentIntent в `SETTLED` и отправить
`payment.settled`. Количество подобрано для каждой сети так, чтобы реорг
был маловероятен:

- Ethereum mainnet использует 12 подтверждений.
- L2 используют меньшие значения, отражающие риск реорга в каждой сети.
- Testnet'ы используют 1 подтверждение, чтобы тестирование шло быстро. Не
  считайте тестовые платежи окончательными на уровне mainnet.

Если вам нужны более строгие (или более мягкие) подтверждения для
конкретной сети, per-chain счётчик настраивается на аккаунте мерчанта
— обратитесь к вашему контактному лицу по аккаунту.

## Включение сетей для вашего мерчанта

Новый аккаунт начинает с широкого набора testnet'ов. Сети mainnet
становятся доступны, когда вы завершили верификацию аккаунта и добавили
кошелёк Казначейства для сети (вы подписываете сообщение, доказывающее
владение).

> Платежи поступают прямо на ваши кошельки Казначейства — InfraIO Pay никогда не хранит ваши средства.

Включите дополнительные сети из **Settings → Networks** в панели
мерчанта.

## Детерминированные депозитные адреса (EVM)

Отдельные депозитные адреса для каждого заказа (CREATE2) используются в EVM-сетях. Каждый адрес **уникален для одного checkout** и генерируется
заранее. Вам не нужно ничего создавать или фондировать: вы получаете адрес
на PaymentIntent и показываете его покупателю.

- Два intent'а для одного мерчанта получают **разные** адреса — никаких
  коллизий между покупателями.
- Покупатель сразу видит адрес на странице checkout.
- Покупатели никогда не платят комиссию сети (gas) за настройку. Средства поступают прямо на
  ваш кошелёк Казначейства без отдельного шага sweep (автоматического перевода
  с депозитного адреса на кошелёк), который мерчанту нужно отслеживать.

Практические следствия для интеграторов:

- `deposit_address`, возвращаемый на PaymentIntent, — обычный
  EVM-адрес — его можно показать как QR-код, отсканировать, отправить
  на него с любого кошелька. Никакой особой клиентской поддержки не
  нужно.
- Отправка на адрес **до** истечения intent'а проводит расчёт по
  заказу. Поздние депозиты (отправленные после истечения) иногда удаётся
  перевести на ваш кошелёк Казначейства, но это не гарантировано, поэтому
  не рассчитывайте на это.
- Каждый адрес одноразовый per intent. Если покупателю нужна вторая
  попытка, создайте новую сессию checkout — вы получите свежий адрес.

## Сети с оплатой напрямую на кошелёк

TRON, Solana и TON работают иначе, чем EVM. **Нет депозитного адреса на каждый заказ и нет шага sweep**: кошелёк покупателя платит напрямую на ваш кошелёк Казначейства. Когда комиссия платформы удерживается on-chain, она отделяется в рамках того же платежа (ваша доля плюс комиссия). В остальных случаях комиссия списывается с вашего предоплаченного кредита. Какой из двух вариантов применяется, решает платформа, а не мерчант.

| Сеть | Как платит покупатель |
| --- | --- |
| TRON | **TronLink.** Checkout открывается внутри TronLink, и покупатель подтверждает перевод. |
| Solana | **Solana Pay.** Покупатель сканирует QR-код в Phantom, Solflare или любом кошельке с поддержкой Solana Pay; кошелёк получает транзакцию из checkout. |
| TON | **TON Connect** (Tonkeeper, Telegram Wallet, MyTonWallet). Покупатель подтверждает один запрос; переводы содержат комментарий с референсом заказа, который идентифицирует платёж. |

Чтобы покупатели могли выбрать одну из этих сетей, добавьте в дашборде мерчанта **кошелёк Казначейства для этого семейства сетей** (EVM, TRON, Solana или TON). Допустимые форматы адресов:

- **TRON** — адрес в base58, начинающийся с `T…`
- **Solana** — публичный ключ в base58
- **TON** — user-friendly формат `UQ…` / `EQ…` (или raw-формат `0:…`), только basechain

В этих сетях нет депозитного адреса для показа, поэтому позвольте размещённому checkout вести платёж.

## Что НЕ поддерживается сегодня

- **Bitcoin / Lightning.** Не поддерживаются.
- **Платежи в нативной валюте.** Покупатели платят только стейблкоинами. Нативные монеты (ETH, BNB, POL, MNT, TRX, SOL, TON) не принимаются как оплата ни в одной сети.
- **Другие стейблкоины** (USDe, FDUSD, …). Обратитесь в поддержку,
  чтобы запросить дополнительный токен в уже включённой сети.

## Что дальше

- [Концепции → Сессии](https://docs.infraio.xyz/ru/concepts/sessions) — как происходит выбор
  сеть/актив в момент checkout.
- [Начало работы → Введение](https://docs.infraio.xyz/ru/get-started/introduction) — общая
  картина модели.
