{"service":"TrustAgent","version":"0.1.0","description":"A judgment engine over ERC-8004. Reads the Identity and Reputation registries, filters coordinated feedback, and returns an explainable verdict on whether a counterparty is safe to transact with — before you pay one, or before you accept payment from one.","protocol":{"payments":"x402","version":1,"network":"base","identity":"ERC-8004"},"erc8004":{"identityRegistry":"0x8004A169FB4a3325136EB29fA0ceB6D2e539a432","reputationRegistry":"0x8004BAa17C55a88189AE136b182e5fdA19dE9b63","validationRegistry":null,"validationRegistryAvailable":false,"chainId":8453,"role":"reader","note":"TrustAgent reads the registries and publishes judgment. It does not write feedback, so it cannot inflate the dataset it scores."},"chain":{"name":"base","id":8453,"dataSource":"alchemy"},"endpoints":{"free":[{"method":"GET","path":"/v1/verify","description":"Coarse risk band plus an OFAC sanctions-list check. A hit is a screening signal, not legal clearance."},{"method":"GET","path":"/v1/agents/:subject","description":"Resolve an ERC-8004 identity (agentId, address, or eip155 identifier) and its liveness classification."},{"method":"GET","path":"/v1/agents?owner=0x…","description":"Every ERC-8004 agent an address currently controls. Answers who is behind a counterparty, and shows concentration a per-agent score cannot."},{"method":"GET","path":"/v1/provenance?address=0x…","description":"Whether an address’s funding is traceable and how many hops deep, without the funder addresses."},{"method":"GET","path":"/v1/watch?since=…","description":"How many sanctions designations and delistings have happened since a timestamp."},{"method":"GET","path":"/v1/registry","description":"State of the ERC-8004 registry: how many agents are registered, how many are actually alive, how many accept x402 — and 25 of those live agents named, free."},{"method":"GET","path":"/v1/search?skill=…","description":"Search live ERC-8004 agents by declared skill, domain or name. Without a predicate, lists the searchable vocabulary."},{"method":"GET","path":"/v1/endpoint","description":"Screen an x402 endpoint by URL: resolves the payout wallet it advertises and checks it against the sanctions list."},{"method":"GET","path":"/v1/pricing","description":"Machine-readable price list."},{"method":"GET","path":"/v1/model","description":"Scoring model documentation."},{"method":"GET","path":"/v1/trial","description":"Free-trial allowance: how to claim and how much remains."},{"method":"POST","path":"/v1/trial/claim","description":"Claim the free-trial allowance with one signature; returns a bearer token to send as X-Trial-Token on paid endpoints."},{"method":"GET","path":"/v1/stats","description":"Usage and settled-revenue counters."},{"method":"GET","path":"/health/live","description":"Liveness probe — no dependencies."},{"method":"GET","path":"/health/ready","description":"Readiness probe — store reachability."}],"paid":[{"method":"GET","path":"/v1/search/agents","price":"$0.005001","description":"Which live agents can do X — and which of them are safe? Searches what ERC-8004 agents DECLARE about themselves — skills, domains, name — across the registrations this service fetches on a rolling sweep, and returns only the ones actually answering. Each row carries the service endpoint to call, the wallet a payment would go to, and the risk band and sanctions verdict for that wallet, so choosing between candidates takes one call instead of a screening per row. Around a third of registrations on Base are live at all — GET /v1/registry publishes the current split, free, so this number can be checked rather than taken; the alternative is fetching eighty thousand files yourself."},{"method":"GET","path":"/v1/endpoint/screen","price":"$0.005","description":"Is this x402 endpoint safe to pay? Reads the endpoint's own payment challenge under BOTH protocol versions — v1 body and v2 PAYMENT-REQUIRED header, so a live v2-only service is not reported as dead — extracts the payout wallet it advertises, and screens that wallet: OFAC sanctions, sybil-filtered ERC-8004 reputation, on-chain behaviour. Flags an endpoint that names different recipients under the two versions. Scores the wallet, not the service behind it, and says so."},{"method":"GET","path":"/v1/verify/quick","price":"$0.002","description":"Is this counterparty safe to transact with — to pay, or to accept payment from? Screens the address against the OFAC sanctions list, then SYBIL-FILTERS its ERC-8004 reputation: reviewers are clustered by first funding source and capped at one vote per cluster, so manufactured feedback from wallets funded out of one purse counts once. Returns an explainable 0-100 trust score with a proceed / hold / block recommendation, and reports insufficient_data rather than guessing when the evidence is not there."},{"method":"GET","path":"/v1/verify/deep","price":"$0.01","description":"Should you approve this contract? Everything in quick, plus static analysis of the bytecode: privileged functions (mint, pause, blacklist, arbitrary withdrawal), proxy and upgradeability detection, dangerous opcodes, DeFi protocol classification and source-verification status."},{"method":"GET","path":"/v1/reputation","price":"$0.002001","description":"What is this agent's reputation actually worth? 92.6% of ERC-8004 feedback on Base is coordinated. This clusters reviewers by funding provenance and caps each cluster at one effective vote, returns every record with its evidence class and flag reasons, and refuses to average ratings that use incompatible scales."},{"method":"GET","path":"/v1/watch/addresses","price":"$0.002002","description":"Has anything changed about counterparties you already screened? Re-checks a list of addresses against OFAC designations and delistings since a timestamp you supply, so a verdict you acted on last month does not go quietly stale. Stateless: no watchlist is stored and nothing is sent to you — pass the returned checkedAt back as `since`."},{"method":"GET","path":"/v1/watch/feed","price":"$0.002003","description":"Has the sanctions feed moved since you last looked? Every OFAC designation and delisting since a timestamp you supply, with no address list to send — match the feed against your own counterparty book locally, so the service never learns which addresses are yours. The trivial cron: poll this, pass the returned checkedAt back as `since`."},{"method":"GET","path":"/v1/provenance/chain","price":"$0.010002","description":"Where did this address get its money? Walks the funding chain upward and returns the account that ultimately paid for the wallet, plus a cluster id. Two addresses funded from the same account are not independent parties, however new and unremarkable each looks alone — the strongest cheap signal there is that an identity was manufactured. Works on any address, not only registered agents."},{"method":"GET","path":"/v1/registry/agents","price":"$0.010001","description":"The filtered ERC-8004 directory: which registered agents are actually alive, and which accept x402. Around a third of registrations on Base carry both a compliant registration file and a declared service, and roughly one in twelve of those declares x402 — this returns them, rather than making you screen eighty thousand addresses one at a time to find them. GET /v1/registry publishes the current split, free. 100 agents per page."},{"method":"POST","path":"/v1/verify/batch","price":"$0.010003","description":"Screen up to 10 addresses in one call: OFAC sanctions check, trust score, risk band and recommendation for each. For vetting a counterparty set before a run of payments, maintaining an allowlist, or auditing wallets you already pay."}]},"trial":{"callsPerWallet":3,"windowHours":24,"howTo":"https://trust-agent.io/v1/trial"},"modelVersion":"2.0.0","agentCard":"https://trust-agent.io/.well-known/agent.json","docs":"https://trust-agent.io/v1/model"}