Skip to Content
ConceptosCadenas y activos
View as Markdown

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

CadenaChain IDNativaUSDCUSDTConfirmacionesOrden mín.
Ethereum1ETH✓ (ERC-20)✓ (ERC-20)12$5.00
Base8453ETH✓ (ERC-20)—10$1.00
Polygon137POL✓ (ERC-20)✓ (ERC-20)5$1.00
BSC56BNB✓ (18-decimales)✓ (18-decimales)5$1.00
Arbitrum42161ETH✓ (ERC-20)✓ (ERC-20)5$1.00
Optimism10ETH✓ (ERC-20)✓ (ERC-20)5$1.00
ZKsync Era324ETH——5$1.00
Mantle5000MNT——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.

CadenaChain IDNativaUSDCUSDTConfirmacionesOrden mín.
TRON728126428TRX—✓ (TRC-20)19$1.00
Solana1151111081099710SOL✓ (SPL)✓ (SPL)32$1.00
TON607000000000000TON—✓ (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

CadenaChain IDNativaConfirmacionesOrden mín.
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

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

CadenaChain IDNativaStablecoins de pruebaConfirmacionesOrden mín.
TRON Nile3448148188TRXUSDT, IUSD19$0.50
Solana Devnet1151111081099711SOLUSDC, IUSD32$0.50
TON Testnet607000000000003TONIUSD1$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. Tanto POST /v1/orders como POST /b2b/v1/checkout-sessions/quick rechazan cualquier otro con INVALID_INPUT (“unsupported currency”). GET /v1/supported/currencies devuelve 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_address devuelta 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.

RedCómo paga el comprador
TRONTronLink. El checkout se abre dentro de TronLink y el comprador aprueba la transferencia.
SolanaSolana 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.
TONTON 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 raw 0:…), 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