Is this counterparty safe to pay? Screens the address against the OFAC sanctions list, rea
Is this counterparty safe to pay? Screens the address against the OFAC sanctions list, reads its ERC-8004 reputation with coordinated feedback filtered out, and returns an explainable 0-100 trust score with a proceed / hold / block recommendation. Reports insufficient_data rather than guessing when the evidence is not there.
2000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-02
updated
Provider
trust-agent.io · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x6121654D3Fd4C8B42a90d30472E4D40927C3e6BB",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "2000",
"maxTimeoutSeconds": 60
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"chain": "base",
"type": "contract"
},
"type": "http"
},
"output": {
"example": {
"components": "per-rule scoring breakdown; the score is reconstructable from these plus overrides",
"confidence": "0-1, how much evidence backs the score",
"flags": "array of {code, severity, title, detail}",
"overrides": "hard caps applied after weighting, each with from/cap/reason",
"recommendation": "proceed | proceed_with_caution | hold | block | insufficient_data. insufficient_data means no judgment was possible — treat it as unknown, not as risky.",
"riskBand": "minimal | low | moderate | elevated | severe | unknown",
"trustScore": "0-100, higher is safer; null when no rule could be evaluated"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"address": {
"description": "REQUIRED. EVM address, ERC-8004 agentId, or eip155:<chainId>:<registry>/<agentId>.",
"type": "string"
},
"chain": {
"description": "OPTIONAL. Only \"base\" is served; any other value is refused rather than answered from the wrong chain. Defaults to base.",
"type": "string"
},
"type": {
"description": "OPTIONAL. agent | contract | defi_protocol | unregistered_address | unknown.",
"type": "string"
}
},
"required": [
"address"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"components": {
"description": "per-rule scoring breakdown; the score is reconstructable from these plus overrides"
},
"confidence": {
"description": "0-1, how much evidence backs the score"
},
"flags": {
"description": "array of {code, severity, title, detail}"
},
"overrides": {
"description": "hard caps applied after weighting, each with from/cap/reason"
},
"recommendation": {
"description": "proceed | proceed_with_caution | hold | block | insufficient_data. insufficient_data means no judgment was possible — treat it as unknown, not as risky."
},
"riskBand": {
"description": "minimal | low | moderate | elevated | severe | unknown"
},
"trustScore": {
"description": "0-100, higher is safer; null when no rule could be evaluated"
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://trust-agent.io/v1/verify/quick" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://trust-agent.io/v1/verify/quick");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://trust-agent.io/v1/verify/quick")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/5182.json, and this resource appears in /discovery/resources and /discovery/search.