Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* @celo-org/devrel

# Build on Celo section - DevRel team
/build-on-celo/ @celo-org/devrel
/build/ @celo-org/devrel

# Learn section (protocol, governance, manage, etc.) - Blockchain and Primitives teams
/learn/ @celo-org/blockchain @celo-org/primitives
Expand All @@ -19,28 +19,28 @@
/operate/ @celo-org/blockchain

# Tooling section
/tooling/ @celo-org/devrel
/build/tools/ @celo-org/devrel

# CLI tools - DevRel and DevTooling teams
/tooling/libraries-sdks/cli/ @celo-org/devrel @celo-org/devtooling
/build/tools/libraries-sdks/cli/ @celo-org/devrel @celo-org/devtooling

# ContractKit - DevRel and DevTooling teams
/tooling/libraries-sdks/contractkit/ @celo-org/devrel @celo-org/devtooling
/build/tools/libraries-sdks/contractkit/ @celo-org/devrel @celo-org/devtooling

# Development environments (was developer/deploy) - DevRel and Primitives teams
/tooling/dev-environments/ @celo-org/devrel @celo-org/primitives
/build/tools/dev-environments/ @celo-org/devrel @celo-org/primitives

# SDK libraries - DevRel and DevTooling teams
/tooling/libraries-sdks/rainbowkit-celo/ @celo-org/devrel @celo-org/devtooling
/tooling/libraries-sdks/viem/ @celo-org/devrel @celo-org/devtooling
/tooling/libraries-sdks/ @celo-org/devrel @celo-org/devtooling
/build/tools/libraries-sdks/rainbowkit-celo/ @celo-org/devrel @celo-org/devtooling
/build/tools/libraries-sdks/viem/ @celo-org/devrel @celo-org/devtooling
/build/tools/libraries-sdks/ @celo-org/devrel @celo-org/devtooling

# Smart contracts - Primitives team
/tooling/contracts/ @celo-org/primitives
/build/tools/contracts/ @celo-org/primitives

# Network/Node operations - DevRel and Blockchain teams
/tooling/testnets/ @celo-org/devrel @celo-org/blockchain
/tooling/nodes/ @celo-org/devrel @celo-org/blockchain
/build/tools/testnets/ @celo-org/devrel @celo-org/blockchain
/build/tools/nodes/ @celo-org/devrel @celo-org/blockchain

