Cómo aceptar USDC en Monad con enlaces EIP-681
Con Cosmos Pay, un enlace de pago en Monad es una solicitud EIP-681 hacia una dirección de depósito creada para ese pago: tu cliente escanea su código QR con una wallet EVM y aprueba la transferencia de USDC. La dirección de depósito solo puede reenviar el dinero a tu dirección, y Cosmos Pay marca el enlace como pagado cuando lo hace. Todo enlace de Monad necesita un monto.

Qué contiene un enlace EIP-681
EIP-681 es el estándar de Ethereum para solicitudes de pago que leen las wallets EVM: un enlace ethereum:, o su código QR, con el token, la red y el monto. La red principal de Monad tiene el chain id 143, y su Testnet, el 10143.
El enlace paga a una dirección de depósito creada para ese pago, no directamente a tu dirección. Su código solo puede enviar lo que recibe a tu dirección, así que Cosmos Pay no tiene ninguna clave que pueda mover el dinero a otro lugar.
Cómo te paga la dirección de depósito
- Cosmos Pay vigila la dirección de depósito. Cuando tiene al menos el monto, un reenvío lleva el dinero a tu dirección, y ese reenvío liquida el enlace.
- El reenvío puede descontar una comisión del pago por llevártelo. El checkout la muestra, y la API la informa en el pago como networkFee.
- Si llega más que el monto, se te reenvía completo. Si llega menos, el enlace no se liquida.
- La wallet de tu cliente cubre la comisión de red de Monad de su propia transferencia, en MON.
Acepta tu primer pago en USDC en Monad
Cambia a Sandbox
Inicia sesión en el dashboard y elige Sandbox en la parte superior. Los enlaces que crees ahí funcionan en Monad Testnet, que no tiene USDC predefinido: cobra en MON, o indica un token por su contrato.
Agrega tu dirección de Monad
En los ajustes de tu organización, agrega la dirección EVM que va a recibir el dinero en Monad y firma lo que te pide el dashboard: así demuestras que es tuya.
Crea el enlace
En Pagos, elige Crear enlace de pago, selecciona Monad, ingresa el monto (es obligatorio) y el activo, y luego tu dirección.
Págalo desde una wallet
Abre la página de pago y escanea su código QR con una wallet EVM que lea enlaces EIP-681, en la misma red. Aprueba la transferencia, y el checkout pasa a Pagado cuando el pago se te reenvía.
Confírmalo en tu servidor
Agrega un endpoint de webhook en el dashboard. Cuando el pago se confirma, Cosmos Pay envía PAYMENT_INTENT_SUCCEEDED, firmado con HMAC-SHA256. Entrega el pedido cuando llegue ese evento.
Cambia a Producción
Elige Producción y crea una clave de API de producción (empieza con prod_). Los enlaces ahora funcionan en la red principal de Monad, donde USDC tiene su propia opción predefinida.
Crea el enlace desde tu servidor
Llama a POST /v1/payment-intents/pay con chain definido como monad, tu dirección como destino, el monto y, para USDC, el código de activo con su contrato como emisor, o pasa chain: 'monad' a client.paymentIntents.createPay en el SDK de TypeScript (versión 2.2 o posterior). La respuesta trae el enlace (su uri empieza con ethereum:) y su código QR.
Los enlaces de Monad no admiten mensaje. Para confirmar un pago antes de que llegue el reenvío, envía el hash de la transacción de tu cliente (0x y 64 caracteres hexadecimales) a POST /v1/payment-intents/:id/validate.
Para tener en cuenta
- Un enlace queda abierto por un tiempo limitado. Si después aun así llega un pago completo, se te reenvía y el enlace queda como pagado.
- Otro pago a la misma dirección de depósito también se reenvía a tu dirección.
- Con tu propia comisión en el pago, la dirección de depósito lo divide: tu comisión va a tu wallet de comisiones y el resto, a ti.
- Cada pago paga la tarifa de tu plan, la misma que en todas las redes.
Precios y calculadora de comisionesStellar vs Solana vs Monad
¿Por qué el enlace paga a una dirección de depósito y no a mi dirección?
Cada pago recibe su propia dirección, así que Cosmos Pay puede distinguir los pagos sin un memo. La dirección solo puede reenviar lo que recibe a tu dirección.
¿Quién paga las comisiones en Monad?
La wallet de tu cliente cubre la comisión de red de su transferencia. La comisión del reenvío, cuando la hay, se descuenta del pago y se muestra en el checkout.
¿Mi cliente puede elegir el monto?
No. Un enlace de Monad necesita un monto. Para montos abiertos, usa un enlace de Stellar o de Solana.
¿Puedo probar en Monad?
Sí. En Sandbox y con claves de prueba (dv_), los enlaces funcionan en Monad Testnet. No tiene USDC predefinido, así que cobra en MON o indica un token por su contrato.
