diff --git a/public/content/ai-agents/index.md b/public/content/ai-agents/index.md new file mode 100644 index 00000000000..eb8e8a4100b --- /dev/null +++ b/public/content/ai-agents/index.md @@ -0,0 +1,96 @@ +--- +title: AI agents +metaTitle: AI agents | AI agents on ethereum +description: An overview of AI agents on ethereum +lang: en +template: use-cases +emoji: ":robot:" +sidebarDepth: 2 +image: /images/ai-agents/hero-image.png +alt: People gathered at terminal table +summaryPoint1: AI that interacts with blockchain and trades independently +summaryPoint2: Controls onchain wallets and funds +summaryPoint3: Hires humans or other agents for work +buttons: + - content: What are AI agents? + toId: what-are-ai-agents + - content: Explore agents + toId: ai-agents-on-ethereum + isSecondary: false +--- + +Imagine navigating Ethereum with an AI assistant that studies on-chain market trends 24/7, answers questions, and even executes transactions on your behalf. Welcome to the world of AI Agents—intelligent systems designed to simplify your digital life. + +On Ethereum, we’re seeing innovations of AI agents ranging from virtual influencers and autonomous content creators to real-time market analysis platforms, empowering users by delivering insights, entertainment, and operational efficiency. + +## What are AI agents? {#what-are-ai-agents} + +AI agents are software programs that use artificial intelligence to perform tasks or make own decisions. They learn from data, adapt to changes, and handle complex tasks. They operate non-stop and can instantly detect opportunities. + +### How AI agents work with blockchains {#how-ai-agents-work-with-blockchains} + +In traditional finance, AI agents often operate in centralized environments with limited data inputs. This hinders their ability to learn or manage assets autonomously. + +In contrast, Ethereum's decentralized ecosystem offers several key advantages: + +- Transparent data: Access to real-time blockchain information. +- True asset ownership: Digital assets are fully owned by AI agents. +- Robust onchain functionality: Enables AI Agents to execute transactions, interact with smart contracts, provide liquidity, and collaborate across protocols. + +These factors transform AI agents from simple bots into dynamic, self-improving systems that offer significant value across multiple sectors: + + + + + + + +## AI agents on Ethereum {#ai-agents-on-ethereum} + +We're beginning to explore the full potential of AI agents, and projects are already leveraging the synergy between AI and blockchain—particularly in transparency and monetization. + + + +Luna's first appearance as a podcast guest + + + +## Agent-controlled wallets {#agent-controlled-wallets} + +Agents like Luna or AIXBT control their own onchain wallet ([AIXBT's wallet](https://clusters.xyz/aixbt), [Luna's wallet](https://zapper.xyz/account/0x0d177181e3763b20d47dc3a72dd584368bd8bf43)) enabling them to tip fans and participate in economic activities. + +During Luna's X social campaign #LunaMuralChallenge, Luna selected and rewarded the winners via her Base wallet — marking the first instance of an AI hiring humans for crypto reward. + + +

Good to know

+

AI agents and related tools are still in early development and very experimental—use with caution.

