·  hosted verifier live · key rvk_c2997e90215279c2

Raven doesn't just scan. It issues signed evidence receipts that state their own scope and declare what they miss.

Signed, scope-bounded evidence receipts for agent commerce. Every receipt is derived from decoded on-chain bytes, states exactly which checks ran and which did not, declares its coverage gaps, and is verifiable offline against a signer key you pin yourself. When the evidence can't be established, Raven refuses and issues no receipt — it never guesses. A receipt is evidence, not a decision, and never an authorization to act.

Name a token. We'll return a signed Raven evidence receipt.

ed25519signed, replayable attestations

Three rules most scanners break

Risk scores invite false confidence. Raven publishes findings, not vibes.

Fail closed

If an account can't be fetched, a layout can't be decoded, or an extension isn't recognized, that becomes an explicit finding or coverage gap — never a silent pass. An unreadable token is unknowable, not "probably fine".

Signed & replayable

Every receipt ships with a domain-separated ed25519 signature over a canonical payload hash. Anyone can verify what Raven observed, about which mint, at which slot — offline, forever, against a key they pin themselves. Signature validity, key trust, and freshness stay three separate answers.

Coverage gaps declared

Every receipt lists what was NOT evaluated (coverageGaps) alongside what was. Anything listed there is unverified — silence is never safety. New evidence never silently rewrites history: engine and rules versions are recorded, and changes are segmented from coverage expansion.

Real signed verdicts, live from the verifier

These are unedited responses from the hosted verifier — including the unflattering parts. Note USDC: Raven reports active issuer authorities as risk because that is what the chain says. Honesty about blue chips is what makes the rug calls credible.

Raven verifies on-chain evidence. It does not predict price or guarantee safety.

Why no live demo box? Verification costs RPC budget and a signature. Verdicts are for callers with keys — request access below and run your own.

Verify a verdict yourself

Trust comes from your own pin. Each attestation signs domain || officialAttestationHash where the hash commits to the request, engine version, observed slot, findings and coverage gaps.

Cross-check the served key against your pin: GET https://raven-hosted-verifier.onrender.com/pubkey (discovery/cross-check only) → key id rvk_c2997e90215279c2, domain raven-official-attestation.
Recompute the replay hash from the response fields (canonical JSON; recipe + exact signed-preimage example in the public test vector).
Check replayHash matches, then verify the ed25519 signature over the domain-separated preimage.
Re-run the same request later: same slot evidence → byte-identical findings. That's what deterministic means.

Three ways to call Raven

MCP — for Claude & agent frameworks

One tool: raven_verify_token. Plug into any MCP-capable agent.

npx raven-verify-mcp

Quickstart →

Hosted API — signed verdicts

POST a mint, get a signed deliverable. Server-side RPC; callers never supply infrastructure.

POST /verify
x-api-key: <your key>
{"mintAddress":"...",
 "tokenProgramAddress":"..."}

Alpha — keys by request.

ACP — agent-to-agent commerce

RAVEN is a registered Virtuals ACP provider: escrowed jobs, signed deliverables, on-chain settlement.

offering: solana_verify_token

Publicly validated by the Virtuals ecosystem.

Request access

Alpha keys are issued by hand while we keep the quality bar high. Tell us what you're building and the call volume you expect. Beta holder-concentration evidence (venue-adjusted: pump.fun curve and PumpSwap vaults excluded with on-chain proof) is available per key.