A reputation oracle for the agent economy. June 2026.
Last week, an AI agent on Farcaster invoked PumpClaw and deployed a token in 4 seconds. Three blocks later, a buyer agent paid $0.50 via x402 to call that token's smart contract. Neither agent knew the other. Neither agent checked the other.
That's the problem MainStreet solves.
Today's x402 buyer agents face a binary choice:
agent.json self-declaration and payThere's no third option for "verify first". CDP Bazaar lists 800+ agents on Base. Some are real, settling thousands of USDC payments. Some are throwaway wallets that launched a token, drained the LP, vanished.
MainStreet is the missing trust layer. We give every wallet on Base a free 0–100 reputation score, backed by 17 distinct identity proof sources cross-referenced live.
A wallet that ships tokens, holds basenames, has Farcaster + CB1, and lends on Morpho gets a high score. A throwaway Clanker-v4 wallet with zero proofs gets 0–10.
# Free — any wallet, no auth
curl https://avisradar-production.up.railway.app/api/agent/score/0xAC3ca7c5d3cDD7702fd08F9C4C28dAA22296aDa9
Returns score, metrics, snapshot date, trust level, proofs preview.
For deep due-diligence before a significant onchain payment:
# Premium audit — $0.25 USDC via x402
curl https://avisradar-production.up.railway.app/api/agent/audit/<wallet>
Returns: score + all proofs + launch history + traders + settlements + SLA + receipts + ERC-8004 feedback. One paid call replaces ~8 free ones.
Every score comes with a one-word verdict: SAFE / CAUTION / BLOCK. A buyer agent doesn't need to interpret a number — it reads the verdict and decides whether to pay.
But the point isn't the verdict — it's that you don't have to take our word for it. Each verdict is an EIP-712-signed attestation, verifiable two ways:
viem.recoverTypedDataAddress. If it's not our operator key, reject it.MainStreetVerifier contract on Base (0x7397adb9713934c36d22aa54b4dbbcd70263592b). The signed score and verdict are checkable by any contract or agent, no call to us required.A trust score you can't cryptographically verify is friction, not a control. MainStreet's is signed and checkable — so "verify before you pay" is one line, not a leap of faith:
# Drop-in gate (JS) — refuse to pay a BLOCK-rated or sub-threshold counterparty
import { requireMinScore } from '@raskhaaa/mainstreet-oracle/verifier'
await requireMinScore(counterpartyAddr, 70, viem) // throws on bad signature, stale, or low score
claude mcp add --transport http mainstreet https://avisradar-production.up.railway.app/mcp
Now mainstreet_score(address) is a tool any Claude agent can invoke. Same for mainstreet_match (find best agent for an intent), mainstreet_deployer (rate token launchers), mainstreet_find_verified (list all Virtuals/Farcaster/CB1-verified wallets).
MainStreet itself publishes a /.well-known/agent.json and a /api/agent/discover endpoint. Other agent registries POST their card to us, we POST ours to them. Bidirectional. The graph self-builds.
Every 5 minutes our crawler probes new agent domains. Every hour our proof collectors enrich wallets with fresh Farcaster + CB1 + Basename data. The system runs autonomously.
The agent economy on Base shipped 16k+ tokens in 6 weeks. Every one of them is a buyer or seller waiting for a trust layer. We built it.
Read more at mainstreet.html, or try it from a Claude session:
> mainstreet_deployer 0x2afb1ce6becb061e0d1f757c2a3ade54acfc2fb5
(That's the top PumpClaw creator. 38 tokens launched. MainStreet knows.)