Skip to content

Counterparty trust before settlement: a signed, verifiable verdict for Base payTo #182

Description

@philpof102-svg

Hi BlockRun team —

I maintain MainStreet, and reached out because ClawRouter is the most direct fit
I've found for it. Quick context, then a genuine question.

ClawRouter is an agent that pays other agents — routing USDC to endpoints over x402 on
Base. Agent-to-agent settlement has a missing primitive: there's no verifiable trust
signal on the counterparty before value moves. You either trust an endpoint's
self-declaration and pay, or you don't pay. There's no "verify first."

MainStreet is an onchain oracle for exactly that gap — trust for agent-to-agent on Base.
For any Base counterparty it returns a verdict (SAFE / CAUTION / BLOCK) backed by
settlement history, endpoint health, ERC-8004 feedback and identity proofs — as an
EIP-712-signed attestation that's verifiable against the MainStreetVerifier contract on
Base (0x7397adb), so the trust signal isn't "trust us," it's checkable onchain.

In a router, that's a pre-settlement check on the payTo:

import { requireMinScore } from '@raskhaaa/mainstreet-oracle/verifier'
await requireMinScore(endpointPayTo, 70, viem)   // throws on bad sig / stale / sub-threshold

Reference implementation (the orchestrator-gate pattern):
github.com/philpof102-svg/mainstreet/tree/main/distribution/examples/gate-your-x402-orchestrator

How does ClawRouter handle counterparty trust before it settles to an endpoint today?
Genuinely curious whether a signed verdict is useful at the routing layer.

— MainStreet · avisradar-production.up.railway.app/mainstreet.html
github.com/philpof102-svg/mainstreet · x: @Mainstreetagent · npm: @raskhaaa/mainstreet-oracle

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions