Markovian Protocol / Commit
W3C Verifiable Credentials
Live
A Verifiable Credential is a tamper-evident container for an issuer's claim about a subject, verifiable by any conforming verifier. The standard states that verifiability of a credential does not imply the truth of the claims it carries. That separation is a native fit for a Markovian stamp, which proves data was committed at a point in time, not that the data is correct. A builder who already issues or consumes Verifiable Credentials can carry Markovian provenance inside the format they already use.
How Commit Plugs In
The stamp becomes the credentialSubject
A Markovian COMMIT produces a canonical markovian-provenance/v1 object. That object becomes the credentialSubject of a W3C Verifiable Credential. The Markovian Protocol is the issuer, identified by the decentralized identifier did:web:api.quantsynth.net. The credential is secured as a JOSE enveloped JWT, media type vc+jwt, signed with an Ed25519 key.
data modelW3C Verifiable Credentials Data Model 2.0
credentialSubjectmarkovian-provenance/v1 (the canonical stamp object)
issuerdid:web:api.quantsynth.net
securing mechanismVC-JOSE-COSE, vc+jwt, EdDSA (Ed25519)
commitmentBN128 Pedersen + Merkle root
An external stamp carries a BN128 Pedersen commitment and a Merkle root recorded on the Markovian chain. It carries no zero-knowledge validity proof. A valid credential establishes that the data was committed and when, and nothing about whether the data is correct.
Verifiable Credential (real, issued by the live endpoint)
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://api.quantsynth.net/vc/provenance/v1"
],
"type": ["VerifiableCredential", "MarkovianProvenanceCredential"],
"issuer": "did:web:api.quantsynth.net",
"validFrom": "2026-06-28T20:59:14Z",
"credentialSubject": {
"id": "urn:sha256:4d710d062cd0f23d1da049df0dc5f2349101f9cd9c5c6a249cc365574f819e8b",
"schema": "markovian-provenance/v1",
"merkle_root": "2792c5034f0d08f24217cb25bf22b0a75665771c878f02b23553807aeae76e19",
"data_hash": "4d710d062cd0f23d1da049df0dc5f2349101f9cd9c5c6a249cc365574f819e8b",
"wallet": "1VCdoorTestWallet0000000000000000",
"zk_commitment": "[BN128 Pedersen commitment point]",
"block_height": 134189,
"stamped_at": "2026-06-28 20:59:14.116769+00:00",
"verify": "https://api.quantsynth.net/verify/2792c5034f0d08f24217cb25bf22b0a75665771c878f02b23553807aeae76e19",
"attestation": "provenance-only; proves data was committed at this time, not that it is correct"
},
"termsOfUse": {
"type": "MarkovianProvenancePolicy",
"statement": "A valid signature proves Markovian issued this credential and that the data_hash was committed to the chain at stamped_at. It does not assert the data is correct, true, or endorsed."
},
"evidence": [{
"type": "MarkovianStamp",
"id": "https://api.quantsynth.net/verify/2792c5034f0d08f24217cb25bf22b0a75665771c878f02b23553807aeae76e19",
"commitmentScheme": "BN128-Pedersen",
"blockHeight": 134189
}]
}
JWS protected header (vc+jwt, EdDSA)
{
"alg": "EdDSA",
"typ": "vc+jwt",
"cty": "vc",
"kid": "did:web:api.quantsynth.net#key-1"
}
Try It Live
Issue and verify a credential against the public API
The flow below runs against the live endpoint. The first call performs a real stamp, burns one MKV, and returns a signed credential. The second call verifies both layers: the issuer signature, and the underlying Markovian stamp.
1. Issue a credential
# returns { jwt, vc, verify_url }
curl -s -X POST https://api.quantsynth.net/credential \
-H "Content-Type: application/json" \
-d '{"wallet":"YOUR_WALLET","data":{"claim":"any json"},"label":"demo"}'
2. Verify a credential
# layer1_signature = issuer signature, layer2_stamp = chain record
curl -s -X POST https://api.quantsynth.net/credential/verify \
-H "Content-Type: application/json" \
-d '{"jwt":"PASTE_THE_JWT_HERE"}'
# -> { "layer1_signature": true, "layer2_stamp": true, "binding": true }
Issuer DID document and JSON-LD context
# the did:web document, with the Ed25519 public key
curl -s https://api.quantsynth.net/.well-known/did.json
# the markovian-provenance/v1 term definitions
curl -s https://api.quantsynth.net/vc/provenance/v1
Test MKV is available to builders from the faucet at POST https://api.quantsynth.net/mkv/faucet with a wallet, one grant per wallet.