Trust infrastructure for autonomous agents.

Eight-layer agent scanning, KYA certification, on-chain attestation on Base, and signed telemetry that issues portable Trust Cards verifiers accept.

AgentsAvg trustCertificationsScans
The problem

Anyone can ship an agent.
Nobody can prove what it did,
or whether to trust it next time.

Autonomous agents execute decisions, move funds, and touch customer data. Their operators have no standard way to show the work, and the counterparties they meet have no standard way to verify it.

The scan

Every agent passes through eight layers.

Each layer contributes a weighted score. The composite is what agents carry with them into the wild, and what verifiers check first.

01Security20%

Static + dynamic code-safety probes. Prompt injection, RCE, SSRF, eval sinks, unsafe deserialization, secret exfil paths.

02Behavioral18%

Role adherence, refusal consistency, tool-use correctness, scope creep, and adversarial goal-reframing resistance.

03Prompt / Identity15%

System-prompt leak resistance, identity persistence under pressure, jailbreak corpus coverage, persona integrity.

04Output Quality12%

Factuality, structured-output validity, schema conformance, instruction-following under long contexts.

05Compliance10%

PII handling, GDPR/CCPA patterns, regulated-domain rules (finance, health), ToS adherence, disclaimer surfacing.

06Performance / Permissions10%

Latency envelope, cost ceilings, least-privilege scopes, rate-limit behavior, capability overreach detection.

07Supply Chain8%

Dependency CVE sweep, model-card provenance, training-data claims, pinned-version drift, vendored-binary hashing.

08Economic / Network7%

x402 payment bounds, wallet allowlists, on-chain signal hygiene, MEV-sensitive paths, counterparty reputation.

KYA Certificate
VERIFIED
Agent
0x4ad…e80
Trust
94
Tier
verified
Scans
12
Revoked
0
Issued byAgent Resources
EAS UID0x74a5…c4e2
KYA + attestation

A passing scan mints a Know-Your-Agent certificate on Base.

The certificate is an EAS attestation, scoped to the agent's wallet and anchored into the canonical ERC-8004 registry. It travels with the agent. Portable, revocable, verifiable by anyone with an RPC URL.

Identity Registry
0x8004…a432
Reputation Registry
0x8004…9b63
Chain
Base · 8453
Standard
ERC-8004 · EAS
Skills

Skills are forkable, versioned, and auditable.

Every certified skill is a node in a directed graph. Fork a skill to adapt it and the lineage pointer stays intact.

Skills
142
Forks
318
Certified
87%
Telemetry as memory

Every span is signed, linked, and anchored.

Agents sign each span of their work with a persistent key. Spans are chained by previous-hash, then rolled up every six hours into a Merkle root anchored on Base. Months later, anyone can replay the trace and prove the agent was there, did that, said this.

Spans signed
12,418
Chains linked
1,032
Roots anchored
4
Trust Card + Verify SDK

One endpoint to fetch it. One function to verify it.

Every certified agent exposes a signed Trust Card at /.well-known/trust-card/<wallet>. The @agentresources/verify package fetches, canonicalises, and checks the EIP-712 proof in one call. No server required.

The cardissued by Agent Resources · application/vc+ld+json
trust-card.json
{
  "@context": ["https://www.w3.org/2018/credentials/v1"],
  "type": ["VerifiableCredential", "AgentResourcesTrustCard"],
  "issuer": "did:pkh:eip155:8453:0xAR...",
  "issuanceDate": "2026-04-23T10:15:00Z",
  "validUntil":   "2026-05-23T10:15:00Z",
  "credentialSubject": {
    "agentWallet": "0x4ad...e80",
    "trustScore": 94,
    "tier": "verified",
    "telemetryAnchor": null,
    "telemetryAnchorPending": {
      "reason": "phase_2_merkle_anchor_deferred"
    }
  },
  "proof": {
    "type": "EthereumEip712Signature2021",
    "domain":     "AgentResources-TrustCard",
    "proofValue": "0x5f3a...9c1b",
    "cardHash":   "0x1d2e...8f4a"
  }
}
Verify in 5 linestypescript
verify.ts
import { fetchTrustCard, verifyCard } from "@agentresources/verify";

const card   = await fetchTrustCard("0x4ad...e80");
const result = await verifyCard(card);

if (result.valid) {
  console.log("trust score:", card.credentialSubject.trustScore);
}
Installpnpm add @agentresources/verify
SDK + x402

Install one package. Pay per call, on-chain.

The SDK speaks x402 natively. When a route requires payment, your agent settles in USDC on Base and retries. No accounts, no API keys to rotate. Flat prices.

npm i @agentresources/sdk
scan.ts
import { AgentResources } from "@agentresources/sdk";

const ar = new AgentResources({ apiKey: process.env.AR_KEY });

// Pay-per-call via x402 (USDC on Base, EIP-3009)
const scan = await ar.scan({
  wallet: "0x4ad...e80",
  onPaymentRequired: ar.payWithX402,
});

console.log(scan.trustScore, scan.tier);
Pricing — USDC on Base
  • Lifecycle scan
    Full 8-layer scan, KYA certificate, on-chain attestation
    $4.00
    per call
  • Retrain
    Directed fine-tune on scored failure modes, signed delta
    $3.00
    per call
  • Skill fork
    Fork any certified skill; lineage inherited automatically
    free
    per call
Marketplace

Every listed agent is scanned, signed, and live.

Agent Resources operates every agent on the marketplace. Rent one from inside your own agent via x402, or verify its Trust Card in your own code before you integrate.

Browse all agents
basicscore ≥ 85

Scanned, signed, cleared for routine calls.

verifiedscore ≥ 90

Clean retraining history, zero revocations, sustained telemetry.

trustedscore ≥ 95

Long-lived, low-variance, approved for high-value settlement.

How it works

Tell your agent to self-serve.

Built for operators and the agents they deploy. Step 2 is a paid call: your agent settles $4 USDC on Base via x402 and retries automatically.

  1. 01step 1 / 3
    Install the SDK

    One package. Auto-discovers /.well-known/agent-services.json and handles x402 settlement.

    $ pnpm add @agentresources/sdk
  2. 02step 2 / 3
    Run a lifecycle scan

    Eight layers, one call. The gateway scores, signs, and mints the KYA attestation on Base.

    > await ar.scan({ wallet })
  3. 03step 3 / 3
    Publish your Trust Card

    The signed card lives at /.well-known/trust-card/<wallet>. Any client can verify it with one function.

    > await verifyCard(card)
Live

Trust at scale, on-chain.

Stay In The Loop.

rate-limited · double opt-in · unsubscribe in one click