Cadenas y activos
InfraIO Pay es stablecoin-first y multicadena: ocho redes EVM más TRON, Solana y TON. La matriz de abajo muestra las redes que InfraIO Pay soporta. TRON, Solana y TON llegarán a producción próximamente.
Mainnet
| Cadena | Chain ID | Nativa | USDC | USDT | Confirmaciones | Orden mín. |
|---|---|---|---|---|---|---|
| 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-decimales) | ✓ (18-decimales) | 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 |
USDC + USDT en BSC usan 18 decimales, no 6 como en el resto. Si calculas importes de token por tu cuenta, tenlo en cuenta. El SDK y el checkout alojado lo manejan por ti.
“Orden mín.” es el importe mínimo de una orden en USD. Los valores
por defecto son $1.00 en mainnet y $0.50 en testnet, con
Ethereum en $5 porque la comisión de red (gas) en Ethereum
superaría a las órdenes menores. El mínimo puede variar por red.
Las órdenes por debajo se rechazan con AMOUNT_BELOW_MINIMUM
(HTTP 400), y details.floor_usd lleva el mínimo de esa red para
que puedas mostrarlo al comprador.
TRON, Solana and TON
Próximamente. TRON, Solana y TON aún no están disponibles en producción.
| Cadena | Chain ID | Nativa | USDC | USDT | Confirmaciones | Orden mín. |
|---|---|---|---|---|---|---|
| TRON | 728126428 | TRX | — | ✓ (TRC-20) | 19 | $1.00 |
| Solana | 1151111081099710 | SOL | ✓ (SPL) | ✓ (SPL) | 32 | $1.00 |
| TON | 607000000000000 | TON | — | ✓ (Jetton) | 1 | $1.00 |
Solana y TON no tienen un chain ID de EVM, así que los IDs de arriba son los identificadores internos que la API usa para ellas. Todas las stablecoins listadas aquí usan 6 decimales. TON finaliza cada bloque, por lo que una sola confirmación ya es definitiva.
Testnet
| Cadena | Chain ID | Nativa | Confirmaciones | Orden mín. |
|---|---|---|---|---|
| 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 |
El modo de prueba usa testnets reales, no una cadena simulada. Para disparar un pago de prueba necesitas fondos testnet reales: obtén desde un faucet (p. ej., sepoliafaucet.com , coinbase.com/faucets ) y envía a la dirección de depósito que la página de checkout genera.
TRON Nile, Solana Devnet, TON Testnet
| Cadena | Chain ID | Nativa | Stablecoins de prueba | Confirmaciones | Orden mín. |
|---|---|---|---|---|---|
| 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 |
El modo de prueba en estas redes también usa testnets reales. IUSD es una stablecoin de prueba, solo para este modo.
Códigos de moneda usados en la API
currency (en el body de nivel superior y en cada line item) es la
moneda de visualización de la orden: lo que el comprador ve
como importe. Hoy la plataforma acepta un único código al crear:
"USD": el único valor admitido. TantoPOST /v1/orderscomoPOST /b2b/v1/checkout-sessions/quickrechazan cualquier otro conINVALID_INPUT(“unsupported currency”).GET /v1/supported/currenciesdevuelve la lista actual.
El activo on-chain en el que el comprador liquida (USDC, USDT, …)
no es el campo currency. Lo elige el comprador en la página de
checkout entre las combinaciones cadena × token que has habilitado
en tu config de comerciante, y se te devuelve en el PaymentIntent
y en el payload del webhook como settlement_token (símbolo + cadena).
Los tokens nativos para la comisión de red (gas) (ETH, BNB, POL, MNT, TRX, SOL, TON) son solo
metadatos de cadena, no monedas de pago válidas.
La cadena en sí tampoco se especifica al crear: misma razón, el comprador elige la combinación en la página de checkout.
Confirmaciones vs finalidad
La columna “Confirmaciones” de arriba es el número de bloques que
InfraIO Pay espera antes de pasar un PaymentIntent a SETTLED y enviar
payment.settled. Los conteos se eligen por red para que un reorg
sea poco probable:
- Ethereum mainnet usa 12 confirmaciones.
- Las L2 usan conteos menores que reflejan el riesgo de reorg propio de cada red.
- Las testnets usan 1 confirmación para que las pruebas sean rápidas. No trates los pagos de prueba como finalidad de grado mainnet.
Si necesitas confirmaciones más estrictas (o más laxas) para una cadena específica, el conteo por cadena es configurable en la cuenta del comerciante: habla con tu contacto de cuenta.
Habilitar cadenas para tu comerciante
Una cuenta nueva empieza con un conjunto amplio de testnets. Las redes mainnet quedan disponibles cuando has completado la verificación de la cuenta y añadido una wallet de Tesorería para la red (firmas un mensaje para demostrar que la controlas).
Los pagos van directo a tus wallets de Tesorería — InfraIO Pay nunca retiene tus fondos.
Habilita cadenas adicionales desde Settings → Networks en el dashboard del comerciante.
Direcciones de depósito por pedido (EVM)
En EVM, cada pedido recibe su propia dirección de depósito por pedido (CREATE2). Cada dirección es única para un checkout y se genera de antemano. No creas ni financias nada: recibes la dirección de vuelta en el PaymentIntent y se la muestras al comprador.
- Dos intents para el mismo comerciante obtienen direcciones diferentes: no hay colisiones entre compradores.
- El comprador ve la dirección en la página de checkout inmediatamente.
- Los compradores nunca pagan comisión de red (gas) de configuración. Los fondos se envían automáticamente a tu wallet de Tesorería, sin ningún paso aparte que tengas que rastrear.
Implicaciones prácticas para integradores:
- La
deposit_addressdevuelta en un PaymentIntent es una dirección EVM regular: puedes mostrarla como código QR, escanearla, enviarle desde cualquier wallet. No se necesita soporte especial del cliente. - Enviar a la dirección antes de que el intent expire liquida la orden. Los depósitos tardíos (enviados tras la expiración) a veces pueden reenviarse a tu wallet de Tesorería, pero no está garantizado, así que no cuentes con ello.
- Cada dirección es de un solo uso por intent. Si un comprador necesita un segundo intento, emite una nueva sesión de checkout: obtendrás una dirección fresca.
Redes de pago directo a la wallet
En estas redes se usa el modo Directo a la wallet: los fondos van directo a tu wallet de Tesorería. TRON, Solana y TON funcionan distinto que EVM. No hay dirección de depósito por orden ni paso de sweep: la wallet del comprador paga directamente a tu wallet de Tesorería. Cuando la comisión de la plataforma se cobra on-chain, se separa dentro de ese mismo pago (tu parte más la comisión). En caso contrario, la comisión se factura de tu crédito prepagado. La plataforma decide cuál de las dos se aplica, no el comerciante.
| Red | Cómo paga el comprador |
|---|---|
| TRON | TronLink. El checkout se abre dentro de TronLink y el comprador aprueba la transferencia. |
| Solana | Solana Pay. El comprador escanea un código QR con Phantom, Solflare o cualquier wallet compatible con Solana Pay; la wallet obtiene la transacción desde el checkout. |
| TON | TON Connect (Tonkeeper, Telegram Wallet, MyTonWallet). El comprador aprueba una sola solicitud; las transferencias llevan un comentario con la referencia de la orden que identifica el pago. |
Antes de que los compradores puedan elegir una de estas redes, añade una wallet de Tesorería para esa familia de redes (EVM, TRON, Solana o TON) en el dashboard del comerciante. Formatos de dirección aceptados:
- TRON — dirección base58 que empieza por
T… - Solana — clave pública base58
- TON — formato amigable
UQ…/EQ…(o formato raw0:…), solo basechain
En estas redes no hay una dirección de depósito que mostrar, así que deja que el checkout alojado dirija el pago.
Lo que NO se soporta hoy
- Bitcoin / Lightning. No se soporta.
- Pagos en moneda nativa. Los compradores pagan solo con stablecoins. Las monedas nativas (ETH, BNB, POL, MNT, TRX, SOL, TON) no se aceptan como pago en ninguna red.
- Otras stablecoins (USDe, FDUSD, …). Contacta con soporte para solicitar un token adicional en una red que ya esté habilitada.
Qué sigue
- Conceptos → Sesiones: cómo ocurre la selección de cadena/activo en el momento del checkout.
- Empezar → Introducción: el modelo general.