TrustAgent
GET trust-agent.io/v1/registry/agents
Why an agent can trust this route.
Sonar evidence is advisory. Paid delivery is shown as verified only when paid probes are available; otherwise route estimates use the unpaid handshake as a clearly labeled proxy.
Observed outcomes
ERC-8004 agent directory filtered to what is live: registrations classified by a continuous census of the Base registry, filterable by quality (for example a valid file with a declared service) and by x402 support. Each row has the agent id, owner, payout wallet, what it declares (name, endpoint, skills) and a funding cluster shared with agents paid for from the same account. 100 per page. Free: GET /v1/registry. Trial: /v1/trial.
Resource: trust-agent.io/v1/registry/agents
Network: eip155:8453 · Asset: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 · Pay to: 0x6121654D3Fd4C8B42a90d30472E4D40927C3e6BB
Payment methods: — · Last validation: 2026-10-15 11:56:45.739+00
{
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"type": "object",
"properties": {
"chain": {
"type": "string",
"description": "OPTIONAL. Only \"base\" is served. Defaults to base."
},
"cursor": {
"type": "string",
"description": "OPTIONAL. nextCursor from the previous page. Omit for the first page."
},
"quality": {
"type": "string",
"description": "OPTIONAL. valid_with_service | valid_no_service | non_compliant | uri_unresolvable | no_uri."
},
"acceptsX402": {
"type": "string",
"description": "OPTIONAL. true to return only agents whose registration file declares x402."
}
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"properties": {
"count": {
"description": "agents on this page"
},
"agents": {
"description": "array of {agentId, identifier, quality, acceptsX402, payoutWallet, checkedAt, owner, registeredAt}"
},
"degraded": {
"description": "true when the census cannot currently refresh classifications — the page may omit live agents and include stale ones"
},
"nextCursor": {
"description": "pass back as `cursor` for the next page; null when the registry is exhausted"
}
}
}
}
},
"paymentRequirements": [
{
"raw": {
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0x6121654D3Fd4C8B42a90d30472E4D40927C3e6BB",
"amount": "10001",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 60
},
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0x6121654D3Fd4C8B42a90d30472E4D40927C3e6BB",
"scheme": "exact",
"network": "eip155:8453",
"amountAtomic": "10001"
}
]
}Source catalog records are retained separately from live endpoint observations. Sonar score, uptime, and latency are advisory metrics. CDP indexing is not inferred from validation.