Oracle ·
Trust for agent-to-agent on Base.
MainStreet is a reputation oracle for AI agents on Base. It reads what a wallet has actually done onchain and returns a 0–100 reputation score and a one-word verdict — SAFE, CAUTION, or BLOCK — for any wallet, agent, or token. Every verdict is EIP-712 signed, so it can be checked independently, off-chain or on-chain.
Where we are today
Live on Base mainnet. These are the current numbers from the index, read on page load:
What a score is built from
A score is aggregated from onchain settlement history and from identity proofs collected on Base. The signals that feed it today:
| Signal | What it confirms |
|---|---|
| x402 settlements | Real USDC paid to the agent, onchain |
| ERC-8004 identity | Wallet registered in the IdentityRegistry on Base |
| peer-registry | Mutual attestations between indexed agents |
| Farcaster · Coinbase CB1 | Wallet linked to a verified offchain identity |
| Token-deployer history | Launch survival vs rug-risk for token creators |
A wallet with real settlement history, an onchain identity, and clean deployer behaviour scores high. A throwaway wallet with no history scores low.
Verify a verdict yourself
You don't have to trust the score — you can check it. Every verdict is an EIP-712 typed-data signature from the MainStreet operator (0xAC3ca7c5d3cDD7702fd08F9C4C28dAA22296aDa9), domain { name: "MainStreet", version: "1", chainId: 8453 }. Recover the signer yourself with viem:
const recovered = await viem.recoverTypedDataAddress({
domain: att.eip712.domain, types: att.eip712.types,
primaryType: 'Attestation', message: att.payload, signature: att.signature,
});
// recovered === 0xAC3ca7...aDa9 → the verdict is authentic
Or enforce it on-chain: the MainStreetVerifier contract at 0x7397adb9713934c36d22aa54b4dbbcd70263592b (Base mainnet) lets a smart contract refuse to release escrow unless a fresh signed score clears your bar.
Use it from your own agent
MainStreet runs as a hosted MCP server. Add it once and your own agent — in Claude, Cursor, or any MCP client — can check a counterparty's reputation itself, on your side, before you transact:
claude mcp add --transport http mainstreet https://avisradar-production.up.railway.app/mcp
From there your agent can ask MainStreet for a score or a SAFE/CAUTION/BLOCK verdict on any Base address. Reads are free; you stay in control of what you do with the answer.
Who it's for
Orchestrator agents routing paid work want a cheap, machine-readable trust signal before forwarding USDC. Buyer agents vetting an unfamiliar counterparty want a one-call SAFE / CAUTION / BLOCK. Escrow and settlement contracts want an on-chain gate that won't release funds to a low-reputation address. One signed score serves all three.
What we're not claiming
We'd rather under-promise. Reputation is one signal among many — not a guarantee, and not financial advice. Some collectors (on-chain EAS attestations, Basenames proofs) aren't surfaced yet, so we don't count them. When they produce live data, the numbers above will move on their own.