The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Touchstone MCP listing page.
Touchstone Assay publishes Dated SIU — the benchmark price of AI inference work, measured by actually buying inference against a versioned task basket, not by surveying list prices.
Placeholder — wired up once packages/print exists.
CLAUDE.md — vocabulary, invariants, build boundaries.docs/build1-spec.md — the Build 1 engineering specification.docs/plan.md — orientation, dependency order, and open risks.docs/architecture.md — one diagram of the whole system.docs/demo.md / docs/demo-arc.md — the buyer/seller
agent loop, real transcripts, on Base Sepolia and Arc Testnet.Chain ID 5042002. Deployed 2026-09-05 from commit 95eea03.
| Contract | Address | Verification |
|---|---|---|
TouchstoneAttestation | 0x12b886b043feABc3d90bBae3ae206d22b208160d | Pass - Verified |
TouchstoneEscrow | 0x3Cc274d68972DFA1B9B13b90eE40664E0dE2c91F | Pass - Verified |
Full record — transaction hashes, block numbers, constructor arguments, compiler settings, and live smoke-test results — is canonical in data/deployments/arc-testnet.json. This README section is a convenience view generated from that file (node scripts/generate-readme-deployments.mjs) and must never be hand-edited to disagree with it.
Not deployed to mainnet. Requirements before it can be:
Chain ID 84532. Deployed 2026-08-18 from commit 7b1d6ed.
| Contract | Address | Verification |
|---|---|---|
TouchstoneAttestation | 0xF60701793eD168ffd6e818e1DCcb600393297190 | Pass - Verified |
TouchstoneEscrow | 0x3eC06FFe8d5250d5Edf8Fff26b163aaaD65c8a00 | Pass - Verified |
Full record — transaction hashes, block numbers, constructor arguments, compiler settings, and live smoke-test results — is canonical in data/deployments/base-sepolia.json. This README section is a convenience view generated from that file (node scripts/generate-readme-deployments.mjs) and must never be hand-edited to disagree with it.
Not deployed to mainnet. Requirements before it can be:
A print's own signature and public_key fields only prove internal consistency — that some
key signed this exact body. They cannot prove that key is Touchstone Assay's, because a tampered
file could carry a self-consistent signature over a different key entirely. Closing that gap is
the entire reason the publisher key is coupled to TouchstoneAttestation: the contract's publisher address is
immutable and lives outside the file, so it is a truth a tampered print cannot rewrite.
The loop:
{signature, hash} pair — not read from the
print's own public_key field. (Recovery yields two address candidates, since the stored
signature carries no recovery bit; exactly one matches a real signer.)TouchstoneAttestation.publisher(), read live from chain.postedAt(bodyHash) > 0).No TOUCHSTONE_PUBLISHER_KEY is needed — this command only reads. Real output against the
worked-example print (docs/siu-worked-example.md, Dated SIU $0.0383) anchored on Base Sepolia:
A print signed by any other key — or never anchored at all — reports NOT VERIFIED and exits
non-zero (verified live against Base Sepolia with an unrelated key: neither recovered
candidate matched publisher(), and postedAt read 0).