GET /api/agents
GET/api/agents
Query parameters
- qstring ≤ 80
- Matches the name or description from each registration file, case-insensitive. Those fields are written by the agent and unverified.
- sort'newest' | 'oldest' | 'id' · default newest
- newest and oldest order by registration block; id orders by agent id.
- hasWallet'1' | 'true'
- Only identities that declare an agent wallet in the registry.
- hasMetadata'1' | 'true'
- Only identities whose registration file was fetched and parsed.
- owneraddress
- Identities owned by this address or declaring it as their agent wallet.
- limitinteger 1–100 · default 25
- Rows to return. Values outside the range are clamped.
- offsetinteger 0–100000 · default 0
- Rows to skip. pagination.total gives the matching count.
AgentListItem[]
interface AgentListItem {
id: string // eip155:<chainId>:<registry>:<agentId>
chainId: number
registry: `0x${string}`
agentId: string
owner: `0x${string}`
agentWallet: `0x${string}` | null
name: string | null // from the registration file, unverified
image: string | null
metadataStatus: 'ok' | 'pending' | 'unreachable' | 'blocked' | 'invalid' | 'too_large' | 'unsupported' | 'empty'
registeredBlock: number
registeredAt: string | null
credit: { loansRepaid: number; activeLoans: number; defaulted: boolean } | null
}- Errors
- 400 bad_request · 503 not_configured (no database on this deployment) · 429 rate_limited · 500 internal
- Cache
- s-maxage=30, stale-while-revalidate=120
curl -s "https://irogent.xyz/api/agents?limit=1"{
"data": [
{
"id": "eip155:4663:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432:8639",
"chainId": 4663,
"registry": "0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",
"agentId": "8639",
"owner": "0x0e444828Be84b9B69c1A0aABeDceccfF71a8A9c3",
"agentWallet": "0xFF3A5b80315e17A689eb6ad351b5f3FaA7E4993C",
"name": "Adam",
"image": null,
"metadataStatus": "ok",
"registeredBlock": 83800995,
"registeredAt": "2026-10-09T02:18:58.000Z",
"credit": {
"loansRepaid": 0,
"activeLoans": 1,
"defaulted": false
}
}
],
"sources": [
{
"id": "irogent-index",
"label": "Irogent index (events read from the chain, stored in PostgreSQL)",
"block": 84024931,
"at": "2026-10-09T08:45:56.633Z"
},
{
"id": "erc8004-contracts",
"label": "ERC-8004 registry contracts and deployment table",
"url": "https://github.com/erc-8004/erc-8004-contracts"
}
],
"updatedAt": "2026-10-09T08:45:56.633Z",
"indexedThroughBlock": 84024931,
"coverage": {
"summary": "Identities registered in 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 through block 84024931. Registrations after that block are not listed yet.",
"indexedThroughBlock": 84024931,
"partial": false
},
"warnings": [],
"pagination": {
"limit": 1,
"offset": 0,
"total": 8640
}
}