URLs / Links
https://github.com/nicolas-takimo/graze/
https://docs.google.com/presentation/d/1xfEe8loyreT8d8HMx_WN5qA2JBQ5BDyB3Lbw6uRXBn4/edit?usp=sharing
https://graze-nextjs.vercel.app/
Description / Descrição
O Graze é uma plataforma Web3 de leilões descentralizados com privacidade criptográfica, criada para dar liquidez e transparência a ativos agropecuários como gado, safras e terras.
Por meio de smart contracts em Solidity, o sistema permite que produtores tokenizem seus ativos em NFTs lastreados em valor real, e os leiloem diretamente para investidores, com pagamento em stablecoin e liquidação automática on-chain.
A privacidade dos lances é garantida por criptografia homomórfica (Zama FHE), permitindo que cada usuário visualize seus próprios logs de transações sem expor dados sensíveis na blockchain.
O projeto já possui um MVP funcional, com contratos integrados (AssetNFT, AuctionManagerFHE, StableToken e VaultManager) e front-end desenvolvido sobre o Scaffold-ETH.
Nos próximos passos, o Graze buscará validar o sistema em pilotos com cooperativas rurais, testando o desempenho e a experiência do leilão privado em ambiente real.
Exemplos de Leilão Encerrado

Sponsors
Integração BuildGuild (Scaffold-ETH)
O Graze foi desenvolvido sobre o ecossistema Scaffold-ETH 2, mantido pela BuildGuild, que fornece a base modular para criação de dApps Ethereum com React, Wagmi e Viem. Essa infraestrutura foi essencial para conectar o front-end ao conjunto de contratos inteligentes do Graze, permitindo prototipagem rápida e segura.
Como foi utilizado
- Autenticação e gerenciamento de rede
- Arquivos:
- index.tsx
- WrongNetworkDropdown.tsx
- NetworkOptions.tsx
- AddressInfoDropdown.tsx
- AddressQRCodeModal.tsx
- O sistema usa os hooks do Scaffold (useAccount, useTargetNetwork, useNetworkColor, useSwitchChain) para gerenciar conexões, exibir saldo e trocar redes.
- O componente RainbowKitCustomConnectButton encapsula toda a lógica de login via carteira (RainbowKit + Wagmi), permitindo alternância automática entre testnets.
- Integração visual e usabilidade Web3
- Arquivo: BlockieAvatar.tsx
- Adiciona um avatar baseado no hash do endereço do usuário, usando o padrão do Scaffold-ETH (blo library).
- Melhora UX ao representar identidades de carteiras em componentes de listagem de participantes e proprietários de NFTs agro.
- Gerenciamento de faucet local e transações
- Arquivos:
- Faucet.tsx
- FaucetButton.tsx
- Usa os hooks useTransactor, useWatchBalance e useTargetNetwork do Scaffold-ETH para criar um sistema de faucet interno, permitindo testes de liquidez com ETH local durante o desenvolvimento.
- O Faucet é acionado via modal (Faucet.tsx) ou botão direto (FaucetButton.tsx), integrando com o createWalletClient da biblioteca Viem.
- Gerenciamento seguro de chaves efêmeras (Burner Wallets)
- Arquivo: RevealBurnerPKModal.tsx
- Reaproveita a integração do RainbowKit Burner Wallet do Scaffold-ETH, permitindo visualizar ou copiar a chave privada de uma carteira temporária local — essencial para testar contratos no ambiente Hardhat.
- UX e fallback de rede
- Arquivo: WrongNetworkDropdown.tsx
- Exibe aviso quando o usuário conecta uma rede incorreta e oferece troca direta de rede, implementada via useSwitchChain() do Wagmi, conforme padrão do Scaffold-ETH.
Integração Chainlink
A Chainlink foi utilizada no Graze para fornecer data feeds dinâmicos de preços on-chain, garantindo que os leilões e a stablecoin AUSDC operassem com referências de valor atualizadas e verificáveis. Essa integração foi essencial para sustentar o modelo de colateralização de 150% do AUSDC e assegurar que os ativos tokenizados fossem precificados de acordo com o mercado em tempo real.
Produto utilizado
Chainlink Data Feeds (Price Oracles) — integração direta com os oráculos descentralizados da Chainlink para obter preços atualizados de stablecoins e ativos de referência, garantindo estabilidade e integridade econômica no protocolo.
Como foi utilizado
- Os data feeds dinâmicos da Chainlink foram integrados ao contrato StableToken.sol para alimentar o cálculo de colateralização e liquidação do AUSDC.
- O contrato acessa periodicamente os valores de preço por meio da interface AggregatorV3Interface, garantindo a atualização automática e segura das taxas de conversão entre stablecoin e ativos tokenizados.
- O mesmo feed é utilizado no AuctionManagerFHE.sol para validar lances e proteger o sistema contra discrepâncias de preço durante o leilão.
- A integração segue o padrão Chainlink oficial, permitindo futura extensão para feeds específicos de commodities agrícolas (ex.: soja, milho, boi gordo).
Arquivos relacionados
- /contracts/StableToken.sol → utiliza AggregatorV3Interface da Chainlink para obter preços atualizados e validar colateralização do AUSDC.
- /contracts/AuctionManagerFHE.sol → usa os feeds de preço para verificar o valor justo dos lances e prevenir manipulação de valor.
- /contracts/MockBridgeBase.sol → implementa uma ponte auxiliar para compatibilidade entre a Chainlink e a Base Network.
Integração Zama
A Zama foi utilizada no Graze para implementar a camada de privacidade criptográfica dos leilões, permitindo que os lances sejam processados de forma confidencial e verificável por meio de criptografia homomórfica (FHE).
Essa integração garante que cada participante possa visualizar apenas seus próprios lances e logs, sem expor dados sensíveis na blockchain pública.
Produto utilizado
Zama Concrete / FHE SDK — utilizado como base conceitual e experimental para integrar Fully Homomorphic Encryption ao fluxo de leilão on-chain, preservando a privacidade das ofertas.
Como foi utilizado
- A lógica de lances privados foi implementada no contrato AuctionManagerFHE.sol, que simula a criptografia e decifragem homomórfica de valores de lance.
- A estrutura off-chain prevista no Zama SDK será responsável por realizar o processamento real dos dados cifrados, antes da submissão à blockchain.
- O contrato VaultManager.sol complementa a camada de segurança, armazenando hashes criptográficos e metadados de lances de forma protegida.
- O modelo de logs privados foi validado — cada usuário pode consultar seus próprios registros sem revelar valores ou identidade pública.
Arquivos relacionados
- /contracts/AuctionManagerFHE.sol → implementa a lógica de lances privados e fluxo criptográfico inspirado no FHE.
- /contracts/VaultManager.sol → gerencia o armazenamento seguro e hashes de verificação de lances cifrados.
Challenges / Desafios
Integrar a criptografia homomórfica da Zama (FHE) aos contratos Solidity foi o maior desafio — especialmente para permitir que cada usuário veja seus próprios logs de lances privados sem expor dados na blockchain.
What you learned / O que aprendi
Aprendemos a combinar tokenização, leilões on-chain e privacidade criptográfica em um sistema funcional. Entendemos melhor como aplicar tecnologias Web3 para resolver problemas reais de liquidez no agro.
What you are proud of / Do que me orgulho
De termos criado um MVP funcional que executa leilões privados, liquidações automáticas e proteção de dados.
Future plans / Planos futuros
Aprimorar o mecanismo de leilão privado, otimizar desempenho e testar o sistema em pilotos reais com cooperativas e produtores rurais.