Economic Primitive
Markovian Protocol / COMMIT for A2A

A2A, Agent2Agent Live

A2A is the open standard for cross-vendor agent interoperability, now hosted by the Linux Foundation. Its only native trust primitive is the signed AgentCard, which attests to an agent's identity and not to the provenance of the outputs an agent returns. Output provenance is the open gap, and the Markovian COMMIT closes it. The integration is live, and every record on this page can be verified against the public endpoint with no account and without trusting this page.

How COMMIT plugs in

The Markovian provenance extension is a Data-only A2A extension, published permissionlessly under a single URI. It adds no new methods and changes no task states. It exposes a provenance object that travels with an agent's outputs. The extension definition resolves live at the URI below.

# the extension definition, served live GET https://api.quantsynth.net/a2a/ext/provenance/v1

An agent declares support in its AgentCard, inside capabilities.extensions. The declaration is additive, so a counterpart that does not understand the extension still interacts normally.

{ "capabilities": { "extensions": [ { "uri": "https://api.quantsynth.net/a2a/ext/provenance/v1", "description": "Outputs carry Markovian provenance: timestamped, chain-recorded, independently verifiable. Proves provenance, not correctness.", "required": false, "params": { "verifier": "https://api.quantsynth.net/verify/", "commitment": "bn128-pedersen" } } ] } }

Each produced output carries the provenance object in Artifact.metadata, keyed by the extension URI. Activation is negotiated with the A2A-Extensions header. The object is the canonical markovian-provenance/v1 record, identical across every Markovian integration.

"metadata": { "https://api.quantsynth.net/a2a/ext/provenance/v1": { "schema": "markovian-provenance/v1", "merkle_root": "bc176416850cb553a26cb18e07819dace1bc11a47824bbfcdff4a324cfcf5c2e", "data_hash": "afc36a93a9495dc3f4e0d062dc92666ce5e740498f301ac97efb0e6ed96ce32f", "wallet": "135nd7CXWJ8QRjuCDkXoM5oxx9MKc7YNjN", "zk_commitment": "[\"2103...077\", \"1977...521\"] (BN128 Pedersen point)", "block_height": 134207, "stamped_at": "2026-06-28 21:15:19.310008+00:00", "verify": "https://api.quantsynth.net/verify/bc176416850cb553a26cb18e07819dace1bc11a47824bbfcdff4a324cfcf5c2e", "attestation": "provenance-only; proves data was committed at this time, not that it is correct" } }

Trust does not come from A2A. A2A treats extension metadata as untrusted by default. Trust derives from independently resolving the verify URL against the public Markovian endpoint, not from A2A asserting anything. The verifiable record is the authority, and the transport is not.

An external stamp carries a BN128 Pedersen commitment and a Merkle root, recorded on the Markovian chain. It carries no validity proof. It establishes that the data was committed at a point in time, which is provenance and not a claim that the data is correct.

A stamped agent artifact

The fields below are taken from a real A2A task artifact produced by the reference agent. The output was hashed, committed to the chain, and timestamped. The record can be verified live, in the browser, against the public endpoint.

Markovian Stamp / A2A Artifact
artifactA2A task result, regime read
carried inArtifact.metadata[extension URI]
merkle_rootbc176416850cb553a26cb18e07819dace1bc11a47824bbfcdff4a324cfcf5c2e
data_hashafc36a93a9495dc3f4e0d062dc92666ce5e740498f301ac97efb0e6ed96ce32f
wallet135nd7CXWJ8QRjuCDkXoM5oxx9MKc7YNjN
block_height134,207
stamped_at2026-06-28 21:15:19 UTC
commitmentBN128 Pedersen + Merkle root
anchorMarkovian chain, Bitcoin-anchored

Calls api.quantsynth.net/verify directly from the browser.
type
verified
block_height
stamped_at
anchor
note
Show raw API response

Run it end to end

A reference implementation is built on the official a2a-sdk. It is three parts: a wrapper that calls the live stamp service and assembles the provenance object, a demo agent that declares the extension and stamps every artifact it returns, and a demo consumer that sends a task with the A2A-Extensions header, extracts the provenance from Artifact.metadata, and verifies it against the public endpoint.

# the reference harness markovian_a2a.py # wrapper: stamp_output, attach, verify demo_agent.py # A2A server: declares the extension, stamps each artifact demo_consumer.py # A2A client: sends a task, extracts metadata, verifies

The reproducible path uses two public calls. The first resolves the extension definition. The second verifies the stamped artifact above against the public verifier.

# resolve the extension definition curl https://api.quantsynth.net/a2a/ext/provenance/v1 # verify the artifact above curl https://api.quantsynth.net/verify/bc176416850cb553a26cb18e07819dace1bc11a47824bbfcdff4a324cfcf5c2e

The consumer reports a pass only when three conditions hold together. The artifact carried a real stamp, the binding between the output bytes and data_hash holds, and the public verifier confirms the record. Mutating either the bytes or the data_hash makes verification fail.

See it live

The live provenance demo verifies a real record in the browser against the public endpoint. The public verifier resolves any Markovian merkle root directly.