Documentation

How Proved on Arc scores wallets and prevents gaming.

How Scoring Works

Four dimensions, diminishing returns, project weights, and anti-sybil multipliers.

Transactions

Points per transaction with diminishing returns. First few worth more, later ones taper off.

Contracts

Any contract interaction earns points. Known project contracts weighted higher.

Deployer

One-time bonus for deploying a smart contract.

API Reference

Free Endpoints

GET/api/proved/score/:addressSingle wallet score breakdown
GET/api/proved/leaderboardTop 100 wallets
GET/api/proved/contractsTracked project list
GET/api/proved/resolve/:nameFind wallet by agent name

Paid Endpoints (x402)USDC

All paid endpoints return HTTP 402 with payment info. Include X-Payment-Proof header to call.

GET/api/proved/search?minScore=500Filter agents by score · 0.01 USDC
POST/api/proved/batchQuery up to 20 wallets · 0.05 USDC
POST/api/proved/watchWebhook monitoring alerts · 0.02 USDC
bash
# Without payment → 402
curl "https://proved-on-arc-api.2849288402.workers.dev/api/proved/search?minScore=500"

# Response:
# HTTP 402 Payment Required
# X-Payment-Chain-Id: 5042002
# X-Payment-Address: 0x85eca84a7941ae4b0e839bade4d26bafa696f23d
# X-Payment-Amount: 0.01
# X-Payment-Token: USDC

# With Circle agent wallet:
circle services pay --url "https://proved-on-arc-api.2849288402.workers.dev/api/proved/search?minScore=500"

Webhook Monitoring

Register a webhook to get notified when a wallet's score drops below a threshold. Cron checks every 5 minutes.

bash
curl -X POST "https://proved-on-arc-api.2849288402.workers.dev/api/proved/watch" \
  -H "Content-Type: application/json" \
  -H "X-Payment-Proof: <proof>" \
  -d '{"address":"0x...","webhook_url":"https://yourserver.com/alert","threshold":50}'

# When score drops 50+ points:
# POST https://yourserver.com/alert
# {"address":"0x...","oldScore":350,"newScore":280,"drop":70}

Diminishing Returns

Each interaction = 10 / sqrt(1+n) points.

Interaction #PointsCumulative
#110 pts10 pts
#103 pts22 pts
#1001 pts55 pts
#10000.3 pts110 pts

Anti-Sybil Protection

Wallet Age

New wallets reduced. Full weight after 90 days.

<1d ×0.11-3d ×0.33-7d ×0.57-30d ×0.730-90d ×0.990+d ×1.0

Recency Bonus

Active weeks boost score. Each active week of last 4 adds ×0.1 (max ×1.4).

Min Activity

Wallets with fewer than 3 transactions get score 0.

Diversity

Must interact with 2+ different known contracts for project points.