hero-vector
hero-vector
hero-vector

We are proud to be the

Co-host sponsor

of

UC Berkeley AI Hackathon 2026

Join Fetch.ai Innovation Lab at the UC Berkeley AI Hackathon to build, experiment, and create with AI. Bring your ideas, your laptop, and let’s build something exciting

🎉 Exclusive Offer

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

Use code:BERKELEYAIBERKELEYAIAV

June 20, 2026

UC Berkeley Student Union: Martin Luther King Jr. Building Berkeley, United States

Prizes

1st Place

$1500

Cash Prize + Internship Interview Opportunity

2nd Place

$1000

Cash Prize + Internship Interview Opportunity

3rd Place

$500

Cash Prize + Internship Interview Opportunity

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.

Challenge statement

ASI:One Agent Challenge - From Intent to Action

The Challenge:

Most AI applications stop at conversation. Your challenge is to build an AI agent that can be discovered through ASI:One, understand a user’s intent, and take meaningful action to solve a real-world problem. Your agent might coordinate services, automate a workflow, analyze live information, make recommendations, complete transactions, or collaborate with other specialized agents. The problem and approach are up to you, but the result should be more than a chatbot or a thin wrapper around an API.

What to Build

Build a single agent or multi-agent system that:

  • Solves a clearly defined, real-world problem.
  • Performs multi-step planning, decision-making, or orchestration.
  • Uses tools, APIs, data sources, or other agents to produce an executable outcome.
  • Is registered on Agentverse and discoverable and usable through ASI:One.
  • Allows the core use case to be demonstrated directly within an ASI:One conversation. You may use any framework, including the Google ADK, LangGraph, CrewAI, OpenAI Agents SDK, Claude Agent SDK, or plain Python.

Mandatory Requirements

To be eligible for a prize:

  • Register at least one agent on Agentverse.
  • Implement the Agent Chat Protocol.
  • Make the agent discoverable and directly usable through ASI:One.
  • Demonstrate meaningful tool execution or agent-to-agent orchestration.
  • Complete the primary user workflow without requiring a custom frontend.
  • Submit a public GitHub repository with instructions for running or testing the project.

Bonus Points

Projects may receive additional consideration for:

  • Effective multi-agent collaboration.
  • Implementation of the Payment Protocol and a credible monetization model.
  • Strong reliability, error handling, and recovery from failed tool calls.
  • Creative use of real-time data or external services.
  • An agent that could realistically continue operating after the hackathon.

Deliverables

Submit the following through Devpost:

  • Public ASI:One shared chat session URL showing the complete workflow. Example
  • Agentverse Agent Profile URL(s) for each submitted agent. Example
  • Public GitHub repository URL.
  • Short demo video.
  • Brief description of the problem, target user, and outcome produced by the agent.
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 complete the intended workflow reliably?
    • Does it demonstrate meaningful tool use, planning, or multi-agent coordination?
  2. Use of Fetch.ai Technology (25%)

    • Is the agent properly registered on Agentverse and usable through ASI:One via the Chat Protocol?
    • Is the Fetch.ai integration central to the solution rather than added only for eligibility?
  3. Innovation & Creativity (20%)

    • Is the solution original or technically distinctive?
    • Does it use agents in a meaningful way rather than functioning as a basic chatbot or API wrapper?
  4. Real-World Impact & Usefulness (20%)

    • Does the project solve a clear and meaningful problem?
    • Would the outcome be genuinely useful to its intended users?
  5. User Experience & Presentation (10%)

    • Is the ASI:One experience intuitive and easy to follow?
    • Is the end-to-end demo clear, functional, and well presented?

Judges

Profile picture of Sana Wajid

Sana Wajid

Chief Development Officer - Fetch.ai
Chief Operations Officer - Innovation Lab

Profile picture of Attila Bagoly

Attila Bagoly

Chief AI Officer, Fetch.ai

Mentors

Profile picture of Dev Chauhan

Dev Chauhan

Developer Advocate

Profile picture of Gautam Manak

Gautam Manak

Developer Advocate

Profile picture of Tejus Gupta

Tejus Gupta

Developer Advocate

Profile picture of Rajashekar Vennavelli

Rajashekar Vennavelli

AI Engineer

Profile picture of Lamek Tsegay

Lamek Tsegay

Junior Software Engineer

Profile picture of Anish Kancherla

Anish Kancherla

Junior Software Engineer

Profile picture of Aditya Lagad

Aditya Lagad

Junior Software Engineer

Profile picture of Geetanshi Goel

Geetanshi Goel

Junior Software Engineer

Profile picture of Shyamji Pandey

Shyamji Pandey

Junior Software Engineer

Sounds exciting, right?

Schedule

Saturday, June 20

08:30 PDT

First-Time Hacker Check-In

2nd Floor, Upper Sproul Plaza Entrance

09:00 PDT

General Check-In

2nd Floor, Upper Sproul Plaza Entrance

10:00 PDT

Opening Ceremony

3rd Floor, Pauley Ballroom

11:00 PDT

Hacking Starts

Online

13:00 PDT

Lunch

1st Floor, Lower Sproul Plaza Tent

15:00 PDT

Fetch AI Workshop

5th Floor, Tilden Room

18:30 PDT

Dinner

1st Floor, Lower Sproul Plaza Tent

Sunday, June 21

08:00 PDT

Breakfast

1st Floor, Lower Sproul Plaza Tent

11:00 PDT

Initial & Final Project Deadline

Devpost

11:30 PDT

Lunch

1st Floor, Lower Sproul Plaza Tent

13:00 PDT

Judging Begins

Online

16:00 PDT

Finalist Pitches & Closing Ceremony

Wheeler Hall Auditorium