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:
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.