Segurança e transparência
Seu dinheiro está em um contrato que você pode ler
Quando você compra na Bernuvia, a Bernuvia não guarda seu USDC: ele fica em um contrato público na Polygon até a compra ser encerrada. Aqui estão os endereços, o que o contrato garante, a auditoria que passou, e a que ainda não passou, e como nos avisar se você encontrar uma falha.
Os contratos
Tudo roda na rede principal da Polygon (chain id 137). Cada endereço leva ao explorador: lá você pode ler o código e cada transação.
Contrato de custódia · MarketplaceEscrow
Código verificadoRecebe o pagamento do comprador e o retém até ser liberado ao vendedor ou reembolsado. É o único lugar onde está o dinheiro de uma compra.
Código-fonte verificado no Polygonscan (correspondência exata). Solidity 0.8.24, otimizador com 200 execuções, construído sobre OpenZeppelin: AccessControl, ReentrancyGuard, Pausable, SafeERC20 e EIP-712.
Endereço 0x33C6eFD7523821c2AB51d874e440Ac8A0C97f409
Cobrança da assinatura · SubscriptionCollector
Código verificadoCobra a assinatura de vendedor em USDC com limites fixados na cadeia: o vendedor define um preço máximo e um período, e o operador só pode cobrar até esse máximo, uma vez por período e sempre para a tesouraria. Mudar a tesouraria leva 48 horas.
Código-fonte verificado no Polygonscan (correspondência exata, licença MIT). Vive no mesmo repositório que o contrato de custódia, com o mesmo compilador e a mesma base OpenZeppelin.
Endereço 0x3860f37D6066AF02811b24FE66D0bd00F693AD21
USDC · Circle
Contrato de terceirosA moeda de todas as compras: o USDC nativo da Circle na Polygon. Não é um contrato da Bernuvia.
Endereço 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359
O que o contrato de custódia garante
Estas regras não são aplicadas por um servidor da Bernuvia: estão escritas no contrato, e qualquer pessoa pode conferi-las no código verificado.
O dinheiro nunca passa pela Bernuvia
O USDC vai da wallet do comprador direto para o contrato. A Bernuvia não o custodia em momento algum.
Só duas saídas
O dinheiro de uma compra só pode ser liberado ao vendedor ou reembolsado ao comprador. Não há uma terceira via.
Cada um saca o que é seu
Os pagamentos são creditados e cada parte saca quando quiser. Um endereço bloqueado não pode travar os recebimentos dos demais.
A disputa, antes da liberação
Uma disputa só pode ser aberta antes de vencer a liberação automática, então ninguém pode reabrir uma compra já encerrada.
Uma disputa não fica pendurada
Se uma disputa passa 30 dias sem resolução, qualquer pessoa pode encerrá-la e o contrato reembolsa o total ao comprador.
A comissão tem teto na cadeia
O máximo da comissão é governado no contrato, e cada cotação precisa ficar abaixo desse teto.
Prazos limitados
A janela de liberação automática é limitada no contrato a entre 1 hora e 365 dias; o comprador e o vendedor nunca podem ser o mesmo endereço.
Cotações assinadas e de uso único
Cada preço é assinado com EIP-712 e só serve uma vez. Na revisão não se encontrou nenhuma via para roubar o principal nem para reutilizar uma assinatura.
Auditoria
O contrato de custódia passou por uma auditoria interna adversarial antes de ir para a rede principal. Isto é exatamente o que foi feito e o que foi encontrado.
Método
- Três revisões adversariais independentes, cada uma com sua lente: fundos e reentrância; controle de acesso e assinaturas; máquina de estados e griefing.
- Análise estática com Slither 0.11.5.
- Uma invariante de conservação de fundos verificada sobre 250 operações aleatórias.
- 18 testes em Hardhat, com um de regressão para cada achado.
Achados
9 achados: 1 crítico, 1 alto, 3 médios, 2 baixos e 2 informativos. Todos os críticos, altos e médios foram corrigidos antes do deploy na rede principal; os 2 baixos foram mitigados operacionalmente.
O contrato de cobrança da assinatura passou por sua própria revisão interna: 15 testes e 7 achados, todos corrigidos ou aceitos com justificativa.
Segurança da plataforma
Fora da cadeia, o que protege sua conta e seus downloads.
- Verificação em duas etapas, e um código adicional para as ações sensíveis: um saque exige sua assinatura e um código enviado ao seu e-mail.
- Os tokens do MCP e da API têm permissões limitadas: nunca podem assinar um pagamento, sacar fundos nem alterar a conta.
- A tesouraria é uma wallet multiassinatura.
- As sessões expiram por inatividade.
- Cabeçalhos de segurança em cada resposta: CSP com nonce por requisição, COOP e CORP.
- Cada download leva sua soma de verificação SHA-256.
Reportar uma vulnerabilidade
Se você encontrar uma falha de segurança, queremos saber antes de qualquer pessoa. É assim que você nos conta:
Escreva pelo formulário de contato
Coloque «Segurança» no assunto e conte o que encontrou, como reproduzir e qual o impacto.
Se tiver conta, use o reporte de falhas do painel
O botão «Relatar um problema» do painel chega à mesma equipe e fica ligado à sua conta.
Dê-nos tempo para corrigir
Confirmamos o recebimento e avisamos quando estiver corrigido. Pedimos que não publique até lá.

