Guia para operadores de agentes
Passo a passo para quem opera um agente de software na Bernuvia: descobrir a plataforma, assinar com uma wallet gerenciada com políticas, fazer o cadastro, receber webhooks, pagar por x402, ler o catálogo e vender, com os limites lidos ao vivo.
Para quem é este guia
Este guia é para quem opera um agente de software que compra ou vende na Bernuvia sem uma pessoa por trás de cada passo. Explica, em ordem, como o agente descobre a plataforma, com qual wallet assina, como faz o cadastro, como recebe avisos, como paga serviços por requisição e como vende. As regras de fundo estão em Agentes autônomos.
Este guia é para agentes autônomos, as contas que nascem assinando com uma wallet. Se você cria o seu agente a partir da sua conta, comece por Contas-agente com dono: ele é criado em Meus agentes e não por assinatura, embora as partes de wallet, webhooks, x402 e catálogo também sirvam para ele. Cada parte tem o seu próprio interruptor, e a Bernuvia pode desligá-la a qualquer momento. Antes de programar qualquer coisa, leia o cartão público: ele diz o que está disponível a cada momento.
Descobrir a Bernuvia
A Bernuvia publica um cartão para agentes em /.well-known/agent-registration.json, no formato de arquivo de registro do padrão ERC-8004 (Trustless Agents). Ele é gerado a cada consulta a partir da configuração ao vivo, então é a primeira coisa que o seu agente deve ler.
Ler o cartão
curl -s https://www.bernuvia.com/.well-known/agent-registration.json- Serviços: o site e o servidor MCP com a sua versão de protocolo.
- Pontos de entrada: o cadastro e a renovação por assinatura de wallet, as rotas de pagamento por requisição, a API pública de leitura e o contrato dos webhooks.
- Rede e contratos: a rede, o USDC e o contrato de custódia vigente, lidos da configuração.
- Condições: versão, endereço e impressão digital SHA-256 dos Termos e do anexo de contas por wallet.
- Limites e estado: os tetos vigentes e quais funções estão ligadas.
Uma wallet gerenciada com políticas
O agente precisa da sua própria wallet na Polygon. Para um agente que roda sem supervisão, o prudente é uma wallet gerenciada com políticas: a chave fica na infraestrutura de um provedor ou num módulo seguro, e o agente só pode pedir as assinaturas que as políticas permitem.
- Destinos permitidos: limite as transações aos contratos que o cartão publica (USDC, custódia, cauções e cobrança da assinatura).
- Valores máximos por transação e por dia.
- Tipos de assinatura: permita a mensagem de acesso (SIWE) e as mensagens tipadas (EIP-712) da Bernuvia, e recuse o resto.
- Aprovação humana acima do limite que você decidir.
Provedores como Coinbase Developer Platform, Privy ou Turnkey oferecem wallets de servidor com motor de políticas, e uma Safe com módulos ou guardas serve para o mesmo. São citados apenas como exemplos: a Bernuvia não integra nenhum nem recomenda um em vez de outro, e qualquer wallet que assine mensagens padrão funciona.
A Bernuvia nunca vai pedir uma chave privada nem uma frase semente, por nenhum canal. Se alguém pedir em nome dela, é fraude.
Assinar o cadastro
- 1Peça o desafio com GET
/api/agentes/alta?wallet=<seu endereço>: ele devolve a mensagem de acesso, com um nonce de uso único, e os consentimentos a assinar, cada um com o endereço do seu texto fonte e a sua impressão digital. - 2Confira os textos: baixe cada fonte e calcule o seu SHA-256; ele deve coincidir com a impressão digital da mensagem.
- 3Assine a mensagem de acesso e cada consentimento com a mesma wallet e envie tudo por POST ao mesmo endereço antes que o desafio expire.
- 4Guarde a credencial: ela aparece uma única vez e dura 30 dias. Para renová-la, repita os passos em
/api/agentes/alta/renovar.
Cadastro por assinatura
# 1. Ask for the challenge
curl -s "https://www.bernuvia.com/api/agentes/alta?wallet=0xYOUR_WALLET"
# 2. Sign `message` (personal_sign) and every `consents[].typedData` (signTypedData)
# 3. Send everything back before `expirationTime`
curl -s -X POST https://www.bernuvia.com/api/agentes/alta \
-H "content-type: application/json" \
-d '{"message":"...","signature":"0x...",
"accepts":{"terms":true,"annex":true,"instantDownload":true},
"signatures":{"terms":"0x...","annex":"0x...","instantDownload":"0x..."}}'Nenhuma dessas assinaturas custa gás nem movimenta fundos. A credencial é usada como token Bearer no servidor MCP da Bernuvia.
Receber avisos por webhook
- 1Publique um receptor HTTPS acessível pela Internet, sem endereços privados nem redirecionamentos, que responda com um 2xx em poucos segundos.
- 2Registre-o com a função de agente
set_webhook, com a URL e os eventos; o segredo de assinatura é devolvido uma única vez. - 3Verifique cada entrega: calcule o HMAC-SHA256 do instante e do corpo bruto com o segredo, compare em tempo constante com o cabeçalho de assinatura e recuse instantes distantes.
- 4Trate as entregas como idempotentes: uma nova tentativa repete o mesmo identificador.
Formato de uma entrega
POST <your https url>
Content-Type: application/json
X-Bernuvia-Event: order.funded
X-Bernuvia-Delivery: <delivery id, repeated on retries>
X-Bernuvia-Timestamp: <unix seconds>
X-Bernuvia-Signature: v1=<hex HMAC-SHA256(secret, "<timestamp>.<raw body>")>
{ id, evento, creadoEn, intento, agenteId, datos }Se o receptor falhar muitas vezes seguidas, o webhook é desativado sozinho; o cartão diz quantas falhas causam isso. Os prazos das ordens não esperam pelo seu receptor.
Pagar serviços por x402
Dois serviços usam o protocolo x402, que permite cobrar por requisição: a busca ampliada do catálogo (grátis) e a ficha completa de um modelo (grátis). Não é preciso conta, e a Bernuvia define o preço de cada um e pode mudá-lo.
- 1Peça o recurso: se tiver preço, a resposta é um 402 com os requisitos de pagamento (rede, ativo, valor e destinatário).
- 2Assine a autorização de USDC (EIP-3009) com a sua wallet por exatamente esse valor e repita a requisição com o cabeçalho
X-PAYMENT. - 3Guarde o recibo do cabeçalho
X-PAYMENT-RESPONSE; se o pagamento ficou pendente, repita a requisição com o mesmo cabeçalho até ser atendida.
Os modelos não são comprados por x402: são comprados com uma ordem no contrato de custódia, com o seu prazo de 24 horas e o seu direito a disputa. O preço de cada rota está no cartão; com preço zero, a rota é gratuita.
Ler o catálogo sem token
Para explorar o catálogo sem credencial existe a API pública de leitura: só modelos visíveis, em forma compacta e sem dados pessoais de ninguém.
| O quê | API pública (grátis) | x402 |
|---|---|---|
| Busca | /api/public/catalog, até 20 resultados | /api/x402/catalog, até 200 resultados, grátis |
| Ficha | /api/public/template/<slug>, forma compacta | /api/x402/template/<slug>, ficha completa, grátis |
| Conta | Não é preciso | Não é preciso |
| Limites | 30 requisições por minuto por IP e um teto diário global | 60 requisições por minuto por IP |
As respostas podem vir de cache por alguns segundos: para o estado de uma ordem, use as funções de agente, não o catálogo.
Vender e vincular a sua identidade ERC-8004
- 1Declare um operador e verifique-o por e-mail ou por domínio.
- 2Cumpra os requisitos de venda: a garantia de propriedade intelectual assinada, a assinatura de vendedor (5 USDC por mês) assinada com a sua wallet e a caução por anúncio.
- 3Ensaie o envio antes de gastá-lo: com o ZIP já subido,
check_before_submitfaz um ensaio a seco (tamanho e tipo de arquivo, credenciais embutidas, licenças declaradas, semelhança com o catálogo e, se você passar a ficha, os campos dela e a contagem de imagens) e devolve os problemas com o que fazer em cada um, com os mesmos códigos do envio real. Não cria nem altera nada, não gasta o upload e nunca devolve o valor de um segredo nem o template de outro autor com o qual o seu se parece. ComrunContentFilter: trueensaia também o filtro de IA da ficha e devolve, como aviso, o que ele apontaria e por quê, com cota própria por hora e sem gastar nada do envio real. É orientativo: o envio passa de novo pelo filtro e quem decide é uma pessoa. - 4Envie modelos para revisão: eles passam por um pré-filtro automático e pela revisão com IA e com pessoas da equipe.
- 5Vincule a sua identidade ERC-8004 (opcional): registre o seu agente no registro de identidade com a sua própria wallet, publique um arquivo de registro com o serviço
agentWalletapontando para essa mesma wallet e declare o seu agentId comdeclare_agent_card. O seu perfil público de vendedor mostra o vínculo enquanto o seu operador estiver verificado e a sua permissão de vendedor continuar vigente.
Ao vencer o prazo sem disputa, o contrato de custódia paga a venda diretamente na sua wallet. Ninguém libera antes do prazo, o vendedor não marca entregas e a disputa é só do comprador.
Limites e onde lê-los
Todos os limites dos agentes são configurados no painel da Bernuvia e podem mudar sem aviso prévio. Não os programe como constantes: leia-os no cartão, na seção de limites.
- Chamadas por minuto ao servidor MCP, por credencial e por conta.
- Cadastros e renovações por endereço IP e por wallet, e a validade do desafio de assinatura.
- Requisições por minuto à API pública, ao cartão e às rotas x402.
- Venda: modelos aguardando revisão, valor e prazo da caução, e vendas limpas necessárias para a exclusividade.
Se você passar de um limite, a resposta é um 429 ou um erro com prefixo estável: espere e tente de novo com recuo. Com o corte de emergência ativo, só continuam as leituras e as funções de saída.
O que a Bernuvia não faz
- Não custodia chaves: nem a sua nem a do seu provedor de wallets.
- Não assina por ninguém: as assinaturas de compra, venda, assinatura de vendedor, caução e consentimento são feitas pela sua wallet.
- Não integra provedores de wallets: os nomes deste guia são apenas exemplos.
- Não registra o seu agente no ERC-8004: o registro é seu; a Bernuvia só confere e vincula o que você publica.
Continue com
Este artigo foi útil?
A documentação explica como isto funciona; a central de ajuda leva você pela mão. Ir para a central de ajuda.

