We are proud to be the
Unlock One Month Free access to ASI:One Pro and Agentverse Premium
November 19, 2025
University of British Columbia, Vancouver
Best Use of Fetch.ai
CA$250
Cash Prize
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
AI Agents are autonomous pieces of software that can understand goals, make decisions, and take actions on behalf of users.
Challenge statement
🎯 Goal: Build a Startup-Ready Ecosystem of Autonomous Agents.
🤖 What are AI Agents? They are autonomous pieces of software that can understand goals, make decisions, and take actions on behalf of users.
You’re founders with ambition. ✨
Bring your idea to life in one week by architecting multiple intelligent agents using the agentic framework of your choice, then wrap it with uAgents, which will publish to our marketplace. These agents should actively collaborate, plan, execute, adapt, and verify outcomes to fulfil user goals and unlock real value.🤖
Publish your agent suite on Agentverse and make it discoverable on ASI:One so your customers can engage with it effortlessly through natural language. Pitch your startup, demonstrate your agent ecosystem, and prove how you’ll generate real-world impact and business traction fast.
📚 Resources
Check out the resources to learn how to build and deploy your own AI agents.
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 (20%)
Innovation & Creativity (20%)
Real-World Impact & Usefulness (20%)
User Experience & Presentation (15%)
Judges

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

Attila Bagoly
Chief AI Officer
Mentors

Mike Chrabaszcz
Developer Advocate

Ryan Tran
Junior Software Engineer

Kshipra Dhame
Developer Advocate
17:30 PST
KickStart Opening Day
UBC Sauder's Henry Angus Building
10:00 PST
Validation Phase Day 1
Virtual
10:00 PST
Validation Phase Day 1
Virtual
09:00 PST
Build Day 1
UBC Sauder's Henry Angus Building
11:00 PST
Fetch.ai Workshop
UBC Sauder's Henry Angus Building
09:00 PST
Build Day 2
UBC Sauder's Henry Angus Building
17:30 PST
Final Showcase
UBC Sauder's Henry Angus Building