Como aceitar USDC na Monad com links EIP-681

Com a Cosmos Pay, um link de pagamento na Monad é uma solicitação EIP-681 para um endereço de depósito criado para aquele pagamento: seu cliente escaneia o QR code com uma carteira EVM e aprova a transferência de USDC. O endereço de depósito só pode repassar o dinheiro para o seu endereço, e a Cosmos Pay marca o link como pago assim que ele faz isso. Todo link na Monad precisa de um valor.

O que um link EIP-681 contém

O EIP-681 é o padrão do Ethereum para solicitações de pagamento que as carteiras EVM leem: um link ethereum:, ou o QR code dele, com o token, a rede e o valor. A rede principal da Monad tem o chain id 143, e a Testnet dela, o 10143.

O link paga um endereço de depósito criado para aquele pagamento, não o seu endereço diretamente. O código dele só pode enviar o que recebe para o seu endereço, então a Cosmos Pay não tem nenhuma chave capaz de mover o dinheiro para outro lugar.

Como o endereço de depósito paga você

  • A Cosmos Pay monitora o endereço de depósito. Assim que ele tem pelo menos o valor, um repasse leva o dinheiro para o seu endereço, e esse repasse liquida o link.
  • O repasse pode tirar do pagamento uma taxa por levá-lo até você. O checkout mostra essa taxa, e a API a informa no pagamento como networkFee.
  • Um valor maior é repassado inteiro para você. Um valor menor não liquida o link.
  • A carteira do seu cliente paga a taxa de rede da Monad pela própria transferência, em MON.

Aceite seu primeiro pagamento em USDC na Monad

  1. Mude para Sandbox

    Entre no dashboard e escolha Sandbox no topo. Os links que você cria ali funcionam na Monad Testnet, que não tem USDC predefinido: cobre em MON, ou indique um token pelo contrato.

  2. Adicione seu endereço da Monad

    Nas configurações da sua organização, adicione o endereço EVM que vai receber o dinheiro na Monad e assine o que o dashboard pedir: essa assinatura comprova que ele é seu.

  3. Crie o link

    Em Pagamentos, escolha Criar link de pagamento, selecione Monad, informe o valor (ele é obrigatório) e o ativo, depois o seu endereço.

  4. Pague com uma carteira

    Abra a página de pagamento e escaneie o QR code com uma carteira EVM que leia links EIP-681, na mesma rede. Aprove a transferência, e o checkout passa para Pago assim que o pagamento é repassado para você.

  5. Confirme no seu servidor

    Adicione um endpoint de webhook no dashboard. Quando o pagamento é confirmado, a Cosmos Pay envia PAYMENT_INTENT_SUCCEEDED, assinado com HMAC-SHA256. Entregue o pedido quando ele chegar.

  6. Mude para Produção

    Escolha Produção e crie uma chave de API de produção (começa com prod_). Os links passam a funcionar na rede principal da Monad, onde o USDC tem a sua própria predefinição.

Crie o link no seu servidor

Chame POST /v1/payment-intents/pay com chain definido como monad, o seu endereço como destino, o valor e, para USDC, o código do ativo com o contrato dele como emissor, ou passe chain: 'monad' para client.paymentIntents.createPay no SDK em TypeScript (versão 2.2 ou posterior). A resposta traz o link (o uri dele começa com ethereum:) e o QR code.

Os links na Monad não aceitam mensagem. Para confirmar um pagamento antes de o repasse chegar, envie o hash da transação do seu cliente (0x e 64 caracteres hexadecimais) para POST /v1/payment-intents/:id/validate.

Bom saber

  • Um link fica aberto por um tempo limitado. Um pagamento completo que ainda chegue depois disso é repassado para você e marca o link como pago.
  • Outro pagamento para o mesmo endereço de depósito também é repassado para o seu endereço.
  • Com a sua própria taxa no pagamento, o endereço de depósito o divide: a sua taxa vai para a sua carteira de taxas e o restante, para você.
  • Cada pagamento paga a tarifa do seu plano, a mesma de todas as redes.

Perguntas e respostas.

Pagamentos por rede:Pagamentos na StellarPagamentos na SolanaPagamentos na Monad

Por que o link paga um endereço de depósito e não o meu endereço?

Cada pagamento recebe o próprio endereço, então a Cosmos Pay consegue distinguir os pagamentos sem um memo. O endereço só pode repassar o que recebe para o seu endereço.

Quem paga as taxas na Monad?

A carteira do seu cliente paga a taxa de rede da transferência dele. A taxa do repasse, quando existe, é descontada do pagamento e aparece no checkout.

Meu cliente pode escolher o valor?

Não. Um link na Monad precisa de um valor. Para valores abertos, use um link da Stellar ou da Solana.

Posso testar na Monad?

Sim. No Sandbox e com chaves de teste (dv_), os links funcionam na Monad Testnet. Ela não tem USDC predefinido, então cobre em MON ou indique um token pelo contrato.

Comece a aceitar stablecoins.

Crie uma conta grátis, gere uma chave de teste e envie hoje o seu primeiro link de pagamento.

Fale com a gente

Dúvidas sobre planos, integração ou pagamentos protegidos: conte para nós e respondemos por e-mail.

Usamos estes dados só para responder a você.