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.
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.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.
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.
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.
| Step | Node | Job | Execution hash | Verdict |
|---|---|---|---|---|
| 1 | art-590 | EIP-712 digest recompute | cf3e29af…3c0f | PASS |
| 2 | art-591 | Signer recovery | 888dd6a8…5859 | PASS |
| 3 | art-592 | Domain and nonce and window check | 2b67271e…9517 | PASS |
| Run | run_chain | Composite over the steps that ran | ad46564c…211b | hash |
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.
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.
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.
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.
Every claim on this page can be re-derived from the public repository and the public surfaces.
x402-spend-evidence entry in chaingraph.json names its three tools in order.run_chain on mcp.ainumbers.co to run the chain and read the composite and the ledger link it returns.verify_execution_hash on the MCP server, passing the returned hash as claimed_hash.ledger_url and watch the ledger re-check each step in the browser.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.