São duas etapas separadas: criar um novo link de pagamento da OpenRouter e pagar esse link. A CLI pode automatizar o pagamento de um link existente, mas não cria para você o próximo link de recarga da OpenRouter.
Esta página explica a limitação e depois mostra as alternativas que funcionam na prática. O ROZO Checkout é um checkout independente de terceiros e não tem vínculo com a OpenRouter.

Separe a criação do link de pagamento do pagamento
O auto top-up funciona cobrando um meio de pagamento que foi salvo com antecedência. Alguém precisa conseguir movimentar seu dinheiro sem você estar presente naquele momento. Com um cartão, é exatamente para isso que serve o cartão salvo.
Uma carteira de autocustódia pode assinar cada pagamento de forma interativa, ou um software local pode assinar com uma chave que você autorizou. A autocustódia, por si só, não descarta a automação.
Para pagar sem supervisão, um assinante precisa de autoridade para gastar: por exemplo, uma hot wallet local dedicada usada pelo modo opcional --send da CLI. Isso é diferente de um serviço custodial que guarda seu saldo ou de uma permissão de token que deixa um contrato gastar.
Autorizar um assinante não resolve a criação do link de pagamento. Trate essa etapa de forma explícita em vez de supor que um cron job consegue gerar novas faturas da OpenRouter.
O que realmente quebra quando o saldo zera
Vale ser concreto, porque a falha não é elegante.
Um job longo não pausa educadamente e espera por fundos. As requisições começam a falhar e, dependendo de como seu cliente trata erros, você pode ter uma rajada de falhas, um lote parcialmente concluído ou um loop de retry queimando tempo contra um saldo vazio. Tudo continua quebrado até alguém perceber e recarregar a conta na mão.
O custo raramente é a recarga em si. É a execução que você tem que começar de novo, e o tempo entre o saldo zerar e você descobrir.
Alternativas que se sustentam
Nenhuma delas é engenhosa. Funcionam porque reduzem a frequência com que o problema aparece.
- Dimensione a folga pelo seu consumo, não pelo mínimo. Se um dia pesado custa um determinado valor, mantenha vários dias disso no saldo. Recarregar mais, com menos frequência, é estritamente melhor do que recarregar o mínimo várias vezes.
- Recarregue antes de uma execução longa, não durante. O momento em que você sabe que um lote vai sair caro é o momento mais barato para adicionar fundos.
- Acompanhe o saldo onde você já olha. Um número que você nunca vê é um número que te surpreende. Coloque-o em algum lugar por onde você já passa.
- Mantenha a recarga rápida o suficiente para que a estratégia de folga seja viável. Essa é a parte em que podemos ajudar: cole o link, confirme na carteira, e os créditos costumam chegar cerca de 2 minutos depois que o pagamento é confirmado na rede. Manual só dói quando manual é lento.
Automatize com a CLI ou um cron
A OpenRouter tinha uma API de créditos cripto que um script podia chamar. Em outubro de 2026 esse endpoint (POST /api/v1/credits/coinbase) retorna 410 Gone, então o link de pagamento precisa ser criado na página Credits da OpenRouter.
Com o link em mãos, o pagamento pode ser automatizado. A CLI do ROZO Checkout cota e paga um link com um comando que um agente ou um cron pode rodar:
- npx @rozoai/checkout quote <link>
- npx @rozoai/checkout pay <link> --with usdt-solana --yes
O caminho padrão não precisa de chave privada nem variáveis de ambiente: cria um pedido de depósito de uso único, imprime o endereço e o valor exato e espera a fatura ser liquidada. Você continua enviando da sua própria carteira, então o ponto sobre autocustódia acima se mantém. Para algo totalmente sem supervisão, a opção --send assina com uma chave local em redes EVM ou Solana; use uma hot wallet dedicada com pouco saldo, porque o assinante local pode gastar os fundos dela.
Para verificar o pagamento, execute npx @rozoai/checkout receipt <rozoPaymentId> --json. O comando sai com código 0 somente quando a Coinbase informa que a fatura foi paga; na v3 isso significa CAPTURE_SUCCEEDED. O código 3 significa em andamento ou desconhecido, e o código 1 significa expirada sem pagamento ou aguardando revisão humana. Um comando status sair com código 0 significa apenas que a verificação foi executada: leia os campos state, paymentOutcome e nextAction. Confirme os créditos na OpenRouter separadamente.
Consulte o ROZO Checkout CLI README para ver os comandos atuais e os dois formatos de URL da Coinbase aceitos: payment link e payment session. Nosso guia para agentes de IA cobre a CLI, o servidor MCP e a skill do Claude Code.
Se ainda assim você quer tudo automatizado
Escolha como os pagamentos serão autorizados e decida separadamente como os novos links de pagamento serão obtidos.
A assinatura local pode automatizar um pagamento preparado sem saldo custodiado. Limite os fundos disponíveis para esse assinante, revise a cotação antes de conceder autoridade e confira o recibo antes de tentar de novo. Se usar um serviço custodial, revise os termos de acesso, saque e reembolso.
Para a maioria de quem roda agentes, uma folga no saldo mais uma recarga manual de 30 segundos acaba sendo menos risco operacional do que deixar um saldo parado em outro lugar.