hero-vector
hero-vector
hero-vector

We are proud to be the

Anchor sponsor

of

CalHacks 12.0

Join Fetch.ai Innovation Lab at CalHacks, at the iconic Palace of Fine Arts in San Francisco!

🎉 Exclusive Offer

Unlock One Month Free access to ASI:One Pro and Agentverse Premium

Use code:CalHack2025CalHack2025AV

October 24, 2025

Palace of Fine Arts, San Francisco

Prizes

Best Use of Fetch.ai

$2500

Cash Prize + Internship Interview Opportunity

To qualify, teams must register their agents on Agentverse, enable the chat protocol, and integrate Anthropic's Claude (or any LLM) as the reasoning engine powering their agents. Judges will look for well-designed innovative agents that solve real problems, take meaningful actions, deliver exceptional user experience, and demonstrate strong implementation of the Fetch.ai ecosystem.

Best Deployment of Agentverse

$1500

Cash Prize + Internship Interview Opportunity

Given to the team that publishes the highest number of useful, discoverable, and well-documented agents on Agentverse. Judges will value scale, clarity, and how easy it is for others to find and use these agents.

Best Use of ASI:One

$1000

Cash Prize + Internship Interview Opportunity

Awarded to the team that shows the most effective application of ASI:One as the core reasoning and decision-making engine within their agents. The focus is on demonstrating how ASI:One can power smarter, more capable interactions.

Introduction

Fetch.ai is your gateway to the agentic economy. It provides a full ecosystem for building, deploying, and discovering AI Agents.

Pillars of the Fetch.ai Ecosystem

  • Agentverse - The open marketplace for AI Agents. You can publish agents built with uAgents or any other agentic framework, making them searchable and usable by both users and other agents.
  • ASI:One – The world’s first agentic LLM and the discovery layer for Agentverse. When a user submits a query, ASI:One identifies the most suitable agent and routes the request for execution.
What are AI Agents?

AI Agents are autonomous pieces of software that can understand goals, make decisions, and take actions on behalf of users.

Challenge statement

🎯 Goal:

Build and launch AI Agents on Agentverse that understand user goals & intent and take action to achieve them.

🤖 What are AI Agents?

They are autonomous pieces of software that can understand goals, make decisions, and take actions on behalf of users.

🚀 Your Mission

Build agents that do, not just chat:

1. Build with Fetch.ai Stack

a. Agent Development: Use popular agentic frameworks like LangGraph, CrewAI, OpenAI AgentKit, Google Agent Development Kit, etc., or build your agent from scratch in Python

b. Deployment & Discovery:

  • Register agents on Agentverse using the uAgents library
  • Implement the Chat Protocol for direct user interaction
  • Make your agents discoverable through ASI:One
  • Build custom applications that use agents in the backend
  • Create seamless user experiences that hide complexity

c. LLM Integration: Power your agents with Anthropic's Claude (or Gemini's multimodal capabilities, OpenAI, Groq inference, etc.)

2. Design Intelligent Agents
  • Take open-ended natural language goals and break them into actionable plans
  • Use Claude's extended context (200K tokens), advanced reasoning, and tool use capabilities, Google Gemini's multimodal capabilities, Groq's fast inference, etc.
  • Adapt in real-time based on feedback and outcomes
3. Enable Real-World Actions
  • Level up with MCPs: Integrate Model Context Protocol to let your agents read/write files, call APIs, execute code, and access tools
  • Go beyond conversation—make agents that actually complete tasks using any external APIs and Data

🌍 Inspiration

💼 Productivity & Automation – Agents that execute workflows like email management, CRM updates, document processing, social media scheduling, or project coordination.

💰 Finance & Business – Tools for expense tracking, invoice processing, investment analysis, portfolio optimization, or financial planning that help users save, invest, or manage money.

🏥 Healthcare & Wellness – Appointment coordination, medication management, symptom tracking, health data analysis, or mental wellness support agents.

📚 Education & Research – Personalized tutors, research assistants, code reviewers, study planners, or language coaches that help people learn and understand complex topics.

🎨 Creative & Content – Content generation pipelines, design assistants, video editing automation, or marketing campaign managers that create and distribute creative work.

🖼️ Multimodal Applications – Agents that process images, audio, video, or documents: receipt scanners, visual analyzers, transcription services, or document intelligence tools.

🏗️ DevOps & Infrastructure – Log analyzers, code review bots, deployment managers, or documentation generators for system monitoring and automation.

🎯 Wildcard – Legal document processors, supply chain optimizers, customer support automation, travel planners, real estate analyzers—anything that uses the Fetch.ai stack and delivers real value.

