OpenChainGraph · Standards crosswalk Read against VCP v1.2, GA 6 July 2026

Side by side with VCP

The VeritasChain Protocol records what an algorithmic trading system decided and executed, in an append-only, hash-chained, externally anchored log. Our receipts record what a computation did, in a deterministic, browser-verifiable artifact chain. This page reads the two formats against the same questions: what does a record bind, how is completeness proven, who can verify it without trusting the producer, and where does each format stop. It was written for a live correspondence with a practitioner on the VCP side, and for anyone comparing record formats for audit or regulatory work.

Everything about VCP here is read from their published specification v1.2, marked Production Ready, dated 6 July 2026, retrieved 15 October 2026 at commit b23acb266f88 of github.com/veritaschain/vcp-spec. Everything about our side is live on this site today. No connector, bridge, or implementation exists between the two formats, and nothing on this page claims otherwise.

Presenter mode shows one step per screen. Arrow keys move, A toggles autoplay, Esc exits.
Part one · The two record formats

What each format binds and how

VCP separates integrity into three named layers. Our receipts bind one canonical hash per run and hang verification off determinism. The table in step 3 puts the two side by side row by row.

1
Step 1 · The other format

What VCP asks a producer to keep

VCP is published by the VeritasChain Standards Organization in Tokyo as the financial-domain profile of their Verifiable AI Provenance framework. Version 1.2 reached GA on 6 July 2026. A producer records its trading events in an append-only log; the spec's own scope line says the log verifies integrity and attribution of recorded events and does not certify the correctness or safety of the underlying AI or trading decisions. That boundary is written by VSO themselves, and it rhymes with the boundary our own artifacts declare.

Layer 3 · external verifiability Ed25519 signature · dual-format timestamp · external anchor REQUIRED Layer 2 · collection integrity RFC 6962 Merkle tree · root · audit path, per anchored batch Layer 1 · event integrity EventHash, SHA-256 of the canonical event · PrevHash optional since v1.1 anchor intervals by tier Platinum · HFT PTPv2 clock, 10 min anchor Gold · prop / institutional NTP clock, 1 hour anchor Silver · retail / MT4-5 best-effort clock, 24 h anchor targets: Bitcoin, OpenTimestamps, RFC 3161 since v1.1 the external anchor is REQUIRED at every tier; the Merkle batch plus anchor replaced the mandatory hash chain

Anchoring is where VCP is strictest: every tier must anchor externally, on a clock budget that tightens from Silver's 24 hours to Platinum's 10 minutes. Acceptable targets include Bitcoin, OpenTimestamps, and RFC 3161 timestamp authorities. The spec sets expectations per tier plainly: Silver, in VSO's own words on their site, provides transparency rather than regulatory-grade evidence.

Prompt at this stepread their spec
Fetch VCP-Specification-v1_2_en.md from github.com/veritaschain/vcp-spec and summarize the three integrity layers, one sentence per layer, quoting the REQUIRED components exactly.
Layer 1: EventHash (SHA-256 of canonical event), PrevHash optional. Layer 2: RFC 6962 Merkle tree, root, audit path. Layer 3: Ed25519 signature, dual-format timestamp, external anchor.
2
Step 2 · The home format

What our receipts keep

An OpenChainGraph receipt binds one computation. Its execution hash is a SHA-256 over the canonical JSON of exactly the declared inputs and the output payload, produced through the shared hash library; the kernel that computed the output is pinned by its own digest. Workflows chain receipts by carrying each parent hash forward, and the public ledger stores the artifacts content-addressed so the hash is the address.

the preimage { policy_parameters, output_payload } canonicalised per RFC 8785 (JCS) kernel pinned by digest beside them SHA-256 execution_hash carried into the next run as parent hash a composite hash anchors a whole workflow stored content-addressed: the hash is the address verification is recompute: same inputs and same pinned kernel rebuild the identical hash on any machine

The full anatomy, including a synthetic run you can reproduce from its published witness, is the subject of our companion page Four hashes and a witness. The short version for this crosswalk: our format proves a computation by reconstruction rather than by attestation, keeps private figures out of the record as salted commitments, and publishes receipts to a ledger any browser can verify without a server.

Prompt at this stepsee it live
Open the record-provenance walkthrough on this site and report the four hashes of its specimen run, then recompute the step 1 hash from the published witness.
Four hashes: cd1503d3…, 0ca6da06…, composite 36c64bd6…, commitment sha256:ee204261…; all four recompute bit for bit.
3
Step 3 · The crosswalk

The crosswalk table

Nine concerns cover what an audit-grade record format has to decide. The left column is VCP v1.2 with the section that decides it; the right column is the OpenChainGraph receipt as it ships today. Where the two agree, the row says so; where one of them does less, the row says that instead.

