Indexed ERC-8004 agents
list_agentsAgents read from the on-chain IdentityRegistry, with their registration card and payment wallet. score is the ERC-8004 reputation score derived from on-chain feedback — it is the REGISTRY's number, not a Roundhouse rating, and it is null for every agent no counterparty has left feedback for. Roundhouse publishes no trust score of its own.
Wraps GET /v0/agents. Access: requires an API key (Authorization: Bearer rh_live_… or x-api-key).
Returns:
agents: Agent rows with identity, wallet and the ERC-8004
score(null where the registry holds no feedback).x402_supportis the registration card's own declaration;last_activity_atandactivity_statusare the observed halves, derived from settlements and feedback.next_before: Cursor for the next page, or
null.meta: The chain served and
as_of. On an EMPTY list it also carriesdataset_last_written_at,dataset_row_countand anywarnings(e.g.endpoints_catalog_stale) — so a zero can be read as a quiet market or a stalled ingest rather than guessed at.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text search over name and description. | |
| x402 | No | The earlier name for `x402_declared`, kept because it is published and a caller sending it wants the same rows. Prefer `x402_declared`, whose name says what it reads. Sending both uses `x402_declared`. | |
| limit | No | Rows to return. Clamped to 100; values outside the range are clamped, not rejected. | |
| before | No | Opaque cursor from a previous response's `next_before`. It encodes the whole sort key, tiebreaker included, so a page boundary inside a group of rows sharing a timestamp does not skip the rest. Do not parse it or build one by hand. | |
| x402_declared | No | Set to `true` to keep only agents whose own ERC-8004 registration card declares x402 support (`x402Support: true`). This is the agent's CLAIM ABOUT ITSELF, copied out of a document its owner wrote, and it is not evidence of anything: four of five agents on a page of this filter had `last_activity_at: null`, `activity_status: "unknown"` and no feedback — never observed doing anything. It was named `x402` and documented as "observed on-chain x402 payments", which is the one confusion this index exists to prevent. The old name still works and means the same thing. There is no observed equivalent yet: `agents` carries no per-wallet settlement column, and the weekly activity scan that would populate one covers five agents a run against tens of thousands, so a filter built on it would answer "not observed" about agents nobody has looked at. To screen on evidence today, take the `agent_wallet` and call `get_agent` / `list_entity_settlements` with it. |