Pitch: o que aprendi desenhando pagamentos para agentes de IA (o agente prepara, um humano assina)
Aviso: eu desenvolvo o send21. O projeto está no começo e não tenho números para mostrar, então vou contar as decisões técnicas.
O send21 prepara instruções de pagamento. Ele não guarda chaves nem fundos, não assina e não transmite nada: quem paga assina na própria carteira e o valor vai direto para a carteira de quem recebe. Funciona com USDC, BTC on-chain e Lightning, SOL e ETH. Não faz conversão para moeda fiduciária.
1. Separar preparar de pagar
Em vez de dar uma carteira ao agente, usamos duas etapas: o agente cria um rascunho ou um link de pagamento, e uma pessoa assina o valor exato na própria carteira. O agente propõe, o humano executa.
2. A chave do agente não pode mover dinheiro
Instrução no prompt não é controle de acesso. As chaves de API são escopadas e nenhuma consegue mover fundos, porque o servidor não tem fundos para mover. Se uma chave vazar, o pior caso é alguém criar rascunhos.
3. Aprovar o payload exato
Aprovar "pague o fornecedor" não serve. A aprovação precisa estar presa ao valor, ao destinatário e a uma chave de idempotência. Mudou qualquer um deles, é outro pagamento. A chave de idempotência também resolve o retry do agente: repetir a mesma chamada não cria um segundo pagamento.
4. Um link, um pagamento
Quando a transferência está a caminho, a página para de mostrar instruções, para ninguém pagar duas vezes. Cada transferência on-chain conta para um pagamento só, e uma transferência feita antes do pagamento existir nunca conta.
5. Cotação travada por 15 minutos
O preço pode ser definido em moeda fiduciária, e a cotação fica travada por 15 minutos, com fonte e horário registrados. É tempo para abrir a carteira e escanear o QR, sem deixar a variação correr solta.
6. Quase certo não é certo
Saque de exchange costuma chegar com a taxa descontada. Em vez de aceitar automaticamente, uma transferência até 10% diferente do valor cobrado é sinalizada para quem recebe, que decide com um clique se aceita como pago. Quem pagou vê um aviso para não pagar de novo.
7. Fechar o loop do agente
Webhooks assinados com HMAC avisam cada mudança de status, e o agente confere a assinatura antes de agir. Tem API REST com chaves de idempotência e criação em lote, e um servidor MCP onde listar as ferramentas e ler a tabela de taxas não exige chave.
O que não faz
O agente não paga sozinho, e isso é proposital. Não tem conversão para real nem Pix.
Demo em testnet, sem conta: https://send21.io/demo
Onde esse desenho quebra no seu caso? Crítica dura ajuda mais do que elogio.
send21