Abstraxn Agent Kit implements the Identity layer of ERC-8004 so each agent can have a portable, verifiable on-chain identity — not just a wallet address. Developers register agents on supported EVM chains, publish a machine-readable registration file, and monitor identity plus MCP activity from the dashboard or their own UI.

Supported chain IDs (Agent Kit)

Identity registration uses a numeric EVM chainId in every API and SDK call — not string slugs like sepolia or base. Contract addresses follow the official ERC-8004 contracts README: mainnet networks share one IdentityRegistry / ReputationRegistry pair; testnet networks share another.
These chainId values are accepted by POST /agents/:id/identity/prepare, POST /agents/:id/identity/confirm, GET /agents/:id/identity?chainId=…, and SDK registerAgentIdentity / getAgentIdentity. Any other chainId returns a validation error.
One agent may register once per chainId. Fund the agent EVM address with native gas on the chain you choose before calling prepare/register.

Registry addresses by chainId

Override defaults per chain on your Kit deployment:

More ERC-8004 networks

The ERC-8004 contracts repo lists additional deployments (Optimism, Linea, Scroll, Monad, and others). Abstraxn will add more chainId values to Agent Kit as RPC and registry env support is rolled out.

What is ERC-8004?

ERC-8004 (Trustless Agents) is an Ethereum standard (mainnet-ready as of early 2026) for giving autonomous agents discoverable, composable trust primitives. It defines three registries; Agent Kit focuses on Identity today.

Why identity matters for agents

A raw EVM address does not tell a counterparty who operates the agent, which MCP endpoint to use, or whether the agent supports x402. ERC-8004 Identity fixes that by combining:
  1. On-chain record — registration in an IdentityRegistry contract on a chosen chain (e.g. Sepolia, Base).
  2. Off-chain agent card — JSON at agentURI with name, description, service endpoints (including MCP), and x402 support flags.
  3. Global identifier — a CAIP-style global agent id derived from chain, registry, and on-chain agentId so the same logical agent can be referenced across tools and explorers.
Identity does not prove an agent is honest or within policy — it proves who the agent claims to be and where to reach it. Pair identity with your own auth, interaction policies, spend policy, and activity logs for full accountability.

Registration file (agent card)

Agent Kit serves an EIP-8004 registration-v1 document at a public URL (no API key):
Example shape (fields may grow with your agent metadata):
The on-chain register(agentURI) call points the registry at this URL. Wallets and explorers can resolve it without calling your private APIs.

How Abstraxn registers an agent

Prerequisites

  • Agent created with createAgent (or bind) so it has an evmAddress.
  • accessKey stored on your backend for signing.
  • Native gas on the target chain in that EVM address (registration is a contract call).
  • Identity registry configured on Agent Kit for that chain (IDENTITY_REGISTRY_* env vars on the Kit deployment). Default addresses match the ERC-8004 contracts README; see Supported chain IDs above.

REST API (Agent Kit)

All routes below require X-API-Key (application API key) except the public registration file. After confirm, Agent Kit stores records under agent.metadata.erc8004.registrations[] with:

SDK shortcut

@abstraxn/agent-kit wraps prepare → sign → broadcast → confirm:
See SDK quickstart for createAgent and accessKey storage first. For external wallet agents (no accessKey), use registerAgentIdentityExternal or manual prepare/confirm with your own signer — see External wallet identity.

Dashboard — Identity & Activity

In Agentic Stack → All agents, open an agent row to see two tabs:

Identity tab

Shows ERC-8004 status for operators and support teams:
  • Registered on-chain banner with global agent identifier (copy-friendly).
  • Per-chain registration cards: on-chain agent id, owner, registry address, transaction hash, explorer links.
  • Controllers and wallets: EVM/Solana addresses and masked API key reference tied to the agent.
If the agent is not registered, the tab shows Not registered on-chain with guidance to register on a supported chain (registration is triggered from your app backend, not from this dashboard screen alone).

Activity log tab

Lists MCP tool calls for that agent — audit trail for debugging and compliance: Use Refresh and pagination to load more. Open Details on a row to inspect request/response payloads (redact secrets before sharing externally). Activity appears after the agent executes MCP tools via your backend or integrations using your application API key with that agent_id.

Integrate in your app

The sample backend API and sample web app demonstrate the full UX pattern Abstraxn recommends.

Sample backend API (NestJS)

Flow inside AgentsService.registerAgentIdentity:
  1. Load agent row + decrypt accessKey.
  2. Pass chainId to SDK registerAgentIdentity (requires abstxn-dev-agent-kit-sdk@1.0.2+).
  3. SDK signs and submits registration, then confirms with Agent Kit.
  4. Return tx hash and chainId metadata to the client.
Relevant modules: agents.controller.ts, agents.service.ts, identity-chain.config.ts.

Sample web app (Next.js)

  • RegisterIdentityModal — user picks chain; calls POST /agents/:id/register-identity.
  • RegisterIdentityFundRequiredModal — prompts funding if balance preflight fails.
  • AgentIdentityDetails on the dashboard — shows global id, on-chain agent id, registry, owner, explorer links after registration.
  • useAgentIdentity — loads identity state from your API.
The browser never holds accessKey; it only triggers your JWT-protected backend route.

Implementation checklist

  1. Create agent and fund EVM address with gas on target chain.
  2. Expose POST /agents/:id/register-identity (or call Kit REST prepare/confirm yourself).
  3. Show registration status in your UI (mirror dashboard Identity fields).
  4. Set AGENT_KIT_PUBLIC_URL on Agent Kit so agentURI is reachable on the public internet.
  5. Link users to Activity in dashboard or build your own log viewer using Kit MCP tool log APIs.

Configuration (Agent Kit operators)