> For the complete documentation index, see [llms.txt](https://chaincontext.gitbook.io/help-center/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chaincontext.gitbook.io/help-center/running/erc8004-identity.md).

# ERC-8004 On-chain Server Identity

Register your MCP server on-chain so AI agents can verify its identity cryptographically before connecting. [ERC-8004](https://eips.ethereum.org/EIPS/eip-8004) is the Ethereum standard for this. Live on Ethereum mainnet since **January 29, 2026**. ChainContext registers on **Base** by default (cheap, fast finality).

> **A note on terminology.** ERC-8004 is titled *"Trustless Agents"* and the contract methods use the word `agent`. In that spec, "agent" is a generic term for *any autonomous software entity with a capability manifest* — which includes MCP servers. Under the hood we call `registerAgent(slug, manifestCid)`, but from your perspective **you're registering your MCP server, not an AI agent**.

## How it works

Registration is **operator-signed** — your wallet signs the tx. ChainContext never holds a signing key for this registry.

1. You click **Register on-chain** on the Publish tab
2. ChainContext builds your MCP server manifest (name, description, endpoint URL, capabilities) and pins it to IPFS
3. ChainContext returns an unsigned transaction referencing the IPFS CID
4. Your wallet signs and submits the tx via WalletConnect / wagmi
5. The contract mints an NFT representing your server's on-chain identity. **Your wallet address is the identity.** Reputation accrues to you.

## Why it matters

* **Verifiable ownership** — other AI agents can check the registry and prove "this MCP server is controlled by wallet 0xABC"
* **Reputation** — your wallet's track record of published servers builds up over time
* **No platform lock-in** — the registration lives on-chain, owned by you. If ChainContext disappears, your identity record doesn't.
* **Compatible with** [**Know Your Agent**](https://www.payram.com/blog/what-is-know-your-agent) **(KYA)** — the emerging standard for AI agent identity in 2026

## Who pays what

| Cost                            | Who pays                                 | Approx amount       |
| ------------------------------- | ---------------------------------------- | ------------------- |
| IPFS manifest pinning           | ChainContext (platform Pinata)           | Free tier covers it |
| Optional operator-pinned backup | You (if you provide your own Pinata JWT) | Free tier           |
| On-chain registration tx        | You (from your wallet)                   | \~$0.02 on Base     |

**Sovereignty mode (optional):** paste your own Pinata JWT into project secrets (`pinata_jwt`). Your Pinata account pins your manifest in addition to ChainContext's backup pin. This ensures your manifest reference remains valid even if ChainContext stops pinning in the future.

## Plan gating

| Plan       | Enabled | Max registrations per project |
| ---------- | ------- | ----------------------------- |
| Free       | ❌       | —                             |
| Builder    | ✓       | 1                             |
| Studio     | ✓       | 5                             |
| Enterprise | ✓       | Unlimited                     |

## Kill switch

Admin backoffice exposes a global kill switch (`erc8004_global_disabled` in platform config). If enabled, the Register button is disabled platform-wide.

## Unregister

Click **Unregister** on the Publish tab. ChainContext returns an unsigned `unregisterAgent(slug)` tx. You sign it with your wallet — the on-chain record is removed.

## Verification (for consumers)

Anyone can verify your server by:

1. Looking up the slug on the AgentRegistry contract → gets NFT token ID + CID + owner address
2. Fetching the manifest from IPFS
3. Confirming the MCP endpoint URL matches the server they're about to connect to
4. Optionally checking the owner address for reputation (track record across other registered servers)

## References

* [ERC-8004 EIP](https://eips.ethereum.org/EIPS/eip-8004)
* [QuickNode Developer Guide](https://blog.quicknode.com/erc-8004-a-developers-guide-to-trustless-ai-agent-identity/)
* [Know Your Agent (KYA) explainer](https://www.payram.com/blog/what-is-know-your-agent)
