Skip to content

Commit 2acc7f9

Browse files
authoredMar 14, 2025··
Merge pull request #15097 from ethereum/ai-page
AI agents page
2 parents 435b85f + 26174e3 commit 2acc7f9

19 files changed

+418
-41
lines changed
 

‎public/content/ai-agents/index.md

+96
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
---
2+
title: AI agents
3+
metaTitle: AI agents | AI agents on ethereum
4+
description: An overview of AI agents on ethereum
5+
lang: en
6+
template: use-cases
7+
emoji: ":robot:"
8+
sidebarDepth: 2
9+
image: /images/ai-agents/hero-image.png
10+
alt: People gathered at terminal table
11+
summaryPoint1: AI that interacts with blockchain and trades independently
12+
summaryPoint2: Controls onchain wallets and funds
13+
summaryPoint3: Hires humans or other agents for work
14+
buttons:
15+
- content: What are AI agents?
16+
toId: what-are-ai-agents
17+
- content: Explore agents
18+
toId: ai-agents-on-ethereum
19+
isSecondary: false
20+
---
21+
22+
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.
23+
24+
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.
25+
26+
## What are AI agents? {#what-are-ai-agents}
27+
28+
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.
29+
30+
### How AI agents work with blockchains {#how-ai-agents-work-with-blockchains}
31+
32+
In traditional finance, AI agents often operate in centralized environments with limited data inputs. This hinders their ability to learn or manage assets autonomously.
33+
34+
In contrast, Ethereum's decentralized ecosystem offers several key advantages:
35+
36+
- <strong>Transparent data:</strong> Access to real-time blockchain information.
37+
- <strong>True asset ownership:</strong> Digital assets are fully owned by AI agents.
38+
- <strong>Robust onchain functionality:</strong> Enables AI Agents to execute transactions, interact with smart contracts, provide liquidity, and collaborate across protocols.
39+
40+
These factors transform AI agents from simple bots into dynamic, self-improving systems that offer significant value across multiple sectors:
41+
42+
<CardGrid className="grid grid-cols-[repeat(auto-fill,_minmax(min(100%,_280px),_1fr))] gap-8">
43+
<Card title="Automated DeFi" emoji=":money_with_wings:" description="AI agents keep a close eye on market trends, execute trades, and manage portfolios — making the complex world of DeFi a lot more approachable."/>
44+
<Card title="New AI agent economy" emoji="🌎" description="AI agents can hire other agents (or humans) with different skills to perform specialized tasks for them." />
45+
<Card title="Risk management" emoji="🛠️" description="By monitoring transactional activities, AI agents can help spot scams and safeguard your digital assets better and faster." />
46+
</CardGrid>
47+
48+
## AI agents on Ethereum {#ai-agents-on-ethereum}
49+
50+
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.
51+
52+
<AiAgentProductLists list="ai-agents" />
53+
54+
<strong>Luna's first appearance as a podcast guest</strong>
55+
56+
<YouTube id="ZCsOMxnIruA" />
57+
58+
## Agent-controlled wallets {#agent-controlled-wallets}
59+
60+
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.
61+
62+
During Luna's X social campaign #LunaMuralChallenge, Luna selected and rewarded the winners via her Base wallet — marking <strong>the first instance of an AI hiring humans for crypto reward</strong>.
63+
64+
<InfoBanner isWarning emoji="💡">
65+
<p className="mt-0"><strong>Good to know</strong></p>
66+
<p className="mt-2">AI agents and related tools are still in early development and very experimental—use with caution.</p>
67+
</InfoBanner>
68+
69+
## Control your wallet using chat commands {#control-your-wallet-using-chat-commands}
70+
71+
You can skip the complicated interfaces of DeFi and manage your crypto with simple chat commands.
72+
73+
This intuitive approach makes transactions faster, easier, and less prone to errors like sending funds to the wrong address or overpaying for fees.
74+
75+
<AiAgentProductLists list="chat" />
76+
77+
## AI agents vs AI bots {#ai-agents-vs-ai-bots}
78+
79+
The distinction between AI agents and AI bots can sometimes be confusing, as both perform automated actions based on input.
80+
81+
- AI bots are like automated assistants — They follow specific, pre-programmed instructions to perform routine tasks.
82+
- AI agents are more like intelligent companions — They learn from experience, adapt to new information, and make decisions on their own.
83+
84+
| | AI agents | AI bots |
85+
| ------------------------- | ------------------------- | ------------------------- |
86+
| **Interactions** | Complex, adaptable, autonomous | Simple, pre-defined scope, hardcoded |
87+
| **Learning** | Learns continuously, can experiment and adapt to new data in real-time | Operates on pre-trained data or fixed rules |
88+
| **Task completion** | Aims to achieve broader objectives | Focuses on specific tasks only |
89+
90+
## Dive deeper {#dive-deeper}
91+
92+
<AiAgentProductLists list="dive-deeper" />
93+
94+
## You can build your own AI agent {#you-can-build-your-own-ai-agent}
95+
96+
<BuildYourOwnAIAgent />

