ChainWard Attest EAS on Base

Check a counterparty before you pay it.

Agents on Base pay each other now — x402, ACP, plain transfers. ChainWard reads the chain and files a public risk report for any address. ChainWard Attest puts that report on Base itself as an EAS attestation, so any agent, contract, or indexer can read what the chain shows about a counterparty, and verify it, without trusting our website.

open source · MITfree to readnever a safety verdict

What goes on-chain

One attestation per report. The caveat travels with it.

The recipient is the address that was checked. Each new report points back to the previous one, so the history is on-chain too.

band
low-signal · mixed · elevated · high-signal. A count of what surfaced, never a rating.
flagIds
Stable ids of every flag raised (dormant_wallet, stranded_value, …).
high / medium / low / infoCount
Flags by severity, so a contract can branch without parsing strings.
asOfBlock
The Base block the report was read at.
reportURI
The human-readable report on chainward.ai.
reportHash
keccak256 of the canonical report JSON — evidence and the not-assessed list included.
scope
"On-chain behavior only. Absence of flags is not a clearance. Not a safety verdict."

Trust

The schema is public. Check the attester.

Anyone can attest with a public EAS schema. Only attestations signed by ChainWard's attester are ChainWard's.

Attester0x5edc6276B89CC185aC8D6A7eCfdE076e1ACf50DF
Schema UID0x09573690adba41164227b57600aa02061b0ce79dc0655e4c8b36bfe95bb41552
EAS contract0x4200000000000000000000000000000000000021

Reading it

Four ways in.

API
GET api.chainward.ai/api/risk/attestation/<address> — uid, tx, explorer link, and the exact canonical JSON to recompute the hash.
EAS
base.easscan.org or its GraphQL — filter by the schema UID, the recipient, and ChainWard’s attester.
MCP
check_counterparty in chainward-mcp-server (next npm release) — for assistants and agents that speak MCP.
Example agent
examples/check-counterparty.ts — finds the attestation, re-reads it from the EAS contract, verifies the hash, applies a payment policy.
$ git clone https://github.com/saltxd/chainward
$ npx tsx chainward/examples/check-counterparty.ts 0x…

ChainWard on 0x… (as of block 51,799,275):
  band high-signal · flags dormant_wallet, stranded_value · high 1 / medium 1 / …
  report https://chainward.ai/report/0x… · hash verified
Policy: high-severity flag on record → hold the payment for review.

Full schema, verification steps, and what does and doesn't get attested: docs/ATTEST.md.


Start here

Every free check becomes an attestation.

The attester is launching now. Run a check on any Base address: if the report says something, it is attested on Base as soon as the attester is live.

Run a free risk check →