Look up any AI agent and see what the evidence shows.
Live site · API · OpenAPI · llms.txt · MCP server · Security
Nooscape™ is a public atlas of AI agents. It reads the public agent registries on Robinhood Chain, BNB Chain, Solana, Ethereum, Base, Arc, Monad and Gnosis, keeps what it read together with the date or block it was read at, and shows it as facts. Anyone can look an agent up, see where each fact came from, and decide for themselves.
It states facts and never a verdict.
- Acknowledged is not reviewed. Most records are listed only: a source saw the agent. A few are reviewed, with signed evidence kept.
- A light on the map is evidence, not a score. There are no scores for sale and no rankings for hire.
- Payment changes nothing. A key, a payment or a claim never changes a record, a tier or an evidence level.
- Every answer says when it was read and where from.
On 8 November 2026 the atlas listed 62,759 agents from the chain registries (Robinhood Chain 22,541, Solana 18,084, Base 9,214, BNB Chain 6,980, Ethereum 5,219, Arc 533, Monad 147, Gnosis 41), out of many more registrations recorded, and 302 records were reviewed with signed evidence kept. The live figures are on the home page and in the API.
![]() |
![]() |
![]() |
| The map | A chain world (Base) | The developer page |
Screenshots of the live site, 21 October 2026.
| Browse the atlas | The map, one page for each chain, and a dossier for every agent that shows what is on record and what is not. |
| Look an agent up | GET /api/v1/agents/{chain}/{id} and a search, with no key. 30 requests a minute from one address. |
| Check before you pay | POST /api/v1/check gives dated facts about an agent, a wallet or an endpoint host. It takes a Pro key, or $0.01 a call in USDC over x402, with no account. |
| Use it from an AI assistant | The nooscape-mcp server gives MCP clients search, lookup, history and the check as tools. |
| Claim your agent | The owner of an ERC-8004 agent on Robinhood Chain, BNB Chain or Arc signs one message with the wallet that owns the agent in the registry. The claim is shown beside what Nooscape observed, never in its place. |
| Watch agents | Builder keys get a watchlist and signed webhooks. |
| Verify evidence | Evidence packets are signed with Ed25519. The signing keys, active and retired, are published at /.well-known/nooscape-keys.json. The verifier checks a packet against them, the free POST /api/v1/verify does the same over HTTP, and nooscape-verify checks a packet on your own machine, with no network except the key list. |
# One agent, by chain and registry id (no key needed)
curl https://nooscape.si/api/v1/agents/arc/1
# Search
curl "https://nooscape.si/api/v1/agents/search?q=agent&chain=arc&limit=5"
# The pre-flight check. With no key you get a 402 that says how to pay.
curl -i -X POST https://nooscape.si/api/v1/check \
-H "content-type: application/json" \
-d '{"agent":{"chain":"arc","id":"1"}}'Chains are robinhood, bnb, solana, ethereum, base, arc, monad and gnosis. Every answer carries as_of, source and license. Free, Builder and Pro keys raise the limits (get a key). The full description is the OpenAPI document, and /llms.txt is the same API written for a model.
flowchart LR
subgraph Sources["Public sources"]
A["ERC-8004 registries<br/>Robinhood, BNB, Ethereum, Base, Arc, Monad, Gnosis"]
B["Solana agent registries"]
C["A2A cards and catalogs"]
end
W["Ingestion worker<br/>scheduled, bounded passes"]
D[("MySQL or MariaDB<br/>records and ledgers")]
S[("Evidence store<br/>S3-compatible")]
X["Express server<br/>tRPC, REST v1, x402"]
U["Atlas<br/>React and Vite"]
O["MCP server, llms.txt,<br/>signed evidence"]
A --> W
B --> W
C --> W
W --> D
W --> S
D --> X
S --> X
X --> U
X --> O
A worker reads each approved source on a schedule, through fetch rules that bound what it will contact. What it reads goes into the database as a record with its source and date, and the observation behind it goes into the evidence store. The server answers from those records and does not score them.
apps/nooscape-relay/ The application
client/ React 19, Vite, Tailwind, wouter
server/ Express, tRPC, the REST API, x402 and the worker
shared/ Types and rules used by both sides
drizzle/ SQL migrations
docs/ Decision records, runbooks and the documentation index
scripts/ Build, CI and live-check scripts
verifier/ The nooscape-verify package, a command and a library
examples/ A runnable policy for the pre-flight check
packages/nooscape-mcp/ A pointer to the MCP server's own repository, nooscape-mcp
brand/ Logos, cards and the screenshots above
You need Node 22 and pnpm 10.
git clone https://github.com/RunTimeAdmin/nooscape-public.git
cd nooscape-public/apps/nooscape-relay
pnpm install
pnpm dev # http://localhost:3000With no DATABASE_URL the server starts in a local tooling mode: the pages load and the data is empty. For a database, run MySQL 8 and set DATABASE_URL. Most migrations are applied when the server starts. A few, listed in server/dbMigrations.ts, are left for an operator to apply by hand.
pnpm check # typecheck of the source and of the tests
pnpm test # more than 5,000 testsThe tests that need a database use mysql://root:[email protected]:3307 and skip when none is reachable. CI runs the same checks against a throwaway MySQL 8 and builds the app.
Built with TypeScript, React 19, Vite 7, Tailwind 4, Express 4, tRPC 11, Drizzle and Vitest.
The index is apps/nooscape-relay/docs/README.md. A few places to start:
| Read | For |
|---|---|
| Data access | The REST API, keys and tiers, and pay per call |
| Discovery files | /llms.txt, /.well-known/x402 and the Bazaar block in a 402 |
| Multichain ERC-8004 | How one importer reads the ERC-8004 registries on every EVM chain |
| Evidence key rotation | How evidence is signed and how the key is changed |
| Worker operations | How the scheduled ingestion worker runs |
| Security | How to report a vulnerability |
The root of the repository also holds dated design and research notes. They record decisions as they were made, so some are older than the code.
| Note | What it covers |
|---|---|
AGENT_TRUST_TIER_DESIGN.md |
The thesis, the dedup pipeline, trust tiers 0 to 3 and the phased build plan |
INGEST_POINTS.md |
Named ingest sources, their limits and the signals each gives |
SCOPE.md |
The v1 chain scope decided on 7 October 2026. BNB Chain, Base, Ethereum, Monad and Gnosis were added after it. |
ARC_INGEST_RESEARCH.md |
Arc: first-party evidence, source requirements and priorities |
Nooscape is independent from Noos Network. It is an evidence-first discovery atlas, and Noos describes an economic and settlement layer for agent skills.
Some projects by the same operator (Sigvara, Countersig, MCPShield and agentclear) are first-party. They are treated as first-party: no adapter is active for them without its own reviewed source boundary.
A security problem goes to [email protected] (see SECURITY.md), not to a public issue. Disputes, corrections and privacy questions go to [email protected], with a reply promised within one business day.
Issues and pull requests are welcome. Read CONTRIBUTING.md first.
The code is released under the MIT License. The facts and records Nooscape produces are licensed under CC BY 4.0: you may copy, share and adapt them, commercially too, if you credit Nooscape with the attribution line every answer carries (license.attribution). Text that registrants published stays theirs and is shown as published. The terms still set the rate limits for reading the data from the service. The Nooscape name and logo are not part of the code license or the data license.
This is the public home of Nooscape's source, started from a snapshot taken on 21 October 2026 and refreshed from the private repository's main on 8 November 2026. Earlier history lives in a private archive, so the pull request and commit numbers that the docs and code comments mention (for example "PR 174") refer to that archive, and a few records are withheld from this tree and replaced with a short note.