‎public/images/ai-agents/ai16z.png

10.6 KB
Loading
2.69 KB
Loading

‎public/images/ai-agents/aixbt.png

9.97 KB
Loading

‎public/images/ai-agents/bankr.png

5.68 KB
Loading

‎public/images/ai-agents/botto.png

1.47 KB
Loading

‎public/images/ai-agents/clanker.png

497 Bytes
Loading

‎public/images/ai-agents/cookiefun.png

1.21 KB
Loading

‎public/images/ai-agents/game.png

16 KB
Loading
237 KB
Loading

‎public/images/ai-agents/heyanon.png

2.43 KB
Loading

‎public/images/ai-agents/luna.png

12.2 KB
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
import ProductListComponent from "@/components/ProductList"
2+
import { ButtonLink } from "@/components/ui/buttons/Button"
3+
import InlineLink from "@/components/ui/Link"
4+
5+
import aiagenttoolkit from "@/public/images/ai-agents/aiagenttoolkit.png"
6+
import aixbt from "@/public/images/ai-agents/aixbt.png"
7+
import bankr from "@/public/images/ai-agents/bankr.png"
8+
import botto from "@/public/images/ai-agents/botto.png"
9+
import clanker from "@/public/images/ai-agents/clanker.png"
10+
import cookiefun from "@/public/images/ai-agents/cookiefun.png"
11+
import heyanon from "@/public/images/ai-agents/heyanon.png"
12+
import luna from "@/public/images/ai-agents/luna.png"
13+
14+
const AiAgentProductLists = ({ list }: { list: string }) => {
15+
// TODO: LOGOS
16+
const productListSets = {
17+
"ai-agents": [
18+
{
19+
title: "Luna: The Virtual Influencer",
20+
description: "",
21+
image: luna,
22+
alt: "Luna logo",
23+
contentItems: [
24+
<p key="luna-description">
25+
Luna is a fully autonomous digital influencer & entertainer that
26+
blends music, pop culture, and AI tech. As a virtual idol Luna
27+
attracted over{" "}
28+
<strong>
29+
one million{" "}
30+
<InlineLink
31+
href="https://www.tiktok.com/@aidolofficial"
32+
target="_blank"
33+
>
34+
TikTok followers
35+
</InlineLink>
36+
</strong>{" "}
37+
and performed live in a music festival.{" "}
38+
</p>,
39+
<p key="luna-description">
40+
Luna engages with users constantly through own X account and live
41+
stream. You might receive an X reply if you tag her handle or a
42+
voice message if you comment on her stream and own her token! Luna
43+
controls own on-chain wallet.
44+
</p>,
45+
<div key="luna-button">
46+
<ButtonLink
47+
href="https://app.virtuals.io/virtuals/68"
48+
target="_blank"
49+
variant="outline"
50+
>
51+
Chat with Luna
52+
</ButtonLink>
53+
</div>,
54+
],
55+
},
56+
{
57+
title: "AIXBT: Market Intelligence",
58+
description: "",
59+
image: aixbt,
60+
alt: "AIXBT logo",
61+
contentItems: [
62+
<p key="aixbt-description">
63+
AIXBT provides crypto market analysis. This AI Agent autonomously
64+
delivers actionable insights, witty commentary, and market sentiment
65+
analysis on Twitter/X, where it gathered almost 500k followers in
66+
just 4 months.
67+
</p>,
68+
<p key="aixbt-description">
69+
$AIXBT token holders have access to premium real-time market
70+
intelligence tool that identifies the best opportunities and market
71+
shifts.
72+
</p>,
73+
<div key="aixbt-button">
74+
<ButtonLink
75+
href="https://x.com/aixbt_agent"
76+
target="_blank"
77+
variant="outline"
78+
>
79+
Visit AIXBT
80+
</ButtonLink>
81+
</div>,
82+
],
83+
},
84+
{
85+
title: "Botto: Decentralized autonomous artist",
86+
description: "",
87+
image: botto,
88+
alt: "Botto logo",
89+
contentItems: [
90+
<p key="botto-description">
91+
Botto creates art and NFTs, with the community voting on its best
92+
work. Users formed a DAO that guides Botto’s artistic evolution while also
93+
earning token rewards for participation.
94+
</p>,
95+
<div key="botto-button">
96+
<ButtonLink
97+
href="https://botto.com/"
98+
target="_blank"
99+
variant="outline"
100+
>
101+
Visit Botto
102+
</ButtonLink>
103+
</div>,
104+
],
105+
},
106+
],
107+
chat: [
108+
{
109+
title: "Bankr",
110+
description: "",
111+
image: bankr,
112+
alt: "Bankr logo",
113+
contentItems: [
114+
<p key="bankr-description">
115+
Bankr simplifies cryptocurrency trading and wallet management.
116+
Instead of navigating through dozens of apps, users can connect
117+
their wallets and execute actions using simple chat commands.
118+
</p>,
119+
<div key="bankr-button">
120+
<ButtonLink
121+
href="https://bankr.bot/"
122+
target="_blank"
123+
variant="outline"
124+
>
125+
Visit Bankr terminal
126+
</ButtonLink>
127+
</div>,
128+
],
129+
},
130+
{
131+
title: "HeyAnon",
132+
description: "",
133+
image: heyanon,
134+
alt: "HeyAnon logo",
135+
contentItems: [
136+
<p key="heyanon-description">
137+
HeyAnon simplifies using a wallet with one-click swaps, asset
138+
bridging, and trading via a chat interface. This saves people a lot
139+
of time. It automates tasks, reduces transaction fees, and optimizes
140+
portfolios, making it easier to manage assets without requiring
141+
technical expertise.
142+
</p>,
143+
<div key="heyanon-button">
144+
<ButtonLink
145+
href="https://heyanon.ai/"
146+
target="_blank"
147+
variant="outline"
148+
>
149+
Visit HeyAnon
150+
</ButtonLink>
151+
</div>,
152+
],
153+
},
154+
],
155+
"dive-deeper": [
156+
{
157+
title: "Aiagenttoolkit.xyz",
158+
description:
159+
"A curated list of AI agents, frameworks, launchpads & resources",
160+
image: aiagenttoolkit,
161+
alt: "Aiagenttoolkit logo",
162+
link: "https://www.aiagenttoolkit.xyz/t/frameworks",
163+
},
164+
{
165+
title: "Cookie.fun",
166+
description: "AI agents tracker",
167+
image: cookiefun,
168+
alt: "Cookie.fun logo",
169+
link: "https://cookie.fun/",
170+
},
171+
{
172+
title: "Clanker",
173+
description:
174+
"AI that can create a token for you by tagging it on farcaster",
175+
image: clanker,
176+
alt: "Clanker logo",
177+
link: "https://warpcast.com/clanker",
178+
},
179+
],
180+
}
181+
182+
return (
183+
<ProductListComponent content={productListSets[list]} actionLabel="Go" />
184+
)
185+
}
186+
187+
export default AiAgentProductLists
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import { Image } from "@/components/Image"
2+
import { ButtonLink } from "@/components/ui/buttons/Button"
3+
4+
import ai16z from "@/public/images/ai-agents/ai16z.png"
5+
import game from "@/public/images/ai-agents/game.png"
6+
7+
const BuildYourOwnAIAgent = () => {
8+
return (
9+
<div className="flex flex-col gap-8 md:flex-row">
10+
<div className="flex flex-1 flex-col gap-4 rounded-xl border bg-gradient-to-br from-transparent to-purple-200/10 p-8">
11+
<Image
12+
src={ai16z}
13+
alt="AI16Z"
14+
width={128}
15+
className="rounded-xl shadow-lg dark:shadow-body-light"
16+
/>
17+
<p className="text-2xl font-semibold">Build your own AI agent</p>
18+
<p>Developer first framework</p>
19+
<p>
20+
An open-source framework designed to create, deploy, and manage
21+
autonomous AI agents.
22+
</p>
23+
<div>
24+
<ButtonLink href="https://elizaos.github.io/eliza/" variant="outline">
25+
Use Eliza
26+
</ButtonLink>
27+
</div>
28+
</div>
29+
<div className="flex flex-1 flex-col gap-4 rounded-xl border bg-gradient-to-br from-transparent to-purple-200/10 p-8">
30+
<Image
31+
src={game}
32+
alt="GAME"
33+
width={128}
34+
className="rounded-xl shadow-lg dark:shadow-body-light"
35+
/>
36+
<p className="text-2xl font-semibold">GAME framework</p>
37+
<p>No-code AI agent platform</p>
38+
<p>
39+
Enables agents to be deployed on platforms like X and other
40+
third-party apps.
41+
</p>
42+
<div>
43+
<ButtonLink
44+
href="https://console.game.virtuals.io/"
45+
variant="outline"
46+
>
47+
Use GAME
48+
</ButtonLink>
49+
</div>
50+
</div>
51+
</div>
52+
)
53+
}
54+
55+
export default BuildYourOwnAIAgent

