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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

Preguntas y respuestas.

Pagos por red:Pagos en StellarPagos en SolanaPagos en 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.

Empieza a aceptar stablecoins.

Crea una cuenta gratis, genera una clave de prueba y envía hoy tu primer enlace de pago.

Escríbenos

Dudas sobre planes, integración o pagos protegidos: cuéntanos y te respondemos por email.

Usamos estos datos solo para responderte.