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

RouteWhatPrice
GET /v1/wallet/:address?chain=base|solanaWallet 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|solana
or ?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

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.