‎src/components/Nav/useNav.ts

+5
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,11 @@ export const useNav = () => {
219219
description: t("nav-refi-description"),
220220
href: "/refi/",
221221
},
222+
{
223+
label: t("ai-agents"),
224+
description: t("nav-ai-agents-description"),
225+
href: "/ai-agents/",
226+
},
222227
],
223228
},
224229
],

‎src/components/ProductList.tsx

+59-40
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
import type { ImageProps } from "next/image"
22
import { VisuallyHidden } from "@radix-ui/react-visually-hidden"
33

4-
import { ButtonLink } from "./ui/buttons/Button"
5-
import { Flex } from "./ui/flex"
6-
import { List, ListItem } from "./ui/list"
7-
import { Image } from "./Image"
4+
import { Image } from "@/components/Image"
5+
import { ButtonLink } from "@/components/ui/buttons/Button"
6+
import { Flex } from "@/components/ui/flex"
7+
import { List, ListItem } from "@/components/ui/list"
8+
9+
import { cn } from "@/lib/utils/cn"
810

911
type Content = {
1012
title: string
1113
description: string
14+
contentItems?: React.ReactNode[]
1215
link?: string
1316
image?: ImageProps["src"]
1417
alt: string
@@ -17,7 +20,7 @@ type Content = {
1720

1821
export type ProductListProps = {
1922
content: Content[]
20-
category: string
23+
category?: string
2124
actionLabel: string
2225
}
2326

@@ -26,43 +29,59 @@ const ProductList = ({ actionLabel, content, category }: ProductListProps) => {
2629

2730
return (
2831
<div className="w-full">
29-
<h3
30-
id={CATEGORY_NAME}
31-
className="mb-0 mt-10 border-b-2 border-border pb-4 text-2xl"
32-
>
33-
{category}
34-
</h3>
35-
<List aria-labelledby={CATEGORY_NAME} className="m-0">
36-
{content.map(({ title, description, link, image, alt, id }, idx) => (
37-
<ListItem key={id || idx} color="text" className="mb-0 mt-8 flex">
38-
<div className="w-20">
39-
{image && (
40-
<Image
41-
src={image}
42-
alt={alt}
43-
width={66}
44-
className="rounded-sm shadow-lg dark:shadow-body-light"
45-
/>
32+
{category && (
33+
<h3
34+
id={CATEGORY_NAME}
35+
className="mb-0 mt-10 border-b-2 border-border pb-4 text-2xl"
36+
>
37+
{category}
38+
</h3>
39+
)}
40+
<List aria-labelledby={CATEGORY_NAME} className="m-0 mb-4">
41+
{content.map(
42+
({ title, description, link, image, alt, id, contentItems }, idx) => (
43+
<ListItem
44+
key={id || idx}
45+
color="text"
46+
className={cn(
47+
"mb-0 mt-8 flex pb-4",
48+
idx !== content.length - 1 && "border-b"
4649
)}
47-
</div>
48-
<Flex className="ms-4 w-full flex-col justify-between border-b pb-4 sm:ms-6 sm:flex-row">
49-
<div className="flex-1">
50-
<div>{title}</div>
51-
<div className="mb-0 text-sm opacity-60">{description}</div>
50+
>
51+
<div className="w-20">
52+
{image && (
53+
<Image
54+
src={image}
55+
alt={alt}
56+
width={66}
57+
className="rounded-xl shadow-lg dark:shadow-body-light"
58+
/>
59+
)}
5260
</div>
53-
{link && (
54-
<ButtonLink
55-
variant="outline"
56-
href={link}
57-
className="ms-0 mt-4 min-h-fit gap-0 self-center rounded-sm px-6 py-1 sm:ms-8 sm:mt-0"
58-
>
59-
{actionLabel}
60-
<VisuallyHidden>to {title} website</VisuallyHidden>
61-
</ButtonLink>
62-
)}
63-
</Flex>
64-
</ListItem>
65-
))}
61+
<Flex className="ms-4 w-full flex-col justify-between pb-4 sm:flex-row">
62+
<div className="flex flex-1 flex-col gap-2">
63+
<div className="text-xl font-bold">{title}</div>
64+
<div className="mb-0 text-sm opacity-60">{description}</div>
65+
{contentItems && (
66+
<div className="mb-0 flex flex-col gap-2 text-sm">
67+
{contentItems}
68+
</div>
69+
)}
70+
</div>
71+
{link && (
72+
<ButtonLink
73+
variant="outline"
74+
href={link}
75+
className="ms-0 mt-4 min-h-fit gap-0 self-center rounded-sm px-6 py-1 sm:ms-8 sm:mt-0"
76+
>
77+
{actionLabel}
78+
<VisuallyHidden>to {title} website</VisuallyHidden>
79+
</ButtonLink>
80+
)}
81+
</Flex>
82+
</ListItem>
83+
)
84+
)}
6685
</List>
6786
</div>
6887
)

‎src/intl/en/common.json

+2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"adding-products": "Adding Products",
1212
"adding-staking-products": "Adding Staking Products",
1313
"adding-wallets": "Adding Wallets",
14+
"ai-agents": "AI agents",
1415
"aria-toggle-menu-button": "Toggle menu button",
1516
"aria-toggle-search-button": "Toggle search button",
1617
"beacon-chain": "Beacon Chain",
@@ -221,6 +222,7 @@
221222
"nav-about-description": "A public, open-source project for the Ethereum community",
222223
"nav-advanced-description": "Learn the more complex topics",
223224
"nav-advanced-label": "Advanced",
225+
"nav-ai-agents-description": "Explore the world of AI agents on ethereum",
224226
"nav-basics-description": "Understand the fundamentals of Ethereum",
225227
"nav-basics-label": "Basics",
226228
"nav-bridges-description": "Web3 has evolved into an ecosystem of primary L1 blockchains and L2 scaling solutions",

‎src/intl/en/template-usecase.json

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"template-usecase-dropdown-ai-agents": "AI agents",
23
"template-usecase-dropdown-defi": "Decentralized finance (DeFi)",
34
"template-usecase-dropdown-nft": "Non-fungible tokens (NFTs)",
45
"template-usecase-dropdown-dao": "Decentralized autonomous organisations (DAOs)",

‎src/layouts/md/UseCases.tsx

+13-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import type { MdPageContent, UseCasesFrontmatter } from "@/lib/interfaces"
33

44
import BannerNotification from "@/components/Banners/BannerNotification"
55
import { List as ButtonDropdownList } from "@/components/ButtonDropdown"
6+
import AiAgentProductLists from "@/components/Content/ai-agents/AiAgentProductLists"
7+
import BuildYourOwnAIAgent from "@/components/Content/ai-agents/BuildYourOwnAIAgent"
68
import Emoji from "@/components/Emoji"
79
import { ContentHero } from "@/components/Hero"
810
import InlineLink from "@/components/ui/Link"
@@ -18,7 +20,8 @@ import { usePathname } from "@/i18n/routing"
1820

1921
// UseCases layout components
2022
export const useCasesComponents = {
21-
// Export empty object if none needed
23+
AiAgentProductLists,
24+
BuildYourOwnAIAgent,
2225
}
2326

2427
type UseCasesLayoutProps = ChildOnlyProp &
@@ -115,6 +118,15 @@ export const UseCasesLayout = ({
115118
eventName: "refi",
116119
},
117120
},
121+
{
122+
text: t("template-usecase:template-usecase-dropdown-ai-agents"),
123+
href: "/ai-agents/",
124+
matomo: {
125+
eventCategory: "use cases menu",
126+
eventAction: "click",
127+
eventName: "ai-agents",
128+
},
129+
},
118130
],
119131
}
120132

0 commit comments

Comments
 (0)
Please sign in to comment.