Dashboard Overview¶
The Agent Registry Dashboard is a web application for browsing, searching, and analyzing the registry. It provides a visual interface equivalent to looking up entries in the Handelsregister -- anyone can inspect any agent's registration, compliance status, revenue history, and lineage tree.
Tech stack: Next.js 14, Tailwind CSS, Recharts, SWR
Running the Dashboard¶
Prerequisites¶
The dashboard requires the API server to be running on port 3000.
# Terminal 1: Start the API server
cd agentenregister
npm run api # https://api.theagentregistry.org
# Terminal 2: Start the dashboard
npm run dashboard # http://localhost:3002
Start everything at once
To run the API and relayer together:
Build for Production¶
This produces a static export in dashboard/.next/ suitable for deployment to any static hosting provider (Vercel, Netlify, Cloudflare Pages).
Pages¶
| Route | Page | Description |
|---|---|---|
/ |
Stats Overview | Agent counts, status distribution charts, generation distribution, recent registrations |
/agents |
Agent Explorer | Searchable, filterable, paginated table of all agents |
/agents/:id |
Agent Detail | Full "Handelsregisterauszug" with compliance, revenue, and children |
/lineage/:id |
Lineage Tree | Recursive parent-child visualization |
/compliance |
Compliance Monitor | All agents sorted by attestation age |
/revenue |
Revenue Analytics | Charts by currency, category, and time |
/kya |
KYA Checker | Input a wallet address, get instant compliance result |
Stats Overview¶
Route: /
The landing page provides a high-level overview of the registry.
Widgets¶
| Widget | Data Source | Description |
|---|---|---|
| Total Agents | /api/v1/stats |
Count of all registered agents |
| Compliance Rate | /api/v1/stats/detailed |
Percentage of agents currently compliant |
| Status Distribution | /api/v1/stats/detailed |
Pie/donut chart: Active, Suspended, Revoked, Terminated |
| Generation Distribution | /api/v1/stats/detailed |
Bar chart: how many agents per generation (0, 1, 2, ...) |
| Recent Registrations | /api/v1/stats/detailed |
Table of the 10 most recently registered agents |
| Revenue by Currency | /api/v1/revenue/aggregate |
Stacked bar chart: USDC, EUR, ETH |
API Endpoints Used¶
Agent Explorer¶
Route: /agents
A searchable, filterable, paginated table of all registered agents.
Features¶
| Feature | Description |
|---|---|
| Search | Filter by agent name, wallet address, or operational scope |
| Status filter | Show only Active, Suspended, Revoked, or Terminated agents |
| Pagination | 20 agents per page, with page navigation |
| Sort | By agent ID, registration date, or last attestation |
| Quick actions | Click to view detail page or lineage tree |
API Endpoint¶
Response Format¶
{
"total": 148,
"page": 1,
"limit": 20,
"totalPages": 8,
"data": [
{
"agentId": 1,
"creator": "0x4b19...",
"haftungsperson": "0x4b19...",
"agentWallet": "0x4b19...",
"operationalScope": "Scientific test agent #1",
"generation": 0,
"status": "Active",
"registeredAt": "2026-02-22T19:02:18.000Z"
}
]
}
Agent Detail¶
Route: /agents/:id
The full Handelsregisterauszug (commercial register extract) for a single agent. This is the most important page -- it shows everything publicly known about an agent.
Sections¶
| Section | Content |
|---|---|
| Identity | Agent ID, wallet, creator, Haftungsperson |
| Registration | Registration date, operational scope, constitution hash, capability hash |
| Status | Current status (Active/Suspended/Revoked/Terminated) |
| Compliance | Last attestation date, seconds since attestation, whether currently compliant |
| Lineage | Parent agent (if any), generation depth, list of child agents |
| Revenue History | Table of all revenue reports: amount, currency, category, period |
| Self-Modifying | Whether the agent is flagged as self-modifying |
API Endpoints Used¶
Handelsregisterauszug analogy
In Germany, anyone can request a Handelsregisterauszug -- a certified extract from the commercial register showing a company's legal details. The Agent Detail page serves the same purpose for autonomous AI agents: a public, verifiable record of identity and status.
Lineage Tree¶
Route: /lineage/:id
A recursive tree visualization of parent-child agent relationships.
Display¶
Agent #27 (WebCrawler-Alpha, Gen 0)
├── Agent #32 (Child of #27, Gen 1)
│ └── Agent #33 (Grandchild of #32, Gen 2)
└── Agent #45 (Another child, Gen 1)
Features¶
| Feature | Description |
|---|---|
| Recursive expansion | Expand/collapse child nodes up to 15 levels deep |
| Status badges | Color-coded status indicators (green=Active, yellow=Suspended, red=Revoked) |
| Click-through | Click any node to navigate to that agent's detail page |
| Generation labels | Each node shows its generation depth |
API Endpoint¶
Depth and width limits
The lineage API limits recursion to 15 levels deep and 50 children per node to prevent excessive RPC calls. The on-chain maximum generation depth is 10.
Compliance Monitor¶
Route: /compliance
A real-time view of all agents sorted by how long ago they last attested compliance. Agents closest to lapsing appear at the top.
Columns¶
| Column | Description |
|---|---|
| Agent ID | Numeric identifier |
| Name / Scope | Operational scope excerpt |
| Status | Active / Suspended / Revoked / Terminated |
| Last Attestation | Timestamp of last compliance attestation |
| Time Since | Human-readable time since last attestation (e.g., "3d 14h") |
| Compliant | Green check or red warning |
Visual Indicators¶
| Time Since Attestation | Color | Meaning |
|---|---|---|
| < 5 days | Green | Healthy |
| 5--7 days | Yellow | Approaching deadline |
| > 7 days | Red | Lapsed / Non-compliant |
API Endpoint¶
Revenue Analytics¶
Route: /revenue
Charts and tables showing revenue reported by agents.
Charts¶
| Chart | Type | Description |
|---|---|---|
| Revenue by Currency | Stacked bar | USDC, EUR, ETH breakdown |
| Revenue by Category | Pie chart | compute_services, service_fees, data_sales, consulting |
| Revenue Over Time | Line chart | Revenue reports plotted by reporting date |
| Top Earners | Horizontal bar | Top 10 agents by total reported revenue |
API Endpoint¶
Example Response¶
{
"totalReports": 73,
"totalAmount": 36547,
"byCurrency": {
"USDC": 25058,
"EUR": 6989,
"ETH": 4500
},
"byCategory": {
"compute_services": 8591,
"service_fees": 10177,
"data_sales": 13239,
"consulting": 4540
}
}
KYA Checker¶
Route: /kya
An interactive tool for infrastructure providers to quickly check an agent's registration and compliance status.
Usage¶
- Enter a wallet address (e.g.,
0x4b192fD5c4f24cE23000B49f31CF3d7484Ccf252) - Click "Check"
- View the result: registered, compliant, agent details
Result Display¶
| Result | Display |
|---|---|
| Registered + Compliant | Green badge, full agent details |
| Registered + Not Compliant | Yellow badge, warning with reason |
| Not Registered | Red badge, "Agent not found" |
API Endpoint¶
Data Fetching¶
The dashboard uses SWR (stale-while-revalidate) for data fetching:
- Automatic revalidation on window focus
- Deduplication of concurrent requests
- Cache with background refresh
- Error retry with exponential backoff
import useSWR from "swr";
const fetcher = (url) => fetch(url).then((r) => r.json());
function useAgentStats() {
const { data, error, isLoading } = useSWR(
"https://api.theagentregistry.org/api/v1/stats/detailed",
fetcher,
{ refreshInterval: 30000 } // Refresh every 30 seconds
);
return { stats: data, error, isLoading };
}
Configuration¶
| Variable | Default | Description |
|---|---|---|
NEXT_PUBLIC_API_URL |
https://api.theagentregistry.org |
Agent Registry API base URL |
PORT |
3002 |
Dashboard port |
Set these in dashboard/.env.local:
Next Steps¶
- See Getting Started: Quickstart to set up the full stack
- See REST API Reference for all endpoints the dashboard consumes
- See KYA Integration Guide if you are an infrastructure provider