Verafy Harness v0.0.1-alpha: the first spec, scored
Release notes, November 6, 2026. Tag v0.0.1-alpha.
This is the first versioned release of Verafy Harness and the first versioned spec for Verafy Harness and Verafy Chain together. It is an alpha for a prototype: nothing here is a running network, and there is no token. What is new is that the whole design now lives in one spec with stable requirement IDs, and a scoring pass checks every claim in that spec against the code.
The short version: 58% of the spec is built, weighted by importance, across 105 requirements. The core protocol is nearly done. Proving now runs end to end with a mock prover, but no real proof has been made yet. Governance and Solana settlement are mostly design.
npm run score at v0.0.1-alpha: 58% overall, weighted. Built means tested with mocks or scripted models; verified means run live or on a devnet.What is in this release
A versioned spec, with a scoring pass
The specification covers 17 areas, from the core protocol to the Banker to settling on Solana. Every requirement has an ID that never changes meaning (ROUTE-003, BANK-006), a weight, and a status: verified, built, partial, designed, planned or research.
npm run score checks each claim against the repo: a file that must exist, a function that must be exported, or a test that must be part of npm test. A claim whose check fails scores zero, and npm test fails until it is fixed or downgraded. The point is that the spec can't quietly drift from the code.
Multi-model routing
New in packages/route. Every question starts at the cheapest tier that can answer it safely: a fast System 1 screen, then panels of small, mid-size and frontier models, each spanning labs. A unanimous panel stops; a split one moves up.

The guardrails matter more than the speed:
- Shadow mode is the default. The screen sizes juries and logs what it would have settled. It settles nothing until its cutoffs are calibrated.
- Calibration is built in.
calibrate()finds, per question type, the lowest confidence where the screen's accuracy (a Wilson lower bound, not an average) matches the jury it replaces. Too few examples, no cutoff.recheck()withdraws a cutoff when live audits show accuracy falling. - The contract's floor is never lowered, and L2 questions never take a screen's answer: a closed model can't carry a proof.
- Audits, drawn from the block hash, re-check a share of settled answers at the top tier.
A Jev adapter is included. TypeSafe's API isn't public, so it takes whatever client you have as a function. Jev's figures are its maker's own, not reproduced: 70 to 500 ms, about $0.0004 a decision, and 67.8% on its benchmark against 73 to 74% for frontier models. How much it can safely settle on our questions is unknown until a calibration run.
Proof packing: routed, not yet wired in
Anthropic's FlashProve proves at most 1,024 tokens per request. packages/pack breaks contracts into small questions, merges the ones contracts share and packs them into each window; this release adds routeBlock(), so only questions in the proven lane reach the packer.
To be precise about status: the packer is a library with tests, run with mock models. Separately, packages/prove now proves L2 votes after the reveal and gates finality on verification, with mock, DeepProve and FlashProve adapters, but it proves whole prompts, not packed questions, and has only run against a stand-in prover. Joining atomize, route, pack and prove into one run (PACK-011) and a measured proof on real hardware (PROVE-006) are the next steps.

Economics, extended
packages/economics gains cascade() for tiered routing and a reasoning-length input, and the economics page is rewritten around everything above. Headline numbers, all modeled from vendor-reported speeds and an H100 at $4.00 an hour:
| Per decision | |
|---|---|
| Unpacked, five jurors each proving | $0.1043 |
| Atomized, packed, proven once | $0.0059 |
| Plus a screen, at assumed settle rates | $0.0039 |
Once proofs are packed, the checks that a contract was broken down faithfully cost more than the proofs. That is where the next savings are.
A simpler site
The site now has one menu, the version in the corner, and two new pages: the specification and these release notes.
The architecture, as specified
What is built, area by area
| Area | Requirements | Score |
|---|---|---|
| CORE: Core protocol: contracts, commit and reveal, agreement, exits | 9 | 93% |
| JURY: Juries, live runs, audits and challenges | 9 | 59% |
| CHAIN: Verafy Chain node (verafyChain repo) | 6 | 57% |
| SETTLE: TinySVM: exact settlement next to the AI | 6 | 58% |
| LIGHT: Light client: reading source chains | 4 | 83% |
| BANK: Routing agent: keyblock, banker, wallet, API router, deposits | 12 | 49% |
| PACK: Proof packing and the prompt compressor | 11 | 57% |
| ROUTE: Multi-model routing: screens, tiers, calibration | 9 | 61% |
| PROVE: Proofs of inference | 7 | 55% |
| COT: Disclosed reasoning | 5 | 49% |
| GOV: Constitution, Embedded Ethics, amendments | 4 | 25% |
| SOL: Solana settlement through the three SIMDs | 5 | 17% |
| ECON: Economics and the calculator | 5 | 80% |
| AGENT: Agent plugins and the MCP server | 4 | 57% |
| SITE: Sites, docs and the spec | 3 | 80% |
| OPS: Security and operations | 4 | 49% |
| EXT: External collaborations and data | 2 | 0% |
What is next
The biggest gaps, by weight times what is missing:
- JURY-009 (planned): Harness daemon: a long-running process that watches for funded contracts and takes seats.
- PACK-011 (planned): Packing wired into harness runs and chain intake: atomize, route, pack, prove, assemble, end to end.
- ROUTE-007 (planned): A labeled calibration set of atoms with known answers, and a Jev calibration run.
- SOL-002 (planned): A Solana devnet program implementing commit, reveal and the Ruling account; one harness ruling settled on devnet.
- BANK-006 (designed): BankerService: deposit state machine (detect, classify, hold, quote, simulate, swap, sweep, record), idempotent by txid.
- BANK-007 (designed): Real venue adapters: Jupiter on Solana, an EVM aggregator, a bridge; price sanity against a reference.
- GOV-002 (designed): Ethics gate: allow, refuse or escalate at intake; doubt resolves toward refusal; no bypass.
- PROVE-004 (designed): Prove once, verify many while one model is provable; verifiers drawn from the block hash.
- SOL-001 (designed): Three draft SIMDs: inference programs, attestations, rulings; no validator changes.
- BANK-012 (planned): Rent GPU and VM hosts on demand for open-weights and proving routes.
Decisions waiting on Rex
- TinySVM as the default runtime, and integer micro-units in
runtime.js. - Renting a FlashProve machine, and accepting the Llama 4 license.
- The Banker's target token, treasury, chains, caps and sanctions screening; service mode stays off until a legal review.
- Prove-once for L2 while only one model is provable; packing defaults; which brief modes are allowed.
- Publishing the MCP server to npm and to agent catalogs.
Try it
git clone https://github.com/Verafyai/verafyHarness.git
cd verafyHarness
npm test # every package, plus the spec check
npm run demo # five contracts, five rulings, five blocks, scripted answers
npm run score # the scorecard
The full spec is at /spec, the changelog at docs/spec/CHANGELOG.md, and the requirements behind every number on this page at docs/spec/requirements.json.