OpenChainGraph · Explainer One chain in seven scenes

A ChainGraph workflow built brick by brick

A chain is a named, ordered list of catalog tools. This page follows x402-spend-evidence, a three-step chain in the Graph Index, while it runs: each step cites the hash of the step before it, and the run folds into one composite hash that outside authorities can timestamp and anyone can replay. Drag the scene to turn it.

Presenter mode shows one step per screen. Arrow keys move, A toggles autoplay, Esc exits.
The chain's steps are read from chaingraph.json in the public repository, and every hash on this page is quoted from the Agent Staircase explainer's live run of 26 September 2026 (UTC) against the public surfaces, with synthetic inputs. The scene draws recorded values and makes no network call.
1
Step 1 · The scene

One chain drawn as bricks

The scene animates one run of the x402-spend-evidence chain. An MCP host calls run_chain, three tool towers build in order, each tower passes the hash of the step before it, and the run folds into one composite hash that is anchored. Drag the scene to turn it.

The Graph Index lists 374 named chains and this page follows one of them. Double-click a building to open its page.

View: Try:

The Pause button stops the timeline, and Prev and Next step one scene at a time. The Tamper control edits step 2's input and shows the hash link break. With reduced motion the scene starts paused on its final frame and stays still.

2
Step 2 · The run

The three steps and their hashes

The chain names three tools in order. In the live run quoted on this page all three steps returned PASS and the composite came back as ad46564c…211b.

StepNodeJobExecution hashVerdict
1art-590EIP-712 digest recomputecf3e29af…3c0fPASS
2art-591Signer recovery888dd6a8…5859PASS
3art-592Domain and nonce and window check2b67271e…9517PASS
Runrun_chainComposite over the steps that ranad46564c…211bhash

The step list is read from the x402-spend-evidence entry in chaingraph.json, the Graph Index, which names the three tools in order. The hashes and verdicts are quoted from the Agent Staircase explainer's live run of 26 September 2026 (UTC) with synthetic inputs.

Agent Staircase explainerchaingraph.json chains[]live run 2026-09-26 (UTC)
3
Step 3 · The link

Each step cites the hash of the step before it

run_chain threads each step's execution hash into the next step's parent_hashes and returns one composite hash over the steps that ran. Each step reads its own inputs from the caller or from the workflow's fixture, so only the hash link crosses between steps.

The first step is the root of the chain, so its parent_hashes list is empty. Step 2 cites step 1's hash and step 3 cites step 2's hash.

The scene's Tamper control edits step 2's input. The recomputed hash then no longer equals the hash step 3 cites, the link breaks, and the composite no longer verifies. The view is illustrative: the scene replays recorded values rather than calling the server.

SPEC §21 chainschain.parent_hashes citations
4
Step 4 · The ledger

The composite and the ledger link

The run returns one composite execution hash plus a ledger_url. The link carries the run in the URL fragment and opens the Agent Work Ledger, which replays every step and verifies the execution hash in the browser.

A reader does not have to trust the server. Anyone holding the inputs can recompute a step's hash and compare it with the hash the receipt cites, and verify_execution_hash on the MCP server does that recomputation for any caller.

The ledger URL has the shape https://ledger.ainumbers.co/#a=v1.<encoded>, so the encoded artifact rides in the fragment and the URL is the only thing an agent has to pass on.

run_chain returns ledger_urlAgent Work Ledger
5
Step 5 · The anchors

Outside authorities timestamp the root

The session receipt's root went to three independent RFC 3161 timestamp authorities. Sigstore TSA, DigiCert and FreeTSA each signed it, within one second of each other.

The root is a Merkle root over the run's hashes, so each authority signed a root hash alone. The timestamps prove the root existed at a recorded time.

Sigstore TSA 2026-09-26 02:48:56ZDigiCert 02:48:56ZFreeTSA 02:48:57Z
6
Step 6 · The check

Check it yourself

Every claim on this page can be re-derived from the public repository and the public surfaces.

Sources: the steps come from the x402-spend-evidence entry in chaingraph.json. The hashes come from the Agent Staircase explainer's live run of 26 September 2026 with synthetic inputs (art-590 cf3e29af…3c0f, art-591 888dd6a8…5859, art-592 2b67271e…9517, composite ad46564c…211b). The scene draws recorded values and makes no network call.

🔒 All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data — use synthetic or anonymised inputs only.