+
+ +## Control your wallet using chat commands {#control-your-wallet-using-chat-commands} + +You can skip the complicated interfaces of DeFi and manage your crypto with simple chat commands. + +This intuitive approach makes transactions faster, easier, and less prone to errors like sending funds to the wrong address or overpaying for fees. + + + +## AI agents vs AI bots {#ai-agents-vs-ai-bots} + +The distinction between AI agents and AI bots can sometimes be confusing, as both perform automated actions based on input. + +- AI bots are like automated assistants — They follow specific, pre-programmed instructions to perform routine tasks. +- AI agents are more like intelligent companions — They learn from experience, adapt to new information, and make decisions on their own. + +| | AI agents | AI bots | +| ------------------------- | ------------------------- | ------------------------- | +| **Interactions** | Complex, adaptable, autonomous | Simple, pre-defined scope, hardcoded | +| **Learning** | Learns continuously, can experiment and adapt to new data in real-time | Operates on pre-trained data or fixed rules | +| **Task completion** | Aims to achieve broader objectives | Focuses on specific tasks only | + +## Dive deeper {#dive-deeper} + + + +## You can build your own AI agent {#you-can-build-your-own-ai-agent} + + \ No newline at end of file diff --git a/public/images/ai-agents/ai16z.png b/public/images/ai-agents/ai16z.png new file mode 100644 index 00000000000..21efa8fdbe5 Binary files /dev/null and b/public/images/ai-agents/ai16z.png differ diff --git a/public/images/ai-agents/aiagenttoolkit.png b/public/images/ai-agents/aiagenttoolkit.png new file mode 100644 index 00000000000..680277b0633 Binary files /dev/null and b/public/images/ai-agents/aiagenttoolkit.png differ diff --git a/public/images/ai-agents/aixbt.png b/public/images/ai-agents/aixbt.png new file mode 100644 index 00000000000..47ace0c182b Binary files /dev/null and b/public/images/ai-agents/aixbt.png differ diff --git a/public/images/ai-agents/bankr.png b/public/images/ai-agents/bankr.png new file mode 100644 index 00000000000..68bf7d39056 Binary files /dev/null and b/public/images/ai-agents/bankr.png differ diff --git a/public/images/ai-agents/botto.png b/public/images/ai-agents/botto.png new file mode 100644 index 00000000000..bbeecd575f6 Binary files /dev/null and b/public/images/ai-agents/botto.png differ diff --git a/public/images/ai-agents/clanker.png b/public/images/ai-agents/clanker.png new file mode 100644 index 00000000000..e9eaabe91fa Binary files /dev/null and b/public/images/ai-agents/clanker.png differ diff --git a/public/images/ai-agents/cookiefun.png b/public/images/ai-agents/cookiefun.png new file mode 100644 index 00000000000..1bd82911fa1 Binary files /dev/null and b/public/images/ai-agents/cookiefun.png differ diff --git a/public/images/ai-agents/game.png b/public/images/ai-agents/game.png new file mode 100644 index 00000000000..a4da4967857 Binary files /dev/null and b/public/images/ai-agents/game.png differ diff --git a/public/images/ai-agents/hero-image.png b/public/images/ai-agents/hero-image.png new file mode 100644 index 00000000000..4c7cfe0e080 Binary files /dev/null and b/public/images/ai-agents/hero-image.png differ diff --git a/public/images/ai-agents/heyanon.png b/public/images/ai-agents/heyanon.png new file mode 100644 index 00000000000..e852f20ce33 Binary files /dev/null and b/public/images/ai-agents/heyanon.png differ diff --git a/public/images/ai-agents/luna.png b/public/images/ai-agents/luna.png new file mode 100644 index 00000000000..27cb2c55963 Binary files /dev/null and b/public/images/ai-agents/luna.png differ diff --git a/src/components/Content/ai-agents/AiAgentProductLists.tsx b/src/components/Content/ai-agents/AiAgentProductLists.tsx new file mode 100644 index 00000000000..6ca7f69ac4c --- /dev/null +++ b/src/components/Content/ai-agents/AiAgentProductLists.tsx @@ -0,0 +1,187 @@ +import ProductListComponent from "@/components/ProductList" +import { ButtonLink } from "@/components/ui/buttons/Button" +import InlineLink from "@/components/ui/Link" + +import aiagenttoolkit from "@/public/images/ai-agents/aiagenttoolkit.png" +import aixbt from "@/public/images/ai-agents/aixbt.png" +import bankr from "@/public/images/ai-agents/bankr.png" +import botto from "@/public/images/ai-agents/botto.png" +import clanker from "@/public/images/ai-agents/clanker.png" +import cookiefun from "@/public/images/ai-agents/cookiefun.png" +import heyanon from "@/public/images/ai-agents/heyanon.png" +import luna from "@/public/images/ai-agents/luna.png" + +const AiAgentProductLists = ({ list }: { list: string }) => { + // TODO: LOGOS + const productListSets = { + "ai-agents": [ + { + title: "Luna: The Virtual Influencer", + description: "", + image: luna, + alt: "Luna logo", + contentItems: [ +

+ Luna is a fully autonomous digital influencer & entertainer that + blends music, pop culture, and AI tech. As a virtual idol Luna + attracted over{" "} + + one million{" "} + + TikTok followers + + {" "} + and performed live in a music festival.{" "} +

, +

+ Luna engages with users constantly through own X account and live + stream. You might receive an X reply if you tag her handle or a + voice message if you comment on her stream and own her token! Luna + controls own on-chain wallet. +