# Configuration files
/docs.json @celo-org/devrel
Expand Down
24 changes: 12 additions & 12 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Structural work in progress is tracked in the restructure epic, [#2266](https://

- A [Mintlify](https://mintlify.com) site. Content is MDX; navigation, redirects and theme live in `docs.json`. There is no build step beyond the Mintlify CLI.
- `docs.json` is the single source of truth for what is reachable. **A file on disk is unreachable until it is listed under `navigation`.**
- Content directories today: `learn/`, `build-on-celo/`, `tooling/`, `contribute-to-celo/`, `operate/`.
- Content directories today: `learn/`, `build/`, `contribute-to-celo/`, `operate/`. Tool pages live under `build/tools/`.
- `snippets/` holds reusable JSX/MDX (`/snippets/ColoredText.jsx`, `/snippets/YouTube.jsx`, `/snippets/AddNetworkButton.jsx`). Import with an absolute path after the frontmatter: `import {YouTube} from '/snippets/YouTube.jsx'`.
- Static assets: `img/`, `images/`, `assets/`, `logo/`.
- **Any `.js` file under the content root runs on every published page.** Mintlify injects them automatically — there is no allowlist and no way to scope one to a single page — and the same applies to `.css`. Treat a `.js` file here as production code shipped to every reader, not as content: it has full same-origin DOM access on pages that print contract addresses and RPC endpoints. Mintlify does not support a raw `<script src>` in MDX, so third-party scripts are injected programmatically from such a file (`assistant.js` is the example). Note `submodules/developer-tooling` sits under this root too.
Expand Down Expand Up @@ -99,7 +99,7 @@ The policy, decided for the restructure: **troubleshooting-first.**

## 6. Links and components

- Internal links are root-relative with no extension: `[Fee abstraction](/build-on-celo/fee-abstraction/overview)`. Never `./`, `../`, or `.mdx`. Anchors are fine: `/build-on-celo/fee-abstraction/using-fee-abstraction#adapter-addresses`. `mint broken-links` does not validate anchors — check them by hand.
- Internal links are root-relative with no extension: `[Fee abstraction](/build/fee-abstraction/overview)`. Never `./`, `../`, or `.mdx`. Anchors are fine: `/build/fee-abstraction/using-fee-abstraction#adapter-addresses`. `mint broken-links` does not validate anchors — check them by hand.
- External links use the full URL. Link to the canonical source (the standard, the SDK docs, the contract on the explorer).
- Components in use: `Card`/`CardGroup` for index and landing pages, `Tabs`/`Tab` for per-OS or per-client variants, `Accordion`/`AccordionGroup` for optional depth, `Frame` around images, `CodeGroup` for the same step in several package managers. Numbered procedures are plain markdown lists. Keep to this set so pages look alike.
- Images never carry information that is not also in the text. Agents and screen readers do not see screenshots.
Expand All @@ -113,17 +113,17 @@ Numbers and addresses live on one canonical page; every other page links there i
| Chain IDs, RPC URLs, explorers, faucet | `/learn/network/overview` | mainnet `42220`, `https://forno.celo.org`; Celo Sepolia `11142220`, `https://forno.celo-sepolia.celo-testnet.org`; faucet `https://faucet.celo.org/celo-sepolia` |
| Block time | `/operate/specification/deployments` | "1-second blocks". Do not write "1-second finality" — see `/operate/specification/finality` |
| Transaction cost | `/operate/specification/transaction-fees` | "below $0.01 for a typical transaction" |
| Fee abstraction | `/build-on-celo/fee-abstraction/overview` (guide), `/tooling/contracts/fee-currencies` (addresses), `/operate/specification/fee-abstraction` (protocol) | pay gas in USDm, USDC, USDT or another allowlisted token from any EOA; no paymaster; 6-decimal tokens use the **adapter** address as `feeCurrency` |
| Stablecoins | `/build-on-celo/build-with-local-stablecoin` | 15 Mento stablecoins (USDm, EURm, BRLm, KESm, …) plus USDC, USDT, USA₮ and other issuers — "30+ stablecoins" in total |
| MiniPay | `/build-on-celo/build-on-minipay/overview` | stablecoin wallet, 10M+ activations, Mini App discovery page, Celo only |
| Fee abstraction | `/build/fee-abstraction/overview` (guide), `/build/tools/contracts/fee-currencies` (addresses), `/operate/specification/fee-abstraction` (protocol) | pay gas in USDm, USDC, USDT or another allowlisted token from any EOA; no paymaster; 6-decimal tokens use the **adapter** address as `feeCurrency` |
| Stablecoins | `/build/build-with-local-stablecoin` | 15 Mento stablecoins (USDm, EURm, BRLm, KESm, …) plus USDC, USDT, USA₮ and other issuers — "30+ stablecoins" in total |
| MiniPay | `/build/mini-apps/overview` | stablecoin wallet, 10M+ activations, Mini App discovery page, Celo only |
| Token duality | `/operate/specification/token-duality` | CELO is both the native token and an ERC-20; no wrapping |
| Data availability | `/operate/specification/eigenda` | EigenDA |
| Architecture | `/learn/network/architecture` | Ethereum L2 on the OP Stack |
| Agent payments | `/build-on-celo/build-with-ai/x402`, `/build-on-celo/build-with-ai/mpp` | HTTP 402 flows settled in USDC/USDT; Celo facilitator `https://api.x402.celo.org` |
| Agent identity and trust | `/build-on-celo/build-with-ai/8004`, `/build-on-celo/build-with-ai/self-agent-id` | ERC-8004 registries on Celo; Self Agent ID adds a zero-knowledge proof-of-human |
| Human identity | `/build-on-celo/build-with-self` | Self: passport / EU ID / Aadhaar proofs, nothing leaves the device |
| Phone-number mapping | `/build-on-celo/build-on-socialconnect` | SocialConnect / ODIS |
| AI tooling | `/build-on-celo/build-with-ai/use-docs-with-ai`, `/build-on-celo/build-with-ai/celopedia`, `/build-on-celo/build-with-ai/mcp/index` | in-page Ask AI assistant, docs MCP at `https://docs.celo.org/mcp`, `llms.txt`, per-page `.md`, Celopedia skill, Celo MCP server |
| Agent payments | `/build/agents/x402`, `/build/agents/mpp` | HTTP 402 flows settled in USDC/USDT; Celo facilitator `https://api.x402.celo.org` |
| Agent identity and trust | `/build/agents/8004`, `/build/agents/self-agent-id` | ERC-8004 registries on Celo; Self Agent ID adds a zero-knowledge proof-of-human |
| Human identity | `/build/build-with-self` | Self: passport / EU ID / Aadhaar proofs, nothing leaves the device |
| Phone-number mapping | `/build/build-on-socialconnect` | SocialConnect / ODIS |
| AI tooling | `/build/agents/use-docs-with-ai`, `/build/agents/celopedia`, `/build/agents/mcp/index` | in-page Ask AI assistant, docs MCP at `https://docs.celo.org/mcp`, `llms.txt`, per-page `.md`, Celopedia skill, Celo MCP server |

### Partner contract addresses

Expand All @@ -139,7 +139,7 @@ Third-party (partner) contract addresses are not listed in these docs — link t

## 8. Writing for AI agents (discoverability)

Most readers of these docs are now AI assistants and agents. Mintlify already serves them: `https://docs.celo.org/llms.txt` (index of every page's title and `description`), `llms-full.txt` (full text), every page as Markdown at its URL plus `.md`, the docs MCP server at `https://docs.celo.org/mcp`, and the page-level Copy / ChatGPT / Claude / Cursor menu. Human readers also get the in-page [Ask AI assistant](/build-on-celo/build-with-ai/use-docs-with-ai), which answers from the same MCP endpoint. The [Celopedia skill](/build-on-celo/build-with-ai/celopedia) and the [Celo MCP server](/build-on-celo/build-with-ai/mcp/celo-mcp) are further entry points. Nothing needs configuring per page — but a page is only as useful to an agent as its text is explicit.
Most readers of these docs are now AI assistants and agents. Mintlify already serves them: `https://docs.celo.org/llms.txt` (index of every page's title and `description`), `llms-full.txt` (full text), every page as Markdown at its URL plus `.md`, the docs MCP server at `https://docs.celo.org/mcp`, and the page-level Copy / ChatGPT / Claude / Cursor menu. Human readers also get the in-page [Ask AI assistant](/build/agents/use-docs-with-ai), which answers from the same MCP endpoint. The [Celopedia skill](/build/agents/celopedia) and the [Celo MCP server](/build/agents/mcp/celo-mcp) are further entry points. Nothing needs configuring per page — but a page is only as useful to an agent as its text is explicit.

Rules that make a page work for an agent:

Expand All @@ -151,7 +151,7 @@ Rules that make a page work for an agent:
6. **Headings name the task.** `## Estimate gas in USDC`, not `## Step 3`.
7. **Close with `## Related`.** Agents traverse the link graph; a page with no outgoing internal links is a dead end.
8. **Text over images.** Screenshots are fine as illustration; the steps must be in words.
9. **New agent-relevant pages get listed** on `/build-on-celo/build-with-ai/overview` and, when it exists, the AI-resources page (#2261).
9. **New agent-relevant pages get listed** on `/build/agents/overview` and, when it exists, the AI-resources page (#2261).

## 9. Pull requests

Expand Down
2 changes: 1 addition & 1 deletion ANALYTICS.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Edit rights cannot ship a change.
- The docs assistant is instrumented on both sides, in `celo-org/docs-ai-assistant` rather than in this repo:
- **Client (GA4).** `widget.js` reuses the page's existing `window.gtag` rather than loading a second tracker, and emits `assistant_opened`, `assistant_question` (`answered`, `escalated`, `truncated`), `assistant_escalate`, `assistant_new_chat`, `assistant_copy`, `assistant_citation_click` (`href`) and `assistant_error` (`from_api`, `status`). Question text is deliberately never sent to GA4.
- **Server (Redis).** `app/api/chat/route.ts` calls `logQuestion()`, which pushes `{question, model, citedUrls, answered, timestamp, refused}` onto the Upstash Redis list `docs-assistant:questions`, trimmed to the most recent 10,000. Without Redis configured it falls back to `console.log`, which on Vercel is short-retention only. **This list is the docs-gap signal** — the uncited questions in it are the pages that need writing.
- A handful of outbound partner links carry manual UTM parameters (`tooling/libraries-sdks/reown/index.mdx`, `tooling/indexers/goldrush.mdx`). Those let the partner attribute traffic to us; the planned GTM outbound-click tag answers a different question — what our readers click.
- A handful of outbound partner links carry manual UTM parameters (`build/tools/libraries-sdks/reown/index.mdx`, `build/tools/indexers/goldrush.mdx`). Those let the partner attribute traffic to us; the planned GTM outbound-click tag answers a different question — what our readers click.

### Reviewing unanswered questions

Expand Down
18 changes: 9 additions & 9 deletions build-on-celo/build-with-ai/8004.mdx → build/agents/8004.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -120,13 +120,13 @@ Check out the [repository](https://github.com/erc-8004/erc-8004-contracts/tree/m

### Register a service

An identity is not limited to an autonomous agent that acts on its own. Any callable service — an HTTP API, an [MCP server](/build-on-celo/build-with-ai/mcp/index), a bot — can hold one. The service itself needs no on-chain logic: what it gets is a record agents can find and rate, with endpoints in the Identity Registry and feedback in the Reputation Registry.
An identity is not limited to an autonomous agent that acts on its own. Any callable service — an HTTP API, an [MCP server](/build/agents/mcp/index), a bot — can hold one. The service itself needs no on-chain logic: what it gets is a record agents can find and rate, with endpoints in the Identity Registry and feedback in the Reputation Registry.

<Warning>
**The address you register from owns the identity.** Every `register()` overload mints the NFT to `msg.sender` and writes `agentWallet = msg.sender`, so that key is published as the agent's payment address *and* controls `setAgentURI`, transfers, and every other owner-only call. Register from the key that should own the identity. The payee is easy to change afterwards — `setAgentWallet()` with a signature from the new wallet, or `unsetAgentWallet()` to clear it, which the owner can call on its own. Ownership is the part that is awkward to undo.
</Warning>

The registration file is JSON you host anywhere an agent can fetch it — any HTTPS URL, IPFS, or a `data:` URI stored on-chain; the spec does not mandate a path. `services` lists the endpoints you want callers to use. The names below are examples rather than a fixed set — the spec leaves the number and type of endpoints to you, and `wallet` entries for other chains are common. Set `x402Support` to `true` if those endpoints accept [x402](/build-on-celo/build-with-ai/x402) payments.
The registration file is JSON you host anywhere an agent can fetch it — any HTTPS URL, IPFS, or a `data:` URI stored on-chain; the spec does not mandate a path. `services` lists the endpoints you want callers to use. The names below are examples rather than a fixed set — the spec leaves the number and type of endpoints to you, and `wallet` entries for other chains are common. Set `x402Support` to `true` if those endpoints accept [x402](/build/agents/x402) payments.

```json
{
Expand Down Expand Up @@ -239,7 +239,7 @@ const [registered] = parseEventLogs({
console.log('Registered as agent', registered.args.agentId);
```

Swap in a new file later with `setAgentURI(agentId, newURI)`, and set `"active": false` in the file when you retire the service. Transferring the agent NFT clears `agentWallet`, so the new owner sets it again. Gas for either call can be paid in a stablecoin — see [fee abstraction](/build-on-celo/fee-abstraction/overview).
Swap in a new file later with `setAgentURI(agentId, newURI)`, and set `"active": false` in the file when you retire the service. Transferring the agent NFT clears `agentWallet`, so the new owner sets it again. Gas for either call can be paid in a stablecoin — see [fee abstraction](/build/fee-abstraction/overview).

### Give Feedback

Expand Down Expand Up @@ -446,7 +446,7 @@ ERC-8004 works seamlessly with Celo's ecosystem:
- **Fee abstraction**: Register agents and give feedback paying gas in stablecoins
- **x402 payments**: Combine trust verification with instant payments
- **MCP servers**: Agents can expose capabilities via Celo MCP Server
- **Self Agent ID**: A deployment of all three ERC-8004 registries on Celo that adds a zero-knowledge proof-of-human to each agent identity — see [Self Agent ID](/build-on-celo/build-with-ai/self-agent-id)
- **Self Agent ID**: A deployment of all three ERC-8004 registries on Celo that adds a zero-knowledge proof-of-human to each agent identity — see [Self Agent ID](/build/agents/self-agent-id)

## Resources

Expand All @@ -461,8 +461,8 @@ ERC-8004 works seamlessly with Celo's ecosystem:

## Related

- [Self Agent ID](/build-on-celo/build-with-ai/self-agent-id) - ERC-8004 registries with proof-of-human, live on Celo
- [x402](/build-on-celo/build-with-ai/x402) - Payment layer for AI agents
- [MPP](/build-on-celo/build-with-ai/mpp) - Machine Payments Protocol: charge USDC per request over HTTP
- [Celopedia](/build-on-celo/build-with-ai/celopedia) - Celo ecosystem knowledge for coding assistants
- [MCP Servers](/build-on-celo/build-with-ai/mcp/index) - Connect agents to data and tools
- [Self Agent ID](/build/agents/self-agent-id) - ERC-8004 registries with proof-of-human, live on Celo
- [x402](/build/agents/x402) - Payment layer for AI agents
- [MPP](/build/agents/mpp) - Machine Payments Protocol: charge USDC per request over HTTP
- [Celopedia](/build/agents/celopedia) - Celo ecosystem knowledge for coding assistants
- [MCP Servers](/build/agents/mcp/index) - Connect agents to data and tools
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,6 @@ console.log(result); // { codes: ["celo_b7k3p9da"], schemaId: 0 }

## Related

- [x402: Agent Payments](/build-on-celo/build-with-ai/x402)
- [Fund your Project](/build-on-celo/fund-your-project) — grant and funding programs in the Celo ecosystem
- [Launch Checklist](/build-on-celo/launch-checklist)
- [x402: Agent Payments](/build/agents/x402)
- [Fund your Project](/build/fund-your-project) — grant and funding programs in the Celo ecosystem
- [Launch Checklist](/build/launch-checklist)
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: Connect AI assistants to Celo blockchain data, balances, governance

The **Celo MCP Server** gives AI assistants and editors read access to Celo — blocks, transactions, token balances, gas fees, governance proposals, staking and validator data. It runs locally over stdio, or as a remote endpoint over Streamable HTTP.

Every tool is a query. The server never signs or sends a transaction, so it cannot move funds. To give an agent a wallet, see [Celina](/build-on-celo/build-with-ai/mcp/celina).
Every tool is a query. The server never signs or sends a transaction, so it cannot move funds. To give an agent a wallet, see [Celina](/build/agents/mcp/celina).

## What it covers

Expand Down Expand Up @@ -235,7 +235,7 @@ mypy src/ # type-check

## Related

- [What is MCP?](/build-on-celo/build-with-ai/mcp/index) - how the protocol works and which Celo servers exist
- [Celo Docs MCP Server](/build-on-celo/build-with-ai/use-docs-with-ai) - search these docs from your editor
- [Celina](/build-on-celo/build-with-ai/mcp/celina) - an agent wallet, for the write side
- [What is MCP?](/build/agents/mcp/index) - how the protocol works and which Celo servers exist
- [Celo Docs MCP Server](/build/agents/use-docs-with-ai) - search these docs from your editor
- [Celina](/build/agents/mcp/celina) - an agent wallet, for the write side
- [Network information](/learn/network/overview) - chain IDs, RPC URLs and explorers
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ description: Learn about the Model Context Protocol and how to use Celo-specific

## Celo specific MCPs:

- [Celo MCP Server](/build-on-celo/build-with-ai/mcp/celo-mcp)
- [Celo MCP Server](/build/agents/mcp/celo-mcp)
- Chain info, balances, gas fees
- Governance proposals
- Staking and validators
- Runs locally (stdio) or as a remote HTTP endpoint
- [Celo Docs MCP Server](/build-on-celo/build-with-ai/use-docs-with-ai)
- [Celo Docs MCP Server](/build/agents/use-docs-with-ai)
- Search the documentation from your editor
- [Celina](/build-on-celo/build-with-ai/mcp/celina)
- [Celina](/build/agents/mcp/celina)
- Give your LLM a wallet on Celo — balances, transfers, DeFi, governance, staking, and Self Agent ID

<iframe
Expand Down
File renamed without changes.
Loading
Loading