The Minerva is an Agentic DAO Voting System that enables users to create personalized voting bots based on their Twitter profile.
Minerva is an autonomous DAO voting system. The primary objective of this project is to enable AI agents to participate in DAO governance voting on behalf of their creators. These agents make decisions based on the character profile of the creator. Users can either accept the agent's vote or challenge it if the decision doesn't align with their expectations. They retain the flexibility to request the agent to re-evaluate decisions at any time.
Project Workflow:
Users create an account on https://minerva.vote
Users can either:
When creating a private agent, the character profile can be generated through two methods: a. Analysis of a Twitter profile (which doesn't necessarily need to be the user's own) b. User-selected characteristic tags
The system leverages ChatGPT 3.5 via OpenAI API to analyze Twitter posts and generate character profiles. This is implemented in the createTwitterCharacterProfile() method: https://github.com/MinervaGov/minerva_main/blob/5cf9583d95b9004a80c589161c003741237de0aa/server/src/utils/openai.js#L8
The agent is created using either the Twitter-based profile or selected tags: https://github.com/MinervaGov/minerva_main/blob/5cf9583d95b9004a80c589161c003741237de0aa/server/src/controllers/agentController.js#L185
Once created, the agent is ready for voting operations.
The server continuously monitors snapshot.org for new proposals. When detected, proposals are indexed and enhanced with AI-generated summaries before being queued for decision-making.
The voting process involves multiple components:
The Gaia node makes the final decision
The CDP agent facilitates this by:
Relevant implementations:
Snapshot integration: https://github.com/MinervaGov/minerva_main/blob/5cf9583d95b9004a80c589161c003741237de0aa/server/src/utils/snapshot.js#L172 https://github.com/MinervaGov/minerva_main/blob/5cf9583d95b9004a80c589161c003741237de0aa/server/src/utils/snapshot.js#L204
Vote parsing: https://github.com/MinervaGov/minerva_main/blob/5cf9583d95b9004a80c589161c003741237de0aa/server/src/utils/VoteParser.js#L150 https://github.com/MinervaGov/minerva_main/blob/5cf9583d95b9004a80c589161c003741237de0aa/server/src/utils/VoteParser.js#L207
Privy wallet voting: https://github.com/MinervaGov/minerva_main/blob/5cf9583d95b9004a80c589161c003741237de0aa/server/src/utils/scheduler.js#L111
Voting outcomes are: Displayed on the website Distributed as notifications to subscribers via Telegram and Discord https://github.com/MinervaGov/minerva_main/blob/5cf9583d95b9004a80c589161c003741237de0aa/server/src/utils/VoteParser.js#L220
Agent owners retain full control and can:
Core Technologies
Features