Um link.Agente ou humano, qualquer um paga.
Um link que qualquer agente paga em USDC, e qualquer brasileiro paga em Pix. Você só entrega depois que o pagamento é verificado — sem adquirente de cartão, sem checkout pra construir.
Exemplo ilustrativo. Qualquer um dos dois rails liquida o mesmo link — nada pra configurar do seu lado.
Em resumo
Pare de manter duas pilhas de pagamento pra uma venda.
Receber de agentes e de humanos hoje geralmente significa montar duas pilhas de pagamento do início ao fim — uma página de checkout pra pessoas, uma API separada pros trilhos de agente e USDC. O Collect junta os dois em um link só.
- Uma página de checkout pro comprador humano, com cartão ou Pix
- Uma integração de API separada pros pagamentos de agente e USDC
- Dois caminhos de verificação, fácil de desalinhar
- Dois gatilhos de entrega e duas trilhas de reconciliação
- Um link, um objeto de pagamento — agente ou humano paga
- Uma API só, sem lógica de ramificação do seu lado
- Uma verificação antes de qualquer coisa ser entregue
- Um gatilho de entrega, uma trilha de reconciliação
Mesmo link, dois jeitos de pagar.
Um agente acessa o link e paga em USDC. Uma pessoa abre o mesmo link e paga com Pix. De qualquer forma, você não entrega até o pagamento ser verificado e o recibo ser selado.
agente → link → USDC
humano → mesmo link → Pix
Mesma URL, mesma verificação, mesmo selo — a única coisa que muda é o trilho de quem paga.
Uma chamada codespar_charge, qualquer trilho liquida.
Collect é uma única chamada de meta tool. Você cria um objeto de cobrança aceitando os dois trilhos — o SDK devolve um link, e quem pagar primeiro é quem liquida.
const session = await codespar.sessions.create(); // one charge accepts either rail — the link works for // both a human buyer and an agent, no branching on your end const charge = await session.execute("codespar_charge", { amount: 9640, // minor units (R$96.40) currency: "BRL", accept: ["pix", "usdc"], description: "Order #4821", }); console.log(charge.link); // → "gw.codespar.dev/pay/you/4821" // poll until either side settles it — same call regardless of rail const status = await session.verificationStatus(charge.toolCallId); // → { status: "verified", rail: "pix", receipt: "rcpt_9kLmQx" }
O que essa cadeia de chamadas faz
- Um único objeto de cobrança aceita qualquer rail — nada pra ramificar no seu código
- O mesmo link resolve tanto se um agente paga em USDC quanto se uma pessoa paga em Pix
- Um poll em verificationStatus te diz qual rail realmente liquidou
- Um único recibo de qualquer jeito, selado no momento em que liquida
Um link, visto dos dois lados.
Não importa quem paga, você vê a mesma forma: um link, um pagamento, um recibo verificado.
Exemplo ilustrativo, não é uma transação real. O que é real: você nunca entrega até o pagamento de qualquer lado ser verificado e selado.
Trilhos ao vivo
Um link hoje. Uma pilha de merchant completa depois.
Collect é um link de pagamento agora. A visão do registry é maior — aqui está a linha honesta entre o que funciona hoje e o que ainda vem.
- Um link de pagamento, criado em minutos
- Agentes pagam ele em USDC
- Pessoas pagam o mesmo link em Pix
- Pagamento verificado e recibo selado antes de você entregar
- Fluxo dedicado de Pix QR / copia e cola
- Boleto
- Uma página de checkout hospedada
- Split e repasse por vendedor
- Cartão
Grátis até a disponibilidade geral.
R$0 enquanto Collect está em early access. O preço fica travado no rate card publicado quando chegar em GA — sem aumento surpresa depois.
Early accessEarly access.
A mesma cobrança, já viva em dois fluxos.
O mecanismo de cobrança Pix do Collect não é só um link avulso — esses casos de uso rodam o mesmo primitivo em contexto. Veja dentro de um fluxo real.
Bot de comércio no WhatsApp
Gera o QR Pix inline que o bot cobra no meio da conversa — o mesmo mecanismo de cobrança Pix que o Collect expõe como link, usado dentro do chat em vez de enviado como URL.
Ver o caso de uso →Recarga automática
Emite o Pix dinâmico que recarrega o float em BRL quando ele cai — o mesmo mecanismo de cobrança Pix que o Collect expõe como link, disparado automaticamente em vez de enviado como URL.
Ver o caso de uso →Collect, respondido
Qualquer um. Um agente paga em USDC; uma pessoa paga o mesmo link com Pix.
Não — Pix e USDC já resolvem isso hoje sem um, e a CodeSpar carrega essa relação por você. Cartão entra no roadmap do mesmo jeito, então você nunca vai precisar da sua própria stack de adquirência.
R$0, enquanto está em early access. Quando chegar em disponibilidade geral, o preço segue o rate card publicado.
Ainda não. Hoje o Collect é um link de pagamento; uma página de checkout hospedada está no roadmap, não construída.
Ainda não. Split e repasse por vendedor está no roadmap junto com boleto, cartão e um fluxo dedicado de Pix QR / copia e cola.
Ele é verificado e o recibo é selado antes de você enviar qualquer coisa — você nunca entrega em cima de um pagamento não confirmado.
Ainda não — está no roadmap junto com cartão, o fluxo dedicado de Pix QR, checkout hospedado e split de repasse.
Pra sua wallet CodeSpar — USDC e BRL guardados em slots separados. Você não precisa de uma wallet cripto à parte pra receber o lado agente.
Nada é entregue. O link continua aberto e a cobrança fica não verificada — você só entrega depois que ela é confirmada e o recibo é selado.
Um link. Qualquer lado pode pagar.
Sem adquirente de cartão, sem checkout pra construir — um agente paga USDC, uma pessoa paga Pix.
collect: Early access.