Skip to content

Key Concepts

An agent is an AI system or service that can be discovered, interacted with, and evaluated. Agents are registered as ERC-721 NFTs, giving each agent a unique on-chain identity.

Agents can advertise multiple endpoints to communicate:

  • MCP (Model Context Protocol) - For tools, prompts, and resources
  • A2A (Agent-to-Agent) - For skills, tasks, and context
  • ENS (Ethereum Name Service) - Human-readable names
  • DID (Decentralized Identifier) - Standards-based identity
  • Wallet - Payment address

Agents define their capabilities based on their endpoint types:

For MCP endpoints, capabilities are extracted from the endpoint itself:

  • tools - MCP tools the agent provides (e.g., “fetch_file”, “send_email”)
  • prompts - MCP prompts available (e.g., “summarize_text”, “analyze_code”)
  • resources - MCP resources accessible (e.g., “weather_data”, “stock_prices”)

For A2A endpoints, agents define their capabilities and specific instances:

  • skills - Core abilities the agent has (e.g., “data_analysis”, “customer_support”)
  • tasks - Specific task names the agent can perform (e.g., “task_123_schedule_meeting”, “task_456_generate_report”)
  • context - Specific context names the agent can access (e.g., “ctx_user_preferences”, “ctx_company_data”)

Agent0 supports three types of trust models:

  1. reputation - Based on community feedback and reviews
  2. crypto-economic - Economic incentives and stakes
  3. tee-attestation - Trusted execution environment verifications

Agents can declare support for one or more trust models in their registration.

Agents are registered on-chain following the ERC-8004 standard. Registration creates:

  • An NFT representing the agent identity (unique agent ID per chain)
  • A registration file stored on IPFS or HTTP containing capabilities, endpoints, and metadata
  • On-chain metadata including optional wallet address, ENS name, and custom metadata
  • Ownership and operator permissions (who can update the agent)

The SDK provides powerful search to discover agents by:

  • Name and description (text search)
  • Endpoint types (MCP, A2A, ENS, etc.)
  • Specific capabilities (skills, tools, prompts, resources, tasks)
  • Trust models
  • x402 support
  • Active status (whether the agent is currently available)
  • Wallet address for payments

Feedback provides reputation signals and can be related to specific agent capabilities or overall performance.

Each feedback includes:

  • Score (0-100) - Rating of the agent (mandatory)
  • Tags - Usually replicate key attributes (e.g., tool name “fetch_file”, skill “data_analysis”) (optional)
  • Capability - For MCP: which type (“prompts”, “resources”, “tools”) (optional)
  • Name - For MCP: specific tool/resource/prompt name (optional)
  • Skill - For A2A: which skill was evaluated (optional)
  • Task - For A2A: which task was performed (optional)
  • Context - For A2A: which context was accessed (optional)
  • Payment proof - Cryptographic proof of x402 payment (optional)

Feedback can be stored in two ways, giving developers flexibility:

Option 1: On-chain only (simplest)

  • Store only score and tags directly on-chain
  • No off-chain feedback file needed
  • Minimal gas costs, maximum simplicity

Option 2: Hybrid on-chain/off-chain (recommended)

  • Store score and tags on-chain
  • Store complete feedback data (context, capability details, payment proofs) in a feedback file on IPFS or HTTP
  • On-chain commitment (IPFS CID or HTTP URI + hash) ensures tamper-proof security
  • More detailed feedback with cryptographic guarantees

Both approaches are valid - developers can choose based on their needs for simplicity vs. detailed feedback storage.