Conversation
…into ai-content-updates
✅ Deploy Preview for ethereumorg ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
UI polish pass on the two landing pages.
/ai-agents/banner: add breathing room around the info Alert./ai-agents/: convert the four capability bullets (Programmable wallets, Verifiable inference, Machine payments, Agent identity) into aCardGrid, matching the pattern used on other use-case pages./decentralized-ai/: add breathing room around the three inline Alerts (Are you a builder?,Early blockchain media authenticity proofs,Before using AI wallet tools).
All suggestions are one-click committable. Rationale per comment.
konopkja
left a comment
There was a problem hiding this comment.
Scannability pass: proposing bold on key phrases across both landing pages.
Scope.
/ai-agents/ethereum/: 22 paragraph-level suggestions covering the lead paragraph of each section and the load-bearing paragraphs elsewhere./decentralized-ai/: 19 suggestions following the same pattern.
Principles applied.
- Bold 1 to 3 phrases per paragraph. Beyond that, bold loses signal.
- Target phrases that carry the claim. A scanner should reconstruct the section by reading only the bold.
- Skip paragraphs whose lead is already bold (
session keys,x402 protocol,Zero-knowledge machine learning,Censorship-resistance, etc.) and pure-link lists. - No wording, punctuation, or link changes. One exception flagged inline: the typo
auditabileon/decentralized-ai/line 31.
All suggestions are one-click committable.
|
|
||
| ## Verifiable AI computation {#verifiable-ai-computation} | ||
|
|
||
| Knowing that a piece of media is authentic is only part of the challenge. As AI tools are increasingly able to execute multi-step tasks on behalf of users, users also need a way to prove that an AI model actually behaved as claimed. |
There was a problem hiding this comment.
| Knowing that a piece of media is authentic is only part of the challenge. As AI tools are increasingly able to execute multi-step tasks on behalf of users, users also need a way to prove that an AI model actually behaved as claimed. | |
| Knowing that a piece of media is authentic is only part of the challenge. As AI tools are increasingly able to execute multi-step tasks on behalf of users, users also need a way to **prove that an AI model actually behaved as claimed**. |
|
|
||
| **Zero-knowledge machine learning (zkML)** lets developers prove that a specific AI model produced a specific output from a specific input, without revealing the model's internal data or the user's private information. This proof is recorded onchain so anyone can verify it. | ||
|
|
||
| One important limitation: zkML confirms that the computation ran correctly, not that the result is factually accurate. An AI model can still produce a wrong answer. zkML only guarantees that it followed its own logic consistently. |
There was a problem hiding this comment.
| One important limitation: zkML confirms that the computation ran correctly, not that the result is factually accurate. An AI model can still produce a wrong answer. zkML only guarantees that it followed its own logic consistently. | |
| **One important limitation:** zkML confirms that the **computation ran correctly, not that the result is factually accurate**. An AI model can still produce a wrong answer. zkML only guarantees that it followed its own logic consistently. |
| - **[Modulus Labs](https://world.org/blog/announcements/tools-for-humanity-acquires-modulus-labs)** generated a complete [zero-knowledge proof of a 1.5 billion parameter language model](https://medium.com/@CountableMagic/chapter-14-the-worlds-1st-on-chain-llm-7e389189f85e) verified onchain on Ethereum, demonstrating that large-model verification is technically achievable. | ||
| - In production, **[Worldcoin (World ID)](https://world.org/)** uses zero-knowledge machine learning to allow users to verify their biometric data locally on their device. This proves their unique human identity without exposing the underlying biometric data to the network or protocol. | ||
|
|
||
| Beyond cryptographic verification, the Ethereum ecosystem also supports decentralized platforms focused on private AI inference. For example, **[Venice AI](https://venice.ai/)** is a generative AI assistant that uses an Ethereum Layer 2 network for access control and settlement. By routing encrypted prompts to a distributed network of independent GPU providers, it offers a censorship-resistant alternative to centralized AI platforms and utilizes a local-first approach to keep user data private. |
There was a problem hiding this comment.
| Beyond cryptographic verification, the Ethereum ecosystem also supports decentralized platforms focused on private AI inference. For example, **[Venice AI](https://venice.ai/)** is a generative AI assistant that uses an Ethereum Layer 2 network for access control and settlement. By routing encrypted prompts to a distributed network of independent GPU providers, it offers a censorship-resistant alternative to centralized AI platforms and utilizes a local-first approach to keep user data private. | |
| Beyond cryptographic verification, the Ethereum ecosystem also supports **decentralized platforms focused on private AI inference**. For example, **[Venice AI](https://venice.ai/)** is a generative AI assistant that uses an Ethereum Layer 2 network for access control and settlement. By **routing encrypted prompts to a distributed network of independent GPU providers**, it offers a **censorship-resistant alternative to centralized AI platforms** and utilizes a **local-first approach** to keep user data private. |
|
|
||
| ## Standardizing the agent economy {#standardizing-the-agent-economy} | ||
|
|
||
| Because Ethereum provides a secure, programmable foundation, developers can build shared standards that allow AI systems to interact safely. These standards are the building blocks of a new machine-to-machine economy. For example, standards for agent identity ([ERC-8004](https://eips.ethereum.org/EIPS/eip-8004)) let applications verify an AI assistant's reputation and permissions, ensuring it only takes actions you have explicitly authorized. Paired with machine-to-machine payment protocols ([x402](https://www.x402.org/)), agents can automatically pay each other for data or services. |
There was a problem hiding this comment.
| Because Ethereum provides a secure, programmable foundation, developers can build shared standards that allow AI systems to interact safely. These standards are the building blocks of a new machine-to-machine economy. For example, standards for agent identity ([ERC-8004](https://eips.ethereum.org/EIPS/eip-8004)) let applications verify an AI assistant's reputation and permissions, ensuring it only takes actions you have explicitly authorized. Paired with machine-to-machine payment protocols ([x402](https://www.x402.org/)), agents can automatically pay each other for data or services. | |
| Because Ethereum provides a secure, programmable foundation, developers can build **shared standards that allow AI systems to interact safely**. These standards are the **building blocks of a new machine-to-machine economy**. For example, standards for agent identity ([ERC-8004](https://eips.ethereum.org/EIPS/eip-8004)) let applications **verify an AI assistant's reputation and permissions**, ensuring it only takes actions you have explicitly authorized. Paired with machine-to-machine payment protocols ([x402](https://www.x402.org/)), agents can **automatically pay each other for data or services**. |
|
|
||
| Because Ethereum provides a secure, programmable foundation, developers can build shared standards that allow AI systems to interact safely. These standards are the building blocks of a new machine-to-machine economy. For example, standards for agent identity ([ERC-8004](https://eips.ethereum.org/EIPS/eip-8004)) let applications verify an AI assistant's reputation and permissions, ensuring it only takes actions you have explicitly authorized. Paired with machine-to-machine payment protocols ([x402](https://www.x402.org/)), agents can automatically pay each other for data or services. | ||
|
|
||
| For everyday users, applications built on these Ethereum standards unlock new models like seamless micropayments; for example, paying a fraction of a cent to read a single article on a news site instead of needing a monthly subscription. |
There was a problem hiding this comment.
| For everyday users, applications built on these Ethereum standards unlock new models like seamless micropayments; for example, paying a fraction of a cent to read a single article on a news site instead of needing a monthly subscription. | |
| For everyday users, applications built on these Ethereum standards unlock new models like **seamless micropayments**; for example, paying a **fraction of a cent to read a single article** on a news site instead of needing a monthly subscription. |
Co-authored-by: Jakub <100724231+konopkja@users.noreply.github.com>
Co-authored-by: Jakub <100724231+konopkja@users.noreply.github.com>
b12b63c to
927a051
Compare
konopkja
left a comment
There was a problem hiding this comment.
Code snippets on the new builder-hub pages render as plain styled <pre> blocks instead of going through the site's Codeblock component that powers /developers/docs/*. Confirmed by inspecting the rendered HTML on the deploy preview.
What a reader gets today vs. on /developers/docs/*
/developers/docs/* (Docs layout) |
This PR's new pages (Static layout) | |
|---|---|---|
| Syntax highlighting | yes (Prism tokens) | no |
| Line numbers | yes | no |
| Copy button | yes | no |
| Language label | yes | no |
| Markup | Codeblock component (Prism + chrome + scroll) |
<pre class="bg-background-highlight ... whitespace-pre-wrap"> |
Evidence, same commit (5b37726):
- Docs:
<pre class="m-0 w-fit min-w-full overflow-visible py-6 ps-4 pt-[2.75rem]">with<span class="token comment">tokens and a Copy button. - Getting started:
<pre class="bg-background-highlight max-w-full overflow-x-scroll rounded border p-4 whitespace-pre-wrap">, no tokens, no controls.
Root cause
New pages do not set template: in frontmatter, so getLayoutFromSlug (src/lib/utils/layout.ts) returns "static". Only Docs.tsx and Tutorial.tsx register the pre -> Codeblock override in their MDX components map (src/layouts/Docs.tsx:76-87, src/layouts/Tutorial.tsx:67-78). staticComponents in src/layouts/Static.tsx does not.
Scope in this PR (5 files, 46 fences)
public/content/ai-agents/frameworks/index.md— 10 blocks (bash,typescript,rust,toml)public/content/ai-agents/getting-started/index.md— 8 blocks (bash,typescript)public/content/ai-agents/wallets/index.md— 5 blockspublic/content/ai-agents/identity/index.md— 3 blockspublic/content/ai-agents/verification/index.md— 1 block
Suggested fix
Mirror the Docs/Tutorial pattern in src/layouts/Static.tsx:
// near the other imports
import Codeblock from "@/components/Codeblock"
// above staticComponents
const Pre = (props: React.HTMLAttributes<HTMLDivElement>) => {
const match = props.className?.match(/(language-\S+)/)
const codeLanguage = match ? match[0] : "plain-text"
return <Codeblock codeLanguage={codeLanguage} {...props} />
}
export const staticComponents = {
// ...existing entries
pre: Pre,
}Four lines, identical to the existing Docs and Tutorial overrides. No Markdown changes needed in any of the five content files.
Alternative I considered and why I would avoid it
Setting template: docs on each page pulls in the Docs-layout SideNav / DocsNav chrome, which does not fit a builder-hub landing page. A dedicated builder-hub layout is another option but feels like overkill for this PR.
Blast radius to double-check
Adding pre: Pre to staticComponents applies to every static content page. Worth grepping public/content/** for other static pages with fenced code to confirm nothing regresses visually. I did not do this exhaustively.
Confidence
High on the root cause (HTML inspection). Medium on the fix location if you want Codeblock scoped strictly to /ai-agents/*, in which case a new builder-hub layout would be cleaner.
|
|
||
| Create a `.env` file at the root of your project and populate it before running any of the examples below: | ||
|
|
||
| ```bash |
There was a problem hiding this comment.
Example of the issue: this bash block, and every code fence on this page, renders as a plain styled <pre> on the deploy preview, not through the site's Codeblock component (no Prism highlighting, no copy button, no line numbers, no language badge). Same thing on frameworks/ (line 59), wallets/ (line 116), identity/ (line 90), and verification/ (line 50). Root cause and proposed 4-line fix in src/layouts/Static.tsx are in the main review comment.
konopkja
left a comment
There was a problem hiding this comment.
Round 4. Scoped to content-level fixes you can apply inside this PR. Strategic IA/SEO observations (hub split, taxonomy rename, FAQPage policy, nav-duplication) are filed as a follow-up issue and linked at the end so this PR is not blocked on them.
Content duplication: pick a single source of truth for ERC-4337 / EIP-7702 / session keys
The three concepts are explained three times across the hub, with slight variation in each:
wallets.mdlines 32-89 — the deepest and most authoritative treatment. Full comparison table, ERC-7715 reference, owner-agent key separation pattern, session key policy dimensions.ethereum.mdlines 59-74 ("Programmable guardrails") — restates ERC-4337, EIP-7702, session keys, and the policy bullets.getting-started.mdlines 58-73 — restates ERC-4337 vs EIP-7702 as a table with different columns (Revocability, Best for).
Readers who land on any of the three see the same material phrased differently. Drift is inevitable at the next edit. Propose: wallets.md stays as written, ethereum.md "Programmable guardrails" trims to one paragraph that names the standards and links to /ai-agents/wallets/, getting-started.md step 1 drops its table and links out.
Confidence: high. Same pattern applies to the verification duplication between ethereum.md lines 29-57 and verification.md lines 20-103 — less severe but worth a pass.
FAQ body vs. frontmatter drift (FAQPage schema / visible content mismatch)
The faqItems frontmatter feeds the FAQPage JSON-LD. The visible ExpandableCard body re-types each Q&A by hand. These already drift. Example on wallets.md, "What is ERC-4337 and how do agents use it?":
- Frontmatter answer ends at: "...beyond the policy it is scoped to."
- Body ExpandableCard ends at: "...beyond the policy it is scoped to. EntryPoint v0.7 (
0x0000...) remains widely deployed; newer versions (v0.8, v0.9) are also live, verify the version your SDK targets against the [official repository]."
Two problems:
- Maintenance: every Q needs two edits, forever.
- SEO: Google's FAQPage guidance requires JSON-LD answers to match visible on-page content. The extra EntryPoint paragraph in the body makes this page non-compliant on that one Q today.
Fix: single-source it. Either render the ExpandableCards from faqItems at build time (cleanest), or have a lint/test that asserts equality. Same drift risk applies to all 7 pages; I only spot-checked wallets.
Confidence: high.
/getting-started/ has two adjacent tail sections pointing to the same places
- Lines 325-339,
## What to do next: 4 prompts linking toframeworks,use-cases,verification,l2s. - Lines 346-364,
## Continue exploring the AI agents builder hub: 9 links under Foundation / Core infrastructure / Ecosystem, including the same 4.
Fix: drop "What to do next". The "Continue exploring" block (shared on 5 pages) already serves this role. If you want a tutorial-shaped handoff line, fold one sentence into the closing paragraph of Step 4.
Confidence: high.
Typos and copy nits
frameworks.md:264— Further reading list starts with a literal double-hyphen artifact:- - [Aiagenttoolkit.xyz].... Remove the leading-.ethereum.md:96— literal—HTML entity in prose:"bank accounts—barriers that autonomous code cannot cross."Replace with a period, comma, or parenthetical. ethereum.org style is to avoid em dashes in content.ethereum.md:63— em-dash character (U+2014) in the same file:"standards—primarily [ERC-4337]... (live on Ethereum Mainnet since the Pectra upgrade, May 2025)—allow developers...". Restructure to sentences or parentheticals. Worth grepping the PR for other occurrences.wallets.mdfrontmattertitle:is "AI Agent wallets". All other siblings use lowercasea: "AI agent frameworks", "AI agent use cases", "Getting started with AI agents". Preview<title>tags confirm:<title>AI Agent wallets | ethereum.org</title>vs<title>AI agent frameworks | ethereum.org</title>. Change wallets frontmatter to lowercase.- Breadcrumb renders
"Ai agents"(verified in JSON-LD on/ai-agents/getting-started/:"name":"Ai agents"). The label is slug-derived and unaware of the acronym. Override via frontmatter or add an acronym exception to the breadcrumb formatter. Low priority but visible in Google's breadcrumb rich results.
Confidence on all five: high.
Strategic items filed separately
/ai-agents/vs/decentralized-ai/hub-split ambiguity/ai-agents/vs/ai-agents/ethereum/query overlap- Taxonomy "Foundation / Core infrastructure / Ecosystem" is authoring-facing, not reader-facing (Frameworks under Ecosystem is the worst offender)
- "Continue exploring" block duplicated across 5 sub-pages is a site-nav responsibility, not content
- FAQPage JSON-LD emitted on all 7 pages vs. Google's Aug 2023 restriction of FAQ rich results to gov/health authority sites
Tracked in #18036 so this PR can ship without them.
FAQ drift audit — all 7 pagesFollowing up on my earlier comment about Result: 8 drift cases across 6 of the 7 pages.
Clean pages: InterpretationThree distinct drift patterns, not all equal:
Recommendation (still hold for this PR)Auto-render
Confidence: high on the drift counts and exact content (verified mechanically). Medium on the right fix strategy. |
Addressed with commit 8000431 - ready for review on fix |
…into ai-content-updates # Conflicts: # app/[locale]/[...slug]/page-jsonld.tsx
Addressed with commit b7e3a3c
Addressed with commit 086d796
Addressed with commit ff0c5b2
Addressed with commit f9bceaa |

Adding related AI agents builder hub subpages
Description
Deviations from original Issue scope:
Related Issue
#17615
#17616
#17617
#17618
#17620
#17621
#17624
#17627
#17622
#17623
#17625