We are proud to be the
Unlock One Month Free access to ASI:One Pro and Agentverse Premium
June 20, 2026
UC Berkeley Student Union: Martin Luther King Jr. Building Berkeley, United States
1st Place
$1500
Cash Prize + Internship Interview Opportunity
2nd Place
$1000
Cash Prize + Internship Interview Opportunity
3rd Place
$500
Cash Prize + Internship Interview Opportunity
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
Challenge statement
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.
Build a single agent or multi-agent system that:
To be eligible for a prize:
Projects may receive additional consideration for:
Submit the following through Devpost:
Important links
Examples to get you started:
Code
README.mdTo achieve this, include the following badge in your agent’s
README.md

Video
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 ↗
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




Tool Stack
Judging Criteria
Functionality & Technical Implementation (25%)
Use of Fetch.ai Technology (25%)
Innovation & Creativity (20%)
Real-World Impact & Usefulness (20%)
User Experience & Presentation (10%)
Judges

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

Attila Bagoly
Chief AI Officer, Fetch.ai
Mentors

Dev Chauhan
Developer Advocate
Gautam Manak
Developer Advocate

Tejus Gupta
Developer Advocate

Rajashekar Vennavelli
AI Engineer

Lamek Tsegay
Junior Software Engineer

Anish Kancherla
Junior Software Engineer

Aditya Lagad
Junior Software Engineer

Geetanshi Goel
Junior Software Engineer

Shyamji Pandey
Junior Software Engineer
Sounds exciting, right?
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
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