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

# Redes e ativos

A InfraIO Pay é stablecoin em primeiro lugar e multi-rede: oito redes EVM mais TRON, Solana e TON. A matriz abaixo lista as redes que a InfraIO Pay suporta. TRON, Solana e TON estão sendo liberadas em produção.

## Mainnet

| Rede | Chain ID | Nativo | USDC | USDT | Confirmações | Pedido mínimo |
| --- | --- | --- | --- | --- | --- | --- |
| 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 decimais) | ✓ (18 decimais) | **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 e USDT na BSC usam 18 decimais**, não 6 como em todo lugar.
> Se você calcula valores de token por conta própria, leve isso em
> conta. O SDK e o checkout hospedado cuidam disso para você.

> **Note:**
>
> "Pedido mínimo" é o valor mínimo do pedido em USD. Os padrões são
> **$1.00 na mainnet e $0.50 na testnet**, com a Ethereum em $5 porque
> a taxa de rede (gas) na Ethereum superaria pedidos menores. O mínimo
> pode variar por rede. Pedidos abaixo dele são rejeitados com
> `AMOUNT_BELOW_MINIMUM` (HTTP 400), e `details.floor_usd` carrega o
> mínimo daquela rede para que você possa exibi-lo ao comprador.

### TRON, Solana e TON

> **Note:**
>
> **Em breve.** TRON, Solana e TON ainda não estão disponíveis em produção.

| Rede | Chain ID | Nativo | USDC | USDT | Confirmações | Pedido mínimo |
| --- | --- | --- | --- | --- | --- | --- |
| 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 e TON não têm chain ID de EVM, então os IDs acima são os identificadores internos que a API usa para elas. Toda stablecoin listada aqui usa 6 casas decimais. A TON finaliza cada bloco, então uma única confirmação já é definitiva.

## Testnet

