An identity and a mandate going in. A recomputable record coming out — verify it yourself, or hand it to a partner, a bank, or an auditor.
Email only, no card — 100 credits on registration. 🇨🇳 中文文档
One call: a W3C identity, a signed credential, an on-chain anchor. Add an AAE mandate — what the agent may do, up to which limit.
Every action becomes a MoltProof — hashed, batched, anchored on Base L2. Recomputable by anyone, later.
Check a credential offline against Base L2, no key. Hand a recomputable proof to a partner, a bank, or an auditor.
Three steps, three copy-paste blocks, ending in a real signed verdict. Every path below is verified live against the MolTrust API v1.
Email only, no card. Returns a key with 100 credits.
Costs no credits. Returns a full signed AgentTrustCredential + 100 credits. Trust score is withheld until the agent has ≥3 endorsements.
Public, no key. This returns a real signed score payload from the network.
One line of trust verification, any framework. Pick yours — install, then read the setup guide.
Verify agents at your API with @moltrust/sdk middleware.
Trust check before every tool call — one guardrail.
Middleware for create_agent — gate by trust score.
Request interceptor for A2A remote agents.
Same IPR evidence — anchored or attested. The attested path needs no chain access.
44 tools for trust verification, scoring & credentials.
Trust verification before every tool call — one line. Read the walkthrough →
Benefit first. Pick by what you're building — each is an independent install.
Use it when you want to gate agents at your API — Express / Hono / Fastify: verify(), register(). Pulls in @moltrust/aae.
Use it when you want to verify credentials offline — W3C VC + IPR against Base L2. No MolTrust API key.
Use them when you want to gate paid endpoints — x402 payments, or MPP (Stripe / Tempo / Visa). Same requireScore() shape.
Use it when you want to author or validate an AAE — schema + runtime validator. Already pulled in by the SDK.
Use it when you want to react when trust changes post-onboarding — CAEP Profile v1 event-reactive layer.
Use them for an agent runtime (OpenClaw plugin) or an MCP client (Claude, etc., PyPI).
@moltrust/verify and @moltrust/agent-firewall are standalone consumer libraries — no MolTrust API key. @moltrust/sdk declares @moltrust/aae as a dependency, so installing the SDK pulls AAE in automatically.
One line gates a paid endpoint by trust score. Same requireScore() API for both @moltrust/x402 (x402 payments) and @moltrust/mpp (MPP — Stripe / Tempo / Visa). Untrusted agents get a 403 before they transact.
1. ExtractWallet from the x402 / MPP payment header.
2. ScoreMolTrust trust score (5-min cache, <10ms warm).
3. Gate403 + registration link if below threshold.
Every x402 wallet also gets an automatic Wallet Trust Profile (shadow score, history, projected score after registration): GET https://api.moltrust.ch/wallet/{address} · public page /wallet/{address}.
Same identity, same mandate, same MoltProof. What differs is where the proof lives — and how strong the claim is.
Every record is anchored on the public chain and recomputable by anyone, for years. The proof stands on the chain — no trust in us required. Default for global on-chain agents.
No blockchain, no VPN — for regulated markets (China, India) and OpenClaw deployments without chain access. Records are verifiable against MolTrust's signed log, not recomputable from the public chain; you're trusting our signature. It is the weaker guarantee — use it where the chain isn't reachable.
Not needed to start. Open a topic when you want it.
null, not 0A freshly registered agent does not start at a fixed grade. Until it has at least three endorsements, its score is withheld — GET /skill/trust-score/{did} reports it as null, not 0. That is the expected starting state, not an error. Grades run S / A / B / C / D / F over a 0–100 score.
AAE is configured via POST /delegation/configure after registration — a machine-readable permission contract your API can inspect. The credential from /identity/register does not embed it.
Protocol Whitepaper v0.8 → · did:moltrust Method Specification →
Under the hood, a MoltProof is an Interaction Proof Record (IPR). Every agent action can produce one — IPRs are Merkle-batched and anchored on Base L2.
POST /vc/ipr/submitSubmit an IPR. Provide output_hash (SHA-256), agent_did, and confidence score. Returns ipr_id.
GET /vc/ipr/{ipr_id}Retrieve an IPR by ID. Returns output_hash, anchor status, Merkle proof, and Base L2 transaction hash.
POST /vc/ipr/verifyVerify an IPR: checks signature, on-chain anchor, and Merkle proof. Returns validity + anchor TX link.
GET /vc/ipr/agent/{did}List all IPRs for an agent. Paginated. Returns proof records with anchor status and Merkle proofs.
GET /vc/ipr/statsNetwork-wide IPR statistics: total records, anchored count, unique agents, average confidence score.
GET /vc/ipr/{ipr_id}/statusAnchor status of a specific IPR: pending, anchored, or failed. Includes retry count and block number.
Pre-execution safety check for order-sensitive action sequences. Opt-in, deterministic, no LLM calls. Phase 1: WARN-only.
POST /guard/api/action/checkCheck a proposed action against the session history. Returns verdict (SAFE/WARN/BLOCK), residual score, and conflicting action.
GET /guard/api/action/statsAggregated SAS statistics: total events, breakdown by verdict, average residual.
GET /guard/api/action/events/{did}SAS events for a specific DID. Shows all WARN/BLOCK events with residual scores and conflicting actions.
MolTrust supports a third enforcement layer via Falco eBPF — syscall-level monitoring that agents cannot bypass from userspace.
Layer 1 — CryptographicEd25519 signatures, JCS canonicalization. Tamper-proof by construction.
Layer 2 — APITrust score degradation, IPR submission, credential revocation.
Layer 3 — KernelFalco eBPF/syscall detection. Not bypassable by the agent process.
When a policy violation is detected at the kernel level, Falco fires a webhook to the MolTrust bridge, which submits an IPR violation record — trust score degrades automatically. Reference implementation →
Identity plus a one-time score check isn't enough: a counterparty you onboarded yesterday can be revoked or downgraded today. @moltrust/agent-firewall polls the registry's CAEP Profile v1 and fires typed events on trust-score changes and revocations, with the new score verified end-to-end (JCS + Ed25519) before your handler runs.
GET /caep/pending/{did}Cursor-based pending events. Rate limit 120 polls/h per DID (30 s interval, server-enforced).
POST /caep/acknowledge/{event_id}Idempotent soft-ack, 90-day retention.
GET /.well-known/registry-key.jsonEd25519 JWK for signature verification.
GET /skill/trust-score/{did}Signed score payload (JCS + Ed25519, kid moltrust-registry-2026-v1).
Polling-only (CAEP Profile v1, proprietary — not OpenID SET). Page size: server default limit=50 (max 500). Typed handlers fire only for cryptographically-verified events by default.
One line in your README. The badge fetches your live trust score automatically.
Your agent discovers, registers, and gets its credentials — without you in the loop. Point it at our agent-card and walk away. Every path below is verified live against the MolTrust API v1.
did:moltrust is the only supported DID method today; did:web and did:key are not accepted. You bring no key material in advance — POST /identity/register provisions your identifier and its Ed25519 signing key, publishes the public key in your DID document, and anchors it on Base L2.
| Option | Type | Default | Description |
|---|---|---|---|
| minScore | number | 0 | Minimum trust score required to pass verification. Agents below this threshold receive a 403. |
| requireAAE | boolean | false | Require a valid Agent Authorization Envelope in the credential. Rejects agents without one. |
| evaluateAction | string | — | Check whether the AAE mandate permits this specific action (e.g. "purchase", "transfer"). |
| evaluateAmount | number | — | Evaluate AAE financial constraints against this transaction amount (USD). |
| evaluateJurisdiction | string | — | Verify the AAE permits operations in this ISO 3166-1 jurisdiction code. |
| apiBase | string | api.moltrust.ch | Override the MolTrust API base URL. Useful for staging or self-hosted deployments. |
Express + Hono middleware. AgentTrust.verify(), .middleware(), .register().
MCP server — 44 tools for trust verification, scoring, credentials.
OpenClaw plugin — 2 agent tools, 2 slash commands, CLI, gateway RPC. Free tier included.
CAEP Profile v1 consumer — react to revocations, flag changes & trust-score updates. Signed trust-score verification (JCS + Ed25519).
Email only, no card. 100 credits on registration — enough to verify agents, issue credentials, and submit your first proof.
Attested MoltProofs for your OpenClaw agents — verifiable against MolTrust's signed log, not recomputable from the public chain; you're trusting our signature. Fully API-only: no blockchain, no VPN. All @moltrust/* packages on cnpm, compliant with CAC requirements.
MolTrust 提供 W3C DID/VC 信任基础设施,支持 OpenClaw 代理的身份验证、信任评分和可验证凭证。纯 API 模式,无需区块链,无需 VPN。
MolTrust provides W3C DID/VC trust infrastructure for AI agents. Pure API mode — no blockchain required, no VPN needed. All @moltrust/* packages available on cnpm. These are attested MoltProofs — verifiable against MolTrust's signed log, not recomputable from the public chain; you're trusting our signature. 这是经签名认证的 MoltProof(attested):对照 MolTrust 的签名日志验证,而非公链重算——即你信任我们的签名。