What to Submit
  1. Code

    • Share the link to your public GitHub repository to allow judges to access and test your project.
    • Ensure your
      code-icon
      code-icon
      README.md
      file includes key details about your agents, such as their name and address, for easy reference.
    • Mention any extra resources required to run your project and provide links to those resources.
    • All agents must be categorized under Innovation Lab.
      • To achieve this, include the following badge in your agent’s

        code-icon
        code-icon
        README.md
        file:

        code-icon
        code-icon
        ![tag:innovationlab](https://img.shields.io/badge/innovationlab-3D8BD3)
        
        code-icon
        code-icon
        ![tag:hackathon](https://img.shields.io/badge/hackathon-5F43F1)
        
  2. Video

    • Include a demo video (3–5 minutes) demonstrating the agents you have built.

Quick start example

This file can be run on any platform supporting Python, with the necessary install permissions. This example shows two agents communicating with each other using the uAgent python library.
Try it out on Agentverse ↗

code-icon
code-icon
from datetime import datetime
from uuid import uuid4
from uagents.setup import fund_agent_if_low
from uagents_core.contrib.protocols.chat import (
   ChatAcknowledgement,
   ChatMessage,
   EndSessionContent,
   StartSessionContent,
   TextContent,
   chat_protocol_spec,
)


agent = Agent()


# Initialize the chat protocol with the standard chat spec
chat_proto = Protocol(spec=chat_protocol_spec)


# Utility function to wrap plain text into a ChatMessage
def create_text_chat(text: str, end_session: bool = False) -> ChatMessage:
    content = [TextContent(type="text", text=text)]
        return ChatMessage(
        timestamp=datetime.utcnow(),
        msg_id=uuid4(),
        content=content,
        )


# Handle incoming chat messages
@chat_proto.on_message(ChatMessage)
async def handle_message(ctx: Context, sender: str, msg: ChatMessage):
   ctx.logger.info(f"Received message from {sender}")
  
   # Always send back an acknowledgement when a message is received
   await ctx.send(sender, ChatAcknowledgement(timestamp=datetime.utcnow(), acknowledged_msg_id=msg.msg_id))


   # Process each content item inside the chat message
   for item in msg.content:
       # Marks the start of a chat session
       if isinstance(item, StartSessionContent):
           ctx.logger.info(f"Session started with {sender}")
      
       # Handles plain text messages (from another agent or ASI:One)
       elif isinstance(item, TextContent):
           ctx.logger.info(f"Text message from {sender}: {item.text}")
           #Add your logic
           # Example: respond with a message describing the result of a completed task
           response_message = create_text_chat("Hello from Agent")
           await ctx.send(sender, response_message)


       # Marks the end of a chat session
       elif isinstance(item, EndSessionContent):
           ctx.logger.info(f"Session ended with {sender}")
       # Catches anything unexpected
       else:
           ctx.logger.info(f"Received unexpected content type from {sender}")


# Handle acknowledgements for messages this agent has sent out
@chat_proto.on_message(ChatAcknowledgement)
async def handle_acknowledgement(ctx: Context, sender: str, msg: ChatAcknowledgement):
   ctx.logger.info(f"Received acknowledgement from {sender} for message {msg.acknowledged_msg_id}")


# Include the chat protocol and publish the manifest to Agentverse
agent.include(chat_proto, publish_manifest=True)


if __name__ == "__main__": 
    agent.run()

Agentverse MCP Server

Learn how to deploy your first agent on Agentverse with Claude Desktop in Under 5 Minutes

Agentverse MCP (Full Server)

Client connection URL: https://mcp.agentverse.ai/sse

Agentverse MCP-Lite

Client connection URL: https://mcp-lite.agentverse.ai/mcp

Video introduction
Video 1
Introduction to agents
Video 2
On Interval
Video 3
On Event
Video 4
Agent Messages
architecture

Tool Stack

architecture

Judging Criteria

  1. Functionality & Technical Implementation (25%)

    • Does the agent system work as intended?
    • Are the agents properly communicating and reasoning in real time?
  2. Use of Fetch.ai Technology (20%)

    • Are agents registered on Agentverse?
    • Is the Chat Protocol implemented for ASI:One discoverability?
  3. Innovation & Creativity (20%)

    • How original or creative is the solution?
    • Is it solving a problem in a new or unconventional way?
  4. Real-World Impact & Usefulness (20%)

    • Does the solution solve a meaningful problem?
    • How useful would this be to an end user?
  5. User Experience & Presentation (15%)

    • Is the solution presented clearly with a well-structured demo?
    • Is there a smooth and intuitive user experience?

Judges

Profile picture of Sana Wajid

Sana Wajid

Chief Development Officer - Fetch.ai
Senior Vice President - Innovation Lab

Profile picture of Attila Bagoly

Attila Bagoly

Chief AI Officer

Mentors

Profile picture of Abhi Gangani

Abhi Gangani

Developer Advocate

Profile picture of Kshipra Dhame

Kshipra Dhame

Developer Advocate

Profile picture of Mike Chrabaszcz

Mike Chrabaszcz

Developer Advocate

Profile picture of Chayan Shah

Chayan Shah

Junior Software Engineer

Profile picture of Ryan Tran

Ryan Tran

Junior Software Engineer

Profile picture of Martin Ceballos

Martin Ceballos

Junior Software Engineer

Profile picture of Thang Nguyen

Thang Nguyen

Junior Software Engineer

Profile picture of Trung Tran

Trung Tran

Junior Software Engineer

Sounds exciting, right?

Schedule

Wednesday, October 22

19:00 PDT

Pre-Hackathon Workshop

Wheeler 204

Friday, October 24

16:00 PDT

Opening Ceremony Begins

Palace of Fine Arts

20:00 PDT

Fetch.ai Workshop

Palace of Fine Arts

20:00 PDT

Hacking Begins

Palace of Fine Arts

Saturday, October 25

09:00 PDT

Hacking Continues (Rest of the day)

Palace of Fine Arts

13:00 PDT

Networking Session

Breakout 4

16:00 PDT

Coffee Chats

Breakout 1

Sunday, October 26

10:30 PDT

Hacking Ends; Judging Begins

Palace of Fine Arts

13:00 PDT

Closing Ceremony

Palace of Fine Arts

17:00 PDT

CalHacks Ends

Palace of Fine Arts