Does your trading agent keep its word? Verify what an on-chain agent was allowed to do — and whether it did it. Read-only. No keys. Recomputable by anyone.
Base
Hyperliquid
Returns a real, recomputable verdict for any agent that has committed a mandate. Live example — the first demonstrator agent (3 in-mandate WETH buys, 1 out-of-mandate trade):
curl https://api.moltrust.ch/proof/verdict-free/0xD35AE5C22C117Cf1b9EF870697AB0034314A59e2$ curl https://api.moltrust.ch/proof/verdict-free/<agent>
{
"agent": "did:moltrust:agent-demo",
"verdict": "ADHERENT",
"mandate_tightness": 0.72,
"recomputable": true
}
A breach cites the exact transaction:
$ curl https://api.moltrust.ch/proof/evidence/<agent>
{
"verdict": "BREACHED",
"breaches": [{
"txHash": "0x…",
"failedChecks": { "venue": "fail" },
"reasons": ["traded on non-whitelisted venue aerodrome (0xcF77…4E43)"]
}],
"recomputable": true
}
Resolve an agent's committed AAE mandate from its DID / ERC-8004 identity.
Read public on-chain execution within the mandate's validity window.
Check each action against venue / position / validity.
Score how constraining the mandate is, so "adherent" can't be gamed.
Every verdict reproducible from public data; Ed25519-signed for portability.
MoltProof is read-only by construction. The security properties are not a policy — they are what the service can and cannot do.
Takes an agent address / DID / mandate ref. It cannot accept, request, store, or log a private key, seed, or API key — a scanner rejects secret-shaped input, enforced by a build-gating test.
No signing on behalf of users, no wallet connection, no funds held. Read-only RPC/indexer calls only.
There is no code path that places, cancels, or routes a trade. Nothing is written to caller systems.
Every verdict is recomputable from public chain data and the public mandate — you never have to trust us to vouch for it.
Contrast with wrapper / custody approaches that hold keys or intermediate orders: those can lose funds by design. MoltProof cannot, because it never touches them.
| Check | Constraint | Pass / Fail / Inconclusive |
|---|---|---|
| Venue | allowed_venues | Every venue-address touched (entrypoint + Swap-log emitter) is whitelisted, or its venue is. Unrecognised → inconclusive. |
| Position | max_position_notional | Action notional ≤ cap. Not deterministically priceable → inconclusive. |
| Validity | valid_from / valid_until | Action timestamp inside the window. |
| Tightness | — | 0–1 score of how constraining the mandate is; shown with every verdict. |
An action that can't be decoded to (venue, notional, time) from a recomputable source yields NEEDS_REVIEW, never a silent ADHERENT.
https://api.moltrust.ch/proof| Method | Path | Tier |
|---|---|---|
| GET | /verdict-free/:agent | free · 1/10min — verdict only |
| GET | /verdict/:agent | $0.05 — full per-check breakdown |
| GET | /evidence/:agent | $0.05 — verdict + decoded breaching txs |
| GET | /mandate/:agent | free — the committed AAE mandate |
| POST | /verify | free — recompute + check signature (never gated) |
| GET | /registry | free — agents + current verdict |
| GET | /info · /health | free |
x402 on Base, same pattern as MoltGuard. The core verdict, mandate lookup, and /verify are free; the deep and full-history endpoints are $0.05.
Tools moltproof_verdict, moltproof_mandate, moltproof_evidence, moltproof_verify, moltproof_registry — live on the shared gateway.
Served by the shared MolTrust MCP gateway at https://api.moltrust.ch/mcp — one endpoint for all MolTrust tools. The moltproof_* tools are read-only pass-throughs to the verdict API; they inherit the same no-keys gate.
{
"mcpServers": {
"moltproof": {
"type": "streamable-http",
"url": "https://api.moltrust.ch/mcp"
}
}
}
| Stack | Node 20 · TypeScript · Hono · viem |
| Networks | Base (canonical), Ethereum, Arbitrum, Optimism, Polygon, Hyperliquid — supported; Solana — beta |
| Signing key | did:web:moltrust.ch#moltproof-key-1 (Ed25519 JWS) |
| AAE profile | draft-kroehl-agentic-trust-aae-00 |
| Standards alignment | owasp-agentic-top10 |
| Payments | x402 on Base (chainId 8453) |
| Caching | bounded lookback windows; short-TTL verdict cache |
From the running service at launch. Live counts are always available via /proof/registry; these grow as more agents commit mandates.
Live from /proof/registry. The first demonstrator agent is seeded; counters grow as more agents commit mandates.
MoltProof verifies adherence to a committed mandate, not profitability. No trading, no advice. Supports Article 12 logging.