| Rede | Chain ID | Nativo | Confirmações | Pedido mínimo |
| --- | --- | --- | --- | --- |
| 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:**
>
> **O modo de teste usa testnets reais**, não uma rede fictícia. Para
> acionar um pagamento de teste você precisa de fundos reais de
> testnet — pegue numa torneira (por exemplo,
> [sepoliafaucet.com](https://sepoliafaucet.com),
> [coinbase.com/faucets](https://www.coinbase.com/faucets)) e envie
> para o endereço de depósito que a página de checkout gera.

### TRON Nile, Solana Devnet, TON Testnet

| Rede | Chain ID | Nativo | Tokens de teste | Confirmações | Pedido mínimo |
| --- | --- | --- | --- | --- | --- |
| 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:**
>
> O modo de teste nessas redes também usa testnets reais. `IUSD` é a stablecoin de teste, usada apenas em Modo de teste.

## Códigos de moeda usados na API

`currency` (no body de nível superior e em cada item) é a **moeda de
exibição do pedido** — o que o comprador vê como valor. Hoje a
plataforma aceita um único código no momento da criação:

- `"USD"` — o único valor suportado. Tanto `POST /v1/orders` quanto
  `POST /b2b/v1/checkout-sessions/quick` rejeitam qualquer outra
  coisa com `INVALID_INPUT` ("unsupported currency").
  `GET /v1/supported/currencies` retorna a lista atual.

O **ativo on-chain** em que o comprador liquida (USDC, USDT, …)
*não* é o campo `currency`. Ele é escolhido pelo comprador na página
de checkout a partir das combinações rede × token que você habilitou
na sua config de lojista e é retornado a você no PaymentIntent e no payload
do webhook como `settlement_token` (símbolo + rede). Tokens de gás
nativos (`ETH`, `BNB`, `POL`, `MNT`, `TRX`, `SOL`, `TON`) são metadado da rede apenas —
não são moedas válidas de pagamento.

A rede em si também não é especificada no momento da criação — pelo
mesmo motivo: o comprador escolhe a combinação na página de checkout.

## Confirmações vs. finalidade

A coluna "Confirmações" acima é o número de blocos que a InfraIO Pay
espera antes de mover um PaymentIntent para `SETTLED` e enviar
`payment.settled`. As contagens são escolhidas por rede para tornar
um reorg improvável:

- A mainnet Ethereum usa 12 confirmações.
- As L2s usam contagens menores, que refletem o risco de reorg de
  cada rede.
- As testnets usam 1 confirmação para manter os testes rápidos. Não
  trate pagamentos de teste como finalidade nível mainnet.

Se você precisa de confirmações mais rígidas (ou mais soltas) para
uma rede específica, a contagem por rede é configurável na conta do
lojista — fale com o seu contato de conta.

## Habilitando redes para o seu lojista

Uma conta nova começa com um conjunto amplo de testnets. As redes de
mainnet ficam disponíveis quando você conclui a verificação da conta
e adiciona uma carteira de Tesouraria para a rede (você assina uma
mensagem para provar que a controla).

> Os pagamentos vão direto para suas carteiras de Tesouraria — a InfraIO Pay nunca retém seus fundos.

Habilite redes adicionais em **Settings → Networks** no dashboard do
lojista.

## Endereços de depósito determinísticos (EVM)

As redes EVM usam um **endereço de depósito por pedido (CREATE2)**.
Cada endereço é **único para um checkout** e é gerado antecipadamente.
Você não cria nem financia nada: recebe o endereço de volta no
PaymentIntent e o mostra ao comprador.

- Dois intents do mesmo lojista pegam endereços **diferentes** — sem
  colisões entre compradores.
- O comprador vê o endereço na página de checkout imediatamente.
- Os compradores nunca pagam taxa de rede (gas) de setup. Os fundos liquidam direto
  na sua carteira de Tesouraria, sem um passo separado de *sweep* (o
  encaminhamento automático do endereço de depósito para a carteira) que o
  lojista tenha que acompanhar.

Implicações práticas para integradores:

- O `deposit_address` retornado num PaymentIntent é um endereço EVM
  comum — você pode mostrar como QR code, escanear, enviar de
  qualquer carteira. Não precisa de suporte especial do lado do
  cliente.
- Enviar para o endereço **antes** que o intent expire liquida o
  pedido. Depósitos atrasados (enviados depois da expiração) às vezes
  podem ser encaminhados para a sua carteira de Tesouraria, mas isso
  não é garantido, então não conte com isso.
- Cada endereço é de uso único por intent. Se um comprador precisa
  de uma segunda tentativa, crie uma nova sessão de checkout — você
  recebe um endereço novo.

## Redes com pagamento direto na carteira

TRON, Solana e TON funcionam de forma diferente da EVM. **Não há endereço de depósito por pedido nem etapa de sweep**: a carteira do comprador paga diretamente a sua carteira de Tesouraria. Quando a taxa da plataforma é cobrada on-chain, ela é separada dentro desse mesmo pagamento (a sua parte mais a taxa). Caso contrário, a taxa é cobrada do seu crédito pré-pago. Quem decide qual das duas se aplica é a plataforma, não o lojista.

| Rede | Como o comprador paga |
| --- | --- |
| TRON | **TronLink.** O checkout abre dentro do TronLink e o comprador aprova a transferência. |
| Solana | **Solana Pay.** O comprador escaneia um QR code com Phantom, Solflare ou qualquer carteira compatível com Solana Pay; a carteira busca a transação no checkout. |
| TON | **TON Connect** (Tonkeeper, Telegram Wallet, MyTonWallet). O comprador aprova uma única solicitação; as transferências levam um comentário com a referência do pedido que identifica o pagamento. |

Antes que os compradores possam escolher uma dessas redes, adicione uma **carteira de Tesouraria para essa família de redes** (EVM, TRON, Solana ou TON) no dashboard do lojista. Formatos de endereço aceitos:

- **TRON** — endereço base58 começando com `T…`
- **Solana** — chave pública base58
- **TON** — formato amigável `UQ…` / `EQ…` (ou formato raw `0:…`), apenas basechain

Nessas redes não há endereço de depósito para exibir, então deixe o checkout hospedado conduzir o pagamento.

## O que NÃO é suportado hoje

- **Bitcoin / Lightning.** Não suportado.
- **Pagamentos em moeda nativa.** Os compradores pagam apenas com stablecoins. Moedas nativas (ETH, BNB, POL, MNT, TRX, SOL, TON) não são aceitas como pagamento em nenhuma rede.
- **Outras stablecoins** (USDe, FDUSD, …). Fale com o suporte para
  solicitar um token adicional numa rede que já esteja habilitada.

## Próximos passos

- [Conceitos → Sessões](https://docs.infraio.xyz/pt-BR/concepts/sessions) — como a seleção
  de rede/ativo acontece no momento do checkout.
- [Comece agora → Introdução](https://docs.infraio.xyz/pt-BR/get-started/introduction) — o
  modelo de visão geral.
