Skip to main content

1. Get an API key

Sign up at agentscore.sh/dashboard to get your API key. The free tier includes 5,000 calls per month.

2. Look up a wallet

Make a GET request to the reputation endpoint with any EVM wallet address:
curl -H "X-API-Key: your-api-key" \
  https://api.agentscore.sh/v1/reputation/0xdb5aa553feeb2c3e3d03e8360b36fb0f7e480671

3. Read the response

The free tier returns a summary view:
{
  "address": "0xdb5aa553feeb2c3e3d03e8360b36fb0f7e480671",
  "model_version": "v1",
  "computed_at": "2026-03-08T17:20:00Z",
  "data_through": {
    "chain": "base",
    "block": 12345678
  },
  "score": 82.4,
  "grade": "B",
  "preview": {
    "allow_hint": true,
    "grade_hint": "B"
  },
  "highlights": {
    "total_transactions": 142,
    "unique_counterparties": 17,
    "total_volume_usdc": 38.75,
    "last_seen": "2026-03-08T15:42:11Z",
    "tenure_days": 45.2
  },
  "cache": {
    "ttl_seconds": 300
  }
}
Key fields:
  • score — Composite trust score from 0 to 100
  • grade — Letter grade (A/B/C/D/F) for quick evaluation
  • preview.allow_hint — Whether this wallet would pass a default policy

4. Make a trust decision

On paid tiers, pass policy parameters to get an explicit allow/deny decision:
curl -H "X-API-Key: your-api-key" \
  "https://api.agentscore.sh/v1/reputation/0xdb5aa553feeb2c3e3d03e8360b36fb0f7e480671?view=full&min_grade=B&min_transactions=5"
The response includes a decision object:
{
  "decision": {
    "allow": true,
    "reasons": [
      "sufficient_transaction_history",
      "recent_activity",
      "counterparty_diversity_ok"
    ],
    "policy": {
      "min_grade": "B",
      "min_transactions": 5
    }
  }
}

5. Enforce in your application

const rep = await fetch(
  `https://api.agentscore.sh/v1/reputation/${walletAddress}?view=full&min_grade=B&min_transactions=5`,
  { headers: { "X-API-Key": process.env.AGENTSCORE_API_KEY } }
).then((r) => r.json());

if (!rep.decision.allow) {
  return res.status(403).json({
    error: "wallet_not_trusted",
    reasons: rep.decision.reasons,
  });
}

// Proceed with the transaction

Next steps