82trust / 100
Reputation
by ERC-8004 Agent Reputation in Security & trust
x402 APIPassing, checked 56 min ago
ERC-8004 agent reputation with sybil filtering: reviewers are clustered by who funded them and each cluster counts once, so reviewers paid for from one wallet count as one vote. Returns feedback and reviewer counts, independent clusters, the sybil-flagged share, counts by evidence class (payment proof, task link, none) and per-tag means, and refuses to average tags with conflicting scales. Base. Free: GET /v1/verify. Trial: /v1/trial.
GET https://trust-agent.io/v1/reputation
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 100%
- Response time
- 298 ms typical, 475 ms slowest 5%
- Last check
- 56 min ago
- Next check
- any minute now
How to call it
# See the payment challenge (nothing is charged)
curl -i -X GET "https://trust-agent.io/v1/reputation?chain=base&subject=60015"import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client().register(
"eip155:8453",
new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Ftrust-agent.io%2Fv1%2Freputation
const res = await pay("https://trust-agent.io/v1/reputation?chain=base&subject=60015");
console.log(await res.json());Example input
{
"chain": "base",
"subject": "60015"
}Example output
{
"agent": "eip155:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432/1",
"example": true,
"interpretation": {
"summary": "Feedback survives filtering from 2 independent funding cluster(s). 3 reviewer(s) had unresolvable provenance and share a single collective vote rather than counting individually."
},
"quality": "valid_with_service",
"reputation": {
"evidenceBreakdown": {
"none": 17,
"payment_proof": 6,
"task_linkage": 0
},
"feedbackCoverage": "complete",
"sybilFlaggedCount": 9,
"sybilShare": 0.3913,
"tags": [
{
"count": 10,
"countAfterFilter": 5,
"incommensurable": false,
"normalizedMean": 0.7324,
"scale": "percent_0_100",
"tag": "quality"
},
{
"count": 4,
"countAfterFilter": 4,
"incommensurable": true,
"normalizedMean": null,
"scale": "inconsistent",
"tag": "mixed-scale"
}
],
"totalFeedback": 24,
"uniqueClients": 7,
"uniqueClusters": 2,
"unverifiedReviewers": 3
}
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 56 min ago | Passed | 402 | 476 ms | $0.002 |
| 4 h ago | Passed | 402 | 438 ms | $0.002 |
| 9 h ago | Passed | 402 | 153 ms | $0.002 |
| 11 h ago | Passed | 402 | 298 ms | $0.002 |
| 15 h ago | Passed | 402 | 240 ms | $0.002 |
| 20 h ago | Passed | 402 | 475 ms | $0.002 |