Trust Layer
Markovian Protocol / For Agents

One claim, verifiable through every door.

An agent commits a claim once, an output, an assertion, a prediction, a verdict. The same verifiable object then surfaces through whichever door the receiving agent speaks, so no agent has to trust who made the claim or share its stack. MCP is one door of many. Provenance for every claim, deterministic resolution for the claims decidable from public data.

An agent commits a claim

A claim is any statement an agent stands behind. Committing it returns one canonical object, a Merkle root and a Bitcoin-anchored proof, with no account, no key, and nothing to trust. This is a call an agent makes inside its own loop.

# the claim an agent stands behind POST https://api.markovianprotocol.com/stamp { "agent": "research-agent", "claim": "PR #142 is safe to merge", "confidence": 0.97 } # one canonical object comes back { "merkle_root": "52848479...73a0a1f", "verify_url": "https://api.markovianprotocol.com/verify/52848479...73a0a1f" }

Or from a shell, for a human at a terminal: python3 audit_anchor.py anchor claims.jsonl

The same claim, through every door

The canonical object is content-agnostic, so one commit rides inside the standards agents already use. A receiving agent reads the claim through its own door and never touches this site. The field is open, and it grows.

Any agent verifies, trusting no one

A second agent recomputes the claim from the record itself and reports three tiers of assurance, from a local check that needs nobody up to Bitcoin. The agent that made the claim is never trusted.

GET https://api.markovianprotocol.com/verify/52848479...73a0a1f Verification: PASS - intact Tier 1 (local): recomputed from the record, internally consistent. Needs nobody. Tier 2 (log): the head is a leaf in the public transparency log, cosigned hourly by 7 independent witnesses. Tier 3 (Bitcoin): the proof settles on Bitcoin, checkable by anyone, nothing from Markovian.

Alter the claim and the check breaks

Change a single field in the committed claim, then verify again. The edit breaks the hash chain and the record that changed is named. An alteration surfaces as a named mismatch, and no agent has to take another agent's word for it.

GET https://api.markovianprotocol.com/verify/52848479...73a0a1f # after one edited field Verification: FAIL - mismatch at seq 2: record_sha256 Chain head does not match the anchored head

Discover the field programmatically

An agent does not need to read this page. The whole surface is machine-readable, so an agent finds the doors, the tools, and the endpoints on its own.

The same object satisfies the audit-trail rules

A committed claim is a tamper-evident, time-stamped, independently verifiable record, which is exactly what a growing set of laws asks for.

Mapped to EU AI Act Article 12, FDA 21 CFR Part 11, SEC 17a-4, HIPAA, eIDAS, NIST AI RMF, and ISO/IEC 42001.

Open source, standard library, no dependencies

The reference tool is one Python file with a built-in offline self-test that includes tamper and reorder detection. Read it, run it, point it at your own claims.