ConcernVCP v1.2 (GA 2026-07-06)OpenChainGraph receipt
per-event integrityEventHash: SHA-256 over the canonical event (Layer 1, §6)execution_hash: SHA-256 over JCS-canonical {policy_parameters, output_payload} (SPEC §4)
chain linkagePrevHash optional since v1.1; Merkle batching preferredparent_hashes required on chained workflows; composite hash anchors a whole run
completenessMerkle tree + root + audit path per anchored batch (Layer 2, §6)determinism: identical inputs rebuild identical hashes anywhere; completeness by reconstruction
producer signatureEd25519 REQUIRED at every tier (PQC algorithms experimental)signature envelope ships empty on standard runs; §27.12 countersigning covers two-party runs
external anchoringREQUIRED, all tiers: 10 min (Platinum) to 24 h (Silver), targets incl. Bitcoin, OpenTimestamps, RFC 3161not attached to standard runs; Sigsum lineage checkpoint published (leaf 72845 at writing) and an anchor endpoint serves other workflow families
actor linkingVCP-XREF dual logging: trader-side and broker-side streams cross-referenced (§5.6)work-mandate binding records which policy governed a run; countersigned receipts for the two-party case
erasureERASURE event + crypto-shredding: destroy the DEK, accept the §17a-4 reproducibility tension (Annex §3)§25 salted commitments: private figures never enter the record at all, so there is nothing to shred
verification surfacesupervision-node PoC, Explorer GUI live, Explorer API planned with no datebrowser verification, public content-addressed ledger, live MCP endpoint, hash-swept receipts
declared boundary“does not certify the correctness or safety of the underlying AI or trading decisions” (their site)“proves the computation over the declared inputs, never the real-world inputs themselves” (each artifact's rationale)

Both formats state their limits in their own voice, and the two limits are the same limit: a record binds the computation it witnessed, and the truth of the declarations feeding it lives somewhere else. A reader comparing the two formats for procurement or audit work can carry that single sentence across every row above.

Prompt at this stepcheck a row yourself
Read section 6 of the VCP v1.2 specification and section 4 of the OpenChainGraph SPEC, then write the completeness row of this crosswalk in your own words with both citations.
VCP proves batch completeness with a Merkle tree at anchor time; OCG proves it by deterministic reconstruction over hash-chained receipts. Different mechanisms, both third-party checkable.
VCP v1.2 §2, §5.6, §6, Annex §3, §5OpenChainGraph SPEC.md §4, §25, §27.12as of 15 October 2026
Part two · Differences, common ground, and the unbuilt bridges

Beyond the table

Three differences survive the table because they are philosophy rather than mechanism. After them: the primitives both formats already share, and the connectors that do not exist yet, described without pretending otherwise.

4
Step 4 · Philosophy

Three differences that matter

Most of the table is mechanism, where either format could adopt the other's answer. Three rows are philosophy, and those are the ones a standards discussion should settle first.

vcp: chain optional Merkle batch plus anchor replaces per-event links ocg: chain is the core parent hashes make the workflow one verifiable object vcp: erasure by key destruction crypto-shredding; the 17a-4 tension is stated in-annex ocg: never held at all private figures enter only as salted commitments vcp: anchor on a tier clock 10 min to 24 h, external authority REQUIRED ocg: no authority on the run the record says so itself; lineage published beside it none of these is a defect on either side; each is a defensible answer to the same question

The erasure row deserves one extra sentence. VCP's annex is candid that destroying the decryption key satisfies an erasure obligation only in some jurisdictions, and that it sits badly with reproducibility-style retention rules such as SEC Rule 17a-4. Our format's answer, holding private figures outside the record from the first byte, sidesteps that tension and pays for it elsewhere: a commitment without the witness is a claim nobody can bind to real figures. Which answer fits depends on what the auditor is allowed to ask for.

Prompt at this stepcompare the GDPR answers
Read Annex 3 of the VCP v1.2 specification and OCG Standard section 25, then state which GDPR pressure each answers and what each gives up.
VCP shreds what it stored (the record stays, the plaintext becomes unrecoverable); OCG never stored the figures (the record holds only a salted commitment). VCP keeps full audit richness and accepts non-recoverability; OCG keeps verifiability and accepts that only the witness-holder can bind commitment to figure.
VCP v1.2 Annex §3, §6.0.2OCG Standard §25, SPEC §27.12EDPB Guidelines 01/2025, cited in their annex
5
Step 5 · Common ground

The primitives both formats already share

A crosswalk is easier when the floors are the same. Both formats default to Ed25519, hash with SHA-256, build Merkle structures for completeness, cite the IETF SCITT architecture, and treat external anchoring as the escape hatch from trusting the producer. Those shared floors are why a field-level mapping is possible at all.

vcp v1.2 cites Ed25519 (default) SHA-256 EventHash RFC 6962 Merkle trees draft-ietf-scitt-architecture Bitcoin / OTS / RFC 3161 anchors ocg receipts use Ed25519 (signing guide + verdicts) SHA-256 execution hashes lineage tiles (Checkpoint format) SCITT-mappable receipt fields Sigsum checkpoint + anchor endpoint Ed25519 SHA-256 Merkle both cite draft-ietf-scitt-architecture; the VCP profile draft for it is authored by the practitioner this page was written for

The SCITT row is the one to watch. VCP v1.2 defines normative opt-in alignment fields targeting COSE Receipts, and the profile Internet-Draft for VCP on SCITT is an individual submission by Kamimura, the practitioner this correspondence is with. Our receipts were built with the same mapping in mind. Neither side has implemented the handshake; the vocabulary for it exists on paper on both sides of the table.

Prompt at this stepread the profile draft
Fetch draft-kamimura-scitt-vcp from the IETF datatracker and list which COSE Receipt fields a VCP event populates, then say which of those an OCG execution_hash receipt could populate without new cryptography.
The payload-binding and transparency-tree fields map directly; both formats already commit SHA-256 digests over canonical bytes, so no new primitive is needed on our side.
draft-kamimura-scitt-vcpVCP v1.2 §5 references pageour Ed25519 guide
6
Step 6 · The part to verify

No connector exists yet

Everything above is a reading of two published specifications. It is not an integration, and neither side claims one. A code search across all 27 public repositories in the veritaschain GitHub organisation returns zero hits for Model Context Protocol, zero for OpenChainGraph, and zero for AINumbers, measured on 15 October 2026. VSO's own correction wave states that zero external implementations of VAP exist. Our estate contains no VCP bytes either. A reader should trust this page as a mapping on paper, and as nothing more.

searched 15 October 2026 github code search, org: veritaschain Model Context Protocol ..... 0 hits OpenChainGraph ............. 0 hits AINumbers .................. 0 hits their own disclosure agrees zero external implementations of VAP (their October 2026 correction wave, on their site) our estate holds no VCP bytes either producer shimunbuilt receipts as VCP events, both run on Workers verification crosswalkunbuilt their Merkle proofs beside our verifier anchoring reciprocityunbuilt OTS / RFC 3161 for them, Sigsum for us

The three sketches are one-sentence descriptions of work that would be small on both sides, listed because a reader comparing formats always asks what a bridge would take. None of them is announced, planned, or in progress by either organisation, and this page deliberately does not date them into existence.

Prompt at this stepverify the search
Search GitHub code in the veritaschain organisation for Model Context Protocol, for OpenChainGraph, and for AINumbers, and report all three counts with the date you ran them.
Zero, zero, zero on 15 October 2026, matching this page; rerun it yourself, the counts move if the world does.
GitHub code search, org: veritaschainveritaschain.org corrections text, read 15 October 2026
7
Step 7 · Sources and staleness

Check every source yourself

Every claim about VCP on this page is checkable against two pinned sources: their specification file at commit b23acb266f88 in the vcp-spec repository, and their public site as it read on 15 October 2026. Every claim about our side is checkable against the live estate: the specimen run, its witness, the ledger, and the verifier are all public. A mapping page earns trust the same way a receipt does, by naming exactly what it read.

  1. Read VCP v1.2 section 6 for the three layers, then rebuild the crosswalk's integrity rows from the section text.
  2. Read Annex §3 for ERASURE and Annex §5 for the SCITT alignment fields, and decide which GDPR answer fits your auditor.
  3. Re-run the three GitHub searches from step 6; if the counts have moved, something has been built and this page is behind the world.
  4. Recompute the companion page's specimen hash from its witness to see our side's reproducibility claim working end to end.

Three events would make this page stale, and each is easy to spot: a VCP v1.3 or a VAP draft beyond Draft 3 changes the left column; a deployed Explorer API changes the verification row; a connector repository appearing in either organisation changes the boundary row from step 6. The page is a dated observation, written to stay true as a record of what the two formats said on 15 October 2026.

Prompt at this stepfreshness check
Check for a VCP v1.3, a VAP draft newer than 3, and a live Explorer API deployment, then say whether this crosswalk is still current as of today.
As of 15 October 2026: v1.2 GA is current, VAP sits at Draft 3, and the Explorer API remains planned with no date.
vcp-spec commit b23acb266f88, 9 October 2026VCP developer resourcesthe companion walkthrough
🔒 All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data — use synthetic or anonymised inputs only.