hero-vector
hero-vector
hero-vector

2025 TedAI Hackathon

The Fetch.ai Innovation Lab team is bringing the heat to TEDAI San Francisco on October 18th at SHACK15.

πŸŽ‰ Exclusive Offer

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

Use code:TedAI2025TedAI2025AV

October 18, 2025

Shack 15 (1 Ferry Building Suite 201 San Francisco, CA 94111)

Prizes

Best Use of Fetch.ai

Helicopter Tour of San Francisco

Experience

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 the Next Breakthrough AI Agent: Best Gemini-Powered Agent on Agentverse.

πŸ€– The Challenge Create an innovative AI agent powered by Google Gemini and deploy it to the Fetch.ai Agentverse marketplace where it becomes discoverable on ASI One LLM. Supercharge your agent by integrating MCPs (Model Context Protocol) to enable real-world actions - read/write files, execute code, call APIs, and more. Turn your agent from a responder into a doer.

πŸš€ Why this matters?

  • Gemini Superpowers: Leverage Gemini's multimodal capabilities in your agent.
  • Action-Oriented: With MCP integrations, your agent can take real actions beyond just generating responses.
  • Instant Distribution: Your agent becomes discoverable through ASI One
  • Agentic Workflows: Your agent works alongside other specialized agents in complex, multi-step workflows

🌍 What Makes a Winning Agentic Workflow on Agentverse:

  1. Solves a Real Problem

    • Business Automation (invoice processing, data entry, reporting)
    • Content Creation (blog writing, social media, marketing copy)
    • Data Analysis (market research, competitor analysis, insights)
    • Customer Service (support automation, FAQ handling, ticket routing)
    • Specialized Tasks (legal document review, code review, image analysis)
  2. Leverages Gemini's Strengths

    • Multimodal: Process text, images, video, audio together
    • Long Context: Handle large documents or complex workflows
    • Code Execution: Generate and run code for tasks
    • Reasoning: Complex decision-making and analysis
  3. Takes Action with MCPs (Bonus Points!)

    • File Operations: Read documents, generate reports, manage data
    • API Integration: Connect to external services and platforms
    • Code Execution: Run scripts, perform calculations, automate tasks
    • Tool Access: Databases, search engines, productivity apps
    • Workflow Automation: Trigger actions, coordinate multi-step processes
  4. Discoverable on ASI:One LLM

    • Clear Readme on Agentverse: What does your agent do? Who is it for?
    • Specialized Purpose: Do one thing exceptionally well
    • Chat Protocol Enabled: Allows interactive communication from ASI:One
    • Reliable Performance: Fast, accurate, consistent results

πŸ“š Resources Check out the resources to learn how to build and deploy your own AI agents.

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. Agent Quality & Utility (35%)

    • Does it solve a real problem effectively?
    • Would people actually pay to use this?
    • How reliable and accurate is it?
  2. Gemini Integration (25%)

    • Creative use of Gemini's unique capabilities
    • Technical implementation quality
    • Performance optimization
  3. Marketplace & Workflow Readiness (25%)

    • Clear Readme on Agentverse
    • Easy to discover on ASI:One LLM
    • Chat protocol enabled for interactivity
    • Fits well in agentic workflows
    • Professional presentation
  4. Innovation & Actions (15%)

    • Novel approach or use case
    • MCP integrations for real-world actions (bonus!)
    • Differentiation from existing agents
    • Future potential

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 Rajashekar Vennavelli

Rajashekar Vennavelli

AI Engineer

Profile picture of Chayan Shah

Chayan Shah

Junior Software Engineer

Profile picture of Davel Radindra

Davel Radindra

Ambassador

Profile picture of Mike Chrabaszcz

Mike Chrabaszcz

Developer Advocate

Schedule

Saturday, October 18

09:00 PDT

Hacker Check-In

SHACK15

11:00 PDT

Welcome Kick-Off + Technical Workshops

SHACK15

13:00 PDT

Lunch

SHACK15

19:00 PDT

Dinner

SHACK15

22:00 PDT

Doors close (hackers stay overnight, but no re-entry is allowed)

SHACK15

Sunday, October 19

09:00 PDT

Doors Reopen & Breakfast

SHACK15

12:00 PDT

Hacking Stops & Submission Due

SHACK15

12:15 PDT

First Round Judging

SHACK15

13:00 PDT

Lunch

SHACK15

14:00 PDT

Finalists Announced & Demos

SHACK15

15:15 PDT

Winners Announced & Closing Keynote

SHACK15

17:00 PDT

Doors close

SHACK15