API Documentation

Everything you need to integrate AgentRadar verification into your agent, app, or workflow.

REST API Endpoints

Base URL: https://api.vvpro.ai

GET/healthFREE

Health check. Returns API status and uptime.

curl https://api.vvpro.ai/health
Show response ▾
{
  "status": "ok",
  "uptime": 86400,
  "version": "1.0.0"
}
GET/verify?target=0x...

Full trust verification. Analyzes 6 signals and returns a composite score.

💰 $0.005 via x402 (or free tier: 100/day)

curl "https://api.vvpro.ai/verify?target=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
Show response ▾
{
  "target": "0xd8dA...96045",
  "score": 72,
  "verdict": "TRUSTED",
  "signals": {
    "identity": { "score": 85, "maxScore": 100 },
    "fidelity": { "score": 60, "maxScore": 100 },
    "health": { "score": 90, "maxScore": 100 },
    "reputation": { "score": 55, "maxScore": 100 },
    "scam": { "score": 95, "maxScore": 100 },
    "external": { "score": 45, "maxScore": 100 }
  },
  "riskFlags": []
}
POST/attest

Score the target and write an EAS attestation on Base Sepolia.

💰 $5 via x402

curl -X POST https://api.vvpro.ai/attest \
  -H "Content-Type: application/json" \
  -d '{"target": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}'
Show response ▾
{
  "attestationUid": "0xabc...123",
  "txHash": "0xdef...456",
  "score": 72,
  "verdict": "TRUSTED",
  "explorerUrl": "https://base-sepolia.easscan.org/attestation/view/0xabc...123"
}
GET/score/:addressFREE

Get cached score for an address. Returns last known score without re-running analysis.

curl https://api.vvpro.ai/score/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
Show response ▾
{
  "target": "0xd8dA...96045",
  "score": 72,
  "verdict": "TRUSTED",
  "cached": true,
  "cachedAt": "2026-04-30T12:00:00Z"
}
GET/explain?target=0x...FREE

LLM-generated natural language explanation of the trust score.

curl "https://api.vvpro.ai/explain?target=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
Show response ▾
{
  "target": "0xd8dA...96045",
  "explanation": "This address belongs to a well-known public figure (vitalik.eth) with extensive on-chain history..."
}
GET/badge/:address?style=flat|pill|detailedFREE

SVG trust badge for embedding in READMEs, websites, or dashboards.

curl "https://api.vvpro.ai/badge/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?style=pill"
Show response ▾
<!-- Returns SVG image -->

Trust Scoring Model

Every verification produces a composite score from 0–100 based on 6 independent signals.

SignalWeight
Identity20%
Fidelity20%
Health15%
Reputation20%
Scam Detection15%
External10%

Verdicts: TRUSTED (≥70) · CAUTION (40–69) · RISKY(<40)

MCP Server for Claude & Cursor

Install AgentRadar as an MCP server so your AI assistant can verify agents, check scores, and write attestations directly from your IDE.

Cursor / Claude Desktop Config

json
{
  "mcpServers": {
    "agentradar": {
      "command": "npx",
      "args": ["-y", "@agentradar/mcp"]
    }
  }
}

Available Tools (18)

verify_agentget_scoreexplain_scoreattest_onchaincheck_identitycheck_fidelitycheck_healthcheck_reputationdetect_scamcheck_externalget_badgelist_attestationsget_attestationresolve_enscheck_contractget_risk_flagscompare_agentsbatch_verify

x402 Micropayments

AgentRadar accepts x402 micropayments for premium endpoints. When a request requires payment, the API returns HTTP 402 with payment instructions.

How x402 Works

  1. Client calls a paid endpoint (e.g., /verify)
  2. Server returns 402 Payment Required with a payment header
  3. Client completes USDC payment on Base via the x402 facilitator
  4. Client retries the request with the payment receipt in the header
  5. Server validates payment and returns the result

Pricing

GET /verify$0.005 USDC
POST /attest$5.00 USDC
Free tier100 req/day

Using with the x402 SDK

typescript
import { wrapFetchWithPayments } from "@anthropic/x402-fetch";

const paidFetch = wrapFetchWithPayments(fetch, wallet);

const res = await paidFetch(
  "https://api.vvpro.ai/verify?target=0xd8dA...96045"
);
const data = await res.json();
console.log(data.score); // 72

Operator Key Authentication

Partners and high-volume users can request an operator key for unlimited API access without x402 payments.

bash
curl -H "X-Operator-Key: your-key-here" \
  "https://api.vvpro.ai/verify?target=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"

Request an operator key at console.vvpro.ai or email hello@vvpro.ai.

Code Examples

TypeScript — Verify an Agent

typescript
const API = "https://api.vvpro.ai";

async function verifyAgent(address: string) {
  const res = await fetch(
    `${API}/verify?target=${address}`
  );

  if (res.status === 402) {
    console.log("Payment required — use x402 or wait for free tier reset");
    return null;
  }

  const data = await res.json();
  console.log(`Score: ${data.score}/100 — ${data.verdict}`);

  for (const [signal, info] of Object.entries(data.signals)) {
    console.log(`  ${signal}: ${info.score}/${info.maxScore}`);
  }

  return data;
}

await verifyAgent("0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045");

TypeScript — Write Attestation

typescript
async function attestAgent(address: string) {
  const res = await paidFetch(`${API}/attest`, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ target: address }),
  });

  const data = await res.json();
  console.log(`Attestation: ${data.attestationUid}`);
  console.log(`TX: ${data.txHash}`);
  console.log(`View: ${data.explorerUrl}`);

  return data;
}

Embed Trust Badge

html
<!-- Add to your README or website -->
<img
  src="https://api.vvpro.ai/badge/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?style=pill"
  alt="AgentRadar Trust Score"
/>