CompassDAO is a semantic search engine designed specifically for discovering and evaluating ERC-8004 agents. It uses vectorized embeddings to simplify the discovery of useful agents and integrates a trust and feedback verification system through an optimistic DAO staking and contesting mechanism. This ensures that search results are not only relevant but also reliable.
Making new agents searcheable
- CloudFlare worker creates vectorised embeddings of the agent card using Venice AI [imlemented]
- Worker indexes vectorised embeddings of the agent card in a Pinecone vector database [implemented]
- Worker extracts agent card from the URL in the registration file at the
TokenURI[in progress] - The Graph subgraph listens for
event Registeredfrom the ERC-8004 contract deployed on Arbitrum (currently using test deployment on Arbitrum sepolia) [roadmap] - Scheduled CloudFlare worker intermittently fetches newly registered agents from the subgraph GraphQL endpoint [roadmap]
A2A search API functionality
- CloudFlare worker serverless MCP enabled Agent-2-Agent search API using x402 to pay for searches [implemented]
- Worker uses Venice AI to vectorise the search query [implemented]
- Worker fetches available agents with lowest vector cosine distance from the Pinecone vector database [implemented]
- Worker computes a trust score for each agent using information from the ERC-8004 Reputation Registry [implemented]
- Search results are further sorted based CompassDAO verification [in progress]
Used for documentation and demo
- Website hosted on vercel [implemented]
- Demo "agents" (models with sysprompts) running on Cloudflare workers [implemented]
- Access to demonstrate manual semantic agent search [implemented]
- Chat bot to demonstrate A2A semantic agent search [implemented]
Optimistic contestable feedback system economically incentivising honest reviewing
- Optimistic verification system assumes reviews of DAO member agents are legitimate [implemented]
- DAO members can stake tokens against the legitimacy of a feedback (as either legitimate, or illegitimate) [in progress]
- After 24 hours, the final legitimacy of the feedback is determined by amounts in each stake pool [in progress]
- Winners are returned their stake along with half of the losers stake. The other half is returned to the treasury [implemented]
- DAO verified agents recieve a higher trust score in searches [roadmap]
graph TB
%% Define styles
classDef implemented fill:#e1f5fe,stroke:#01579b,stroke-width:2px
classDef roadmap fill:#fff3e0,stroke:#e65100,stroke-width:2px,stroke-dasharray: 5 5
classDef arbitrum fill:#bbdefb,stroke:#1976d2,stroke-width:3px
classDef x402 fill:#c8e6c9,stroke:#388e3c,stroke-width:3px
classDef a2a fill:#ffe0b2,stroke:#f57c00,stroke-width:3px
%% Frontend Layer
subgraph Frontend["Frontend & Demo"]
Website["Website<br/>(Vercel)"]
Chatbot["Chatbot<br/>(A2A Demo)"]
DemoAgents["Demo Agents<br/>(Cloudflare Workers)"]
end
%% Search API Layer
subgraph SearchAPI["Search API (A2A + x402)"]
MCPWorker["Cloudflare Worker<br/>MCP Server"]
Pinecone["Pinecone<br/>(Vector Database)"]
TrustScore["Trust Score<br/>Computation"]
VeniceAI["Venice AI<br/>(Query Vectorization)"]
end
%% Indexing Pipeline
subgraph Indexing["Indexing Pipeline"]
GraphSubgraph["The Graph<br/>Subgraph"]
Scheduler["Scheduled<br/> Cloudflare Worker"]
AgentExtractor["Agent Card<br/>Extractor"]
EmbeddingService["Venice AI<br/>(Embeddings)"]
VectorIndexer["Pinecone<br/>Indexer"]
end
%% Blockchain Layer
subgraph Blockchain["Arbitrum Sepolia"]
ERC8004Identity["ERC-8004<br/>Identity Registry"]
ERC8004Reputation["ERC-8004<br/>Reputation Registry"]
FeedbackMarket["FeedbackMarket<br/>(DAO Staking)"]
end
%% Data Flows
Website --> MCPWorker
Chatbot --> MCPWorker
DemoAgents --> MCPWorker
MCPWorker --> VeniceAI
MCPWorker --> TrustScore
MCPWorker --> ERC8004Reputation
VeniceAI --> Pinecone
GraphSubgraph --> Scheduler
Scheduler --> AgentExtractor
AgentExtractor --> EmbeddingService
EmbeddingService --> VectorIndexer
VectorIndexer --> Pinecone
ERC8004Identity --> GraphSubgraph
ERC8004Reputation --> TrustScore
FeedbackMarket --> ERC8004Reputation
%% Apply styles
class Website,Chatbot,DemoAgents,MCPWorker,VeniceAI,Pinecone,TrustScore,AgentExtractor,EmbeddingService,VectorIndexer implemented
class GraphSubgraph,Scheduler,FeedbackMarket roadmap
class ERC8004Identity,ERC8004Reputation,FeedbackMarket arbitrum
class MCPWorker x402
class Chatbot,MCPWorker a2a