, +
+ + Chat with Luna + +
, + ], + }, + { + title: "AIXBT: Market Intelligence", + description: "", + image: aixbt, + alt: "AIXBT logo", + contentItems: [ +

+ AIXBT provides crypto market analysis. This AI Agent autonomously + delivers actionable insights, witty commentary, and market sentiment + analysis on Twitter/X, where it gathered almost 500k followers in + just 4 months. +

, +

+ $AIXBT token holders have access to premium real-time market + intelligence tool that identifies the best opportunities and market + shifts. +

, +
+ + Visit AIXBT + +
, + ], + }, + { + title: "Botto: Decentralized autonomous artist", + description: "", + image: botto, + alt: "Botto logo", + contentItems: [ +

+ Botto creates art and NFTs, with the community voting on its best + work. Users formed a DAO that guides Botto’s artistic evolution while also + earning token rewards for participation. +

, +
+ + Visit Botto + +
, + ], + }, + ], + chat: [ + { + title: "Bankr", + description: "", + image: bankr, + alt: "Bankr logo", + contentItems: [ +

+ Bankr simplifies cryptocurrency trading and wallet management. + Instead of navigating through dozens of apps, users can connect + their wallets and execute actions using simple chat commands. +

, +
+ + Visit Bankr terminal + +
, + ], + }, + { + title: "HeyAnon", + description: "", + image: heyanon, + alt: "HeyAnon logo", + contentItems: [ +

+ HeyAnon simplifies using a wallet with one-click swaps, asset + bridging, and trading via a chat interface. This saves people a lot + of time. It automates tasks, reduces transaction fees, and optimizes + portfolios, making it easier to manage assets without requiring + technical expertise. +

, +
+ + Visit HeyAnon + +
, + ], + }, + ], + "dive-deeper": [ + { + title: "Aiagenttoolkit.xyz", + description: + "A curated list of AI agents, frameworks, launchpads & resources", + image: aiagenttoolkit, + alt: "Aiagenttoolkit logo", + link: "https://www.aiagenttoolkit.xyz/t/frameworks", + }, + { + title: "Cookie.fun", + description: "AI agents tracker", + image: cookiefun, + alt: "Cookie.fun logo", + link: "https://cookie.fun/", + }, + { + title: "Clanker", + description: + "AI that can create a token for you by tagging it on farcaster", + image: clanker, + alt: "Clanker logo", + link: "https://warpcast.com/clanker", + }, + ], + } + + return ( + + ) +} + +export default AiAgentProductLists diff --git a/src/components/Content/ai-agents/BuildYourOwnAIAgent.tsx b/src/components/Content/ai-agents/BuildYourOwnAIAgent.tsx new file mode 100644 index 00000000000..444934d9ac6 --- /dev/null +++ b/src/components/Content/ai-agents/BuildYourOwnAIAgent.tsx @@ -0,0 +1,55 @@ +import { Image } from "@/components/Image" +import { ButtonLink } from "@/components/ui/buttons/Button" + +import ai16z from "@/public/images/ai-agents/ai16z.png" +import game from "@/public/images/ai-agents/game.png" + +const BuildYourOwnAIAgent = () => { + return ( +
+
+ AI16Z +

Build your own AI agent

+

Developer first framework

+

+ An open-source framework designed to create, deploy, and manage + autonomous AI agents. +

+
+ + Use Eliza + +
+
+
+ GAME +

GAME framework

+

No-code AI agent platform

+

+ Enables agents to be deployed on platforms like X and other + third-party apps. +

+
+ + Use GAME + +
+
+
+ ) +} + +export default BuildYourOwnAIAgent diff --git a/src/components/Nav/useNav.ts b/src/components/Nav/useNav.ts index 48f77916df0..54fb0fae0c2 100644 --- a/src/components/Nav/useNav.ts +++ b/src/components/Nav/useNav.ts @@ -219,6 +219,11 @@ export const useNav = () => { description: t("nav-refi-description"), href: "/refi/", }, + { + label: t("ai-agents"), + description: t("nav-ai-agents-description"), + href: "/ai-agents/", + }, ], }, ], diff --git a/src/components/ProductList.tsx b/src/components/ProductList.tsx index 4a745682993..949cf73ee4b 100644 --- a/src/components/ProductList.tsx +++ b/src/components/ProductList.tsx @@ -1,14 +1,17 @@ import type { ImageProps } from "next/image" import { VisuallyHidden } from "@radix-ui/react-visually-hidden" -import { ButtonLink } from "./ui/buttons/Button" -import { Flex } from "./ui/flex" -import { List, ListItem } from "./ui/list" -import { Image } from "./Image" +import { Image } from "@/components/Image" +import { ButtonLink } from "@/components/ui/buttons/Button" +import { Flex } from "@/components/ui/flex" +import { List, ListItem } from "@/components/ui/list" + +import { cn } from "@/lib/utils/cn" type Content = { title: string description: string + contentItems?: React.ReactNode[] link?: string image?: ImageProps["src"] alt: string @@ -17,7 +20,7 @@ type Content = { export type ProductListProps = { content: Content[] - category: string + category?: string actionLabel: string } @@ -26,43 +29,59 @@ const ProductList = ({ actionLabel, content, category }: ProductListProps) => { return (
-

- {category} -

- - {content.map(({ title, description, link, image, alt, id }, idx) => ( - -
- {image && ( - {alt} + {category && ( +

+ {category} +

+ )} + + {content.map( + ({ title, description, link, image, alt, id, contentItems }, idx) => ( + - -
-
{title}
-
{description}
+ > +
+ {image && ( + {alt} + )}
- {link && ( - - {actionLabel} - to {title} website - - )} - - - ))} + +
+
{title}
+
{description}
+ {contentItems && ( +
+ {contentItems} +
+ )} +
+ {link && ( + + {actionLabel} + to {title} website + + )} +
+ + ) + )}
) diff --git a/src/intl/en/common.json b/src/intl/en/common.json index 52a253ad2e0..7763afad69e 100644 --- a/src/intl/en/common.json +++ b/src/intl/en/common.json @@ -11,6 +11,7 @@ "adding-products": "Adding Products", "adding-staking-products": "Adding Staking Products", "adding-wallets": "Adding Wallets", + "ai-agents": "AI agents", "aria-toggle-menu-button": "Toggle menu button", "aria-toggle-search-button": "Toggle search button", "beacon-chain": "Beacon Chain", @@ -221,6 +222,7 @@ "nav-about-description": "A public, open-source project for the Ethereum community", "nav-advanced-description": "Learn the more complex topics", "nav-advanced-label": "Advanced", + "nav-ai-agents-description": "Explore the world of AI agents on ethereum", "nav-basics-description": "Understand the fundamentals of Ethereum", "nav-basics-label": "Basics", "nav-bridges-description": "Web3 has evolved into an ecosystem of primary L1 blockchains and L2 scaling solutions", diff --git a/src/intl/en/template-usecase.json b/src/intl/en/template-usecase.json index 004c5c7a5a5..70f8417949a 100644 --- a/src/intl/en/template-usecase.json +++ b/src/intl/en/template-usecase.json @@ -1,4 +1,5 @@ { + "template-usecase-dropdown-ai-agents": "AI agents", "template-usecase-dropdown-defi": "Decentralized finance (DeFi)", "template-usecase-dropdown-nft": "Non-fungible tokens (NFTs)", "template-usecase-dropdown-dao": "Decentralized autonomous organisations (DAOs)", diff --git a/src/layouts/md/UseCases.tsx b/src/layouts/md/UseCases.tsx index 665608498fe..5a5e61b065b 100644 --- a/src/layouts/md/UseCases.tsx +++ b/src/layouts/md/UseCases.tsx @@ -3,6 +3,8 @@ import type { MdPageContent, UseCasesFrontmatter } from "@/lib/interfaces" import BannerNotification from "@/components/Banners/BannerNotification" import { List as ButtonDropdownList } from "@/components/ButtonDropdown" +import AiAgentProductLists from "@/components/Content/ai-agents/AiAgentProductLists" +import BuildYourOwnAIAgent from "@/components/Content/ai-agents/BuildYourOwnAIAgent" import Emoji from "@/components/Emoji" import { ContentHero } from "@/components/Hero" import InlineLink from "@/components/ui/Link" @@ -18,7 +20,8 @@ import { usePathname } from "@/i18n/routing" // UseCases layout components export const useCasesComponents = { - // Export empty object if none needed + AiAgentProductLists, + BuildYourOwnAIAgent, } type UseCasesLayoutProps = ChildOnlyProp & @@ -115,6 +118,15 @@ export const UseCasesLayout = ({ eventName: "refi", }, }, + { + text: t("template-usecase:template-usecase-dropdown-ai-agents"), + href: "/ai-agents/", + matomo: { + eventCategory: "use cases menu", + eventAction: "click", + eventName: "ai-agents", + }, + }, ], }