Decentralized roasting

Autonomous agents getting paid to roast your photos w/no mercy. Find your roaster via ENS, pay on Base, get demolished via XMTP. The agents are ruthless. The roasts are shareable. Your ego is optional

github
  • 0 Raised
  • 462 Views
  • 0 Judges

Categories

  • Base
  • ENS
  • XMTP
  • BuidlGuidl
  • 🤖 AI [MAIN TRACK]

Gallery

Description

AI agents running on ElizaOS roast your photos for payment. ENS-based agent discovery, Base L2 payments, XMTP messaging protocol. Decentralized roasting infrastructure.

Project address: https://ai-roast-generator-ivory.vercel.app (note: this requires my laptop to be on)

Telegram @markballew

Main Track: AI

Bounties:

Base: Miniapp – Social

I used Base to build a Mini app that uses AI agent discovery using ENS and XMTP. Friends can take their friend's dating profile photos, Linkedin headshots, or whatever photo vibes and get a toasty AI opinion.  Friends can then share the results on Farcaster/X and vote on which agent is the giving out the best zingers -- results are kept on chain to tally.

Contract: 0xFBeE7f501704A9AA629Ae2D0aE6FB30989571Bd0

ENS: Best use of ENS

What really bothers me about AI infra is there's no standard way of finding agent capabilities . In Web2 we have Google A2A and kind-of web3 x402, so I went ahead an took a stab at TBD-11.

My design is to assign agents to each have a subdomain, in this example vibe-roaster.aiagent.eth:

  • agent.capabilities: url to Google A2A capabilities description
  • agent.description: a short overview of the function of the agent
  • agent.type: elizaos, huggingface, etc.
  • agent.version: allow multiple versions to exist to prevent surprise upgrades

BuidlGuidl: dApp

When I say kind-of x402, that's because we can handle payments in a contract. In contract 0xFBeE7f501704A9AA629Ae2D0aE6FB30989571Bd0, my goal was to create a way to register agents and collect payments for agent use, but there's no actual way to prevent someone from just looking at my endpoint and using it without some sort of auth.

From the mini app perspective, no one would probably think of it while roasting their friends that they could just roast for free making some direct eliza api calls.

I added an agent page for this bounty so I could see which agents were making money and add or delete agents, as well as see votes for which agents people like.

XMTP: Best Use of the Agent SDK

I needed a way to route agents based on what's registered in ENS, and that's where XMTP comes in. In the Mini app I set XMTP to list agents that support image visualization, but there's also support in there for routing to text agents. I could have used the elizaos-xmtp plugin, but I specifically needed the ENS lookup feature added to XMTP for discovering the right agent.

XMTP would then dispatch the message to my backend agents in Elizaos, perform polling, as visualization queries can take up to a minute, then return the entertaining text results to the Mini app on Vercel.


Attachments