agent-trust-score v0.1.0
A pay-per-call API that autonomous agents call before paying an unknown x402 service or sending funds to an unknown wallet. No signup: the paywall is x402 (HTTP 402), settled in USDC on Base or Solana.
Endpoints
| Route | What | Price |
|---|---|---|
GET /v1/wallet/:address?chain=base|solana | Wallet risk: OFAC SDN, scam/drainer lists, on-chain heuristics (age, funding source, mixer exposure, 1-hop exposure). | 0.02 USDC |
GET /v1/service?payTo=<addr>&chain=base|solanaor ?url=<x402 endpoint> | x402 service reputation: settlement history, longevity, consistency, operator wallet risk, optional liveness. | 0.03 USDC |
Free allowance: 50 calls/day per IP, then 402. Free routes: /v1/health, /openapi.json, /.well-known/mcp.json.
Example
# free-allowance call (or after paying) curl -s "https://trust.dropoutdeveloper.in/v1/wallet/0x1111111111111111111111111111111111111111?chain=base"
{
"address": "0x1111111111111111111111111111111111111111",
"chain": "base",
"score": 12,
"band": "clear",
"reasons": [
{
"code": "base",
"detail": "Neutral starting risk.",
"weight": 10
},
{
"code": "established",
"detail": "Established address: 540d old, 1200 txs.",
"weight": -15
},
{
"code": "active_with_balance",
"detail": "Holds a non-zero balance and has transaction history.",
"weight": -6
}
],
"sources": {
"ofac": "2026-09-10",
"scam": "2026-09-11T03:37:00.000Z",
"onchain": "2026-09-11T09:00:00.000Z"
},
"cached": false
}
The 402 response
When the free allowance is used up, paid routes return 402 with a two-network accepts array. The agent picks Base or Solana, pays, and retries with an X-PAYMENT header.
{
"x402Version": 1,
"error": "payment required: free allowance exhausted for today",
"accepts": [
{
"scheme": "exact",
"network": "eip155:8453",
"maxAmountRequired": "20000",
"resource": "https://trust.dropoutdeveloper.in/v1/wallet/0xADDR",
"description": "agent-trust-score wallet risk check",
"mimeType": "application/json",
"payTo": "0xD3bAfEF3B6b1801EAe9D1fbA97DC9d6145162331",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"maxTimeoutSeconds": 120,
"extra": {
"name": "USD Coin",
"version": "2"
}
},
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxAmountRequired": "20000",
"resource": "https://trust.dropoutdeveloper.in/v1/wallet/0xADDR",
"description": "agent-trust-score wallet risk check",
"mimeType": "application/json",
"payTo": "FHKJS8iMShgDvQkkSeRbYzhdci1H5vjmGwiAKNPzWvBB",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"maxTimeoutSeconds": 120,
"extra": {
"feePayer": "payer"
}
}
]
}
Bands
clear- score < 35caution- score 35-69high_risk- score ≥ 70 (OFAC SDN match is pinned to 100)
MCP
Same scoring is exposed as an MCP server (stdio) with tools check_wallet and check_service. Manifest: /.well-known/mcp.json. OpenAPI: /openapi.json.
Data sources (OFAC SDN, community scam lists, chain RPC/explorer, x402 settlement index) are best-effort and operator-configurable. This is a risk signal, not financial advice or a guarantee.