Skip to content

Releases

v0.0.5-alpha

v0.0.5-alpha Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Nov 17:42
d8e7858

Spec changelog

Versions follow semantic versioning with a pre-release tag. Requirement IDs never change meaning. See VERAFY-SPEC.md for the rules.

v0.0.5-alpha, November 8, 2026

ASC templates for agreements, funding and conduct: agentic contracts, super grants, hackathon grants, a DAO constitution and agent bonds. VIP-0029 to VIP-0033 are shipped, with what is still open named in each status. Scored 68% overall across 142 requirements (five new: SIGN-007 to SIGN-011).

New in the spec

  • SIGN-007 agentic contracts, SIGN-008 super grants, SIGN-009 hackathon grants, SIGN-010 DAO constitution, SIGN-011 agent bonds, with VIP-0029 to VIP-0033.

New in the code

  • packages/core/src/agentic.js: agentic contracts between two agents: signed terms and remedies, a signed hash-chained log, settlement by mutual release, acceptance, default or ruling, disputes as ASCs, settlement proofs the judiciary signer checks itself, and a two-of-three escrow check.
  • packages/core/src/grants.js: super grants: a Request for Ideas, agent terms, base grants, response and outcome reviews, outcome tranches, refunds.
  • packages/core/src/hackathon.js: hackathon grants: GitHub submissions pinned to a commit, graded council contracts, ranking, prizes.
  • packages/core/src/agentbond.js: agent bonds: priced articles, reports by anyone with a reporter bond, violation contracts, slashes, release after the term.
  • packages/snapshot: deterministic snapshots of a GitHub repository at a commit, which hackathon councils grade and checkers rebuild.
  • packages/solana/scripts/devnet-deploy.mjs, and a live-cluster mode for the 30 judiciary checks (--rpc, --payer); rehearsed on a stand-in cluster, not yet run on devnet.
  • templates/prompts/: a tailoring prompt for each template: paste it into an AI and it writes the program for your case.
  • packages/core/src/programlog.js: signed logs for programs with many participants, ruling checks against contracts rebuilt from the log, and the entitlement payout check.
  • policy.js: the agentic-settlement and program-payout rules; the agentic-contract, super-grant, hackathon, dao-constitution and agent-bond templates.
  • MCP: verafy_agentic_check, verafy_agentic_dispute, verafy_grant_ledger, verafy_hackathon_results (twelve tools, all new ones read only).
  • Demos: scripts/agentic-demo.mjs, scripts/grant-demo.mjs, scripts/hackathon-demo.mjs, scripts/agentbond-demo.mjs.

Not yet

  • None of the five is on devnet.

v0.0.4-alpha, November 7, 2026

The Judiciary Signer, the harness registry, attestation, bias profiles, the encoder, the commission covenant and asset transfer records. Every VIP from 0001 to 0019 is shipped, with anything still open named in its status. Scored 68% overall across 137 requirements (eight new: SIGN-001 to SIGN-006, NET-001, NET-002).

New in the spec

  • SIGN and NET, two new areas, with design proposals VIP-0010 to VIP-0017 written before the code, and fifteen Verafy App Pilots (VAP-0001 to VAP-0015) in docs/pilots.

Status

  • Built: SIGN-001 (Judiciary Signer), SIGN-002 (policies), SIGN-003 (model certification, none measured), NET-001 (registry, discovery, pay).
  • Partial: NET-002 (attestation verification; no enclave run).
  • Planned: SIGN-004 (asset transfer records), SIGN-005 (commission covenant).

Measured

  • verafy_judiciary and verafy_registry on a local validator against the Squads v4 program dumped from mainnet: 30 of 30 checks (results/judiciary-localnet-v0.0.4.json).

New in the code

  • packages/solana/judiciary and packages/solana/registry: two programs. The program ABI gains cross-program calls and allows 16 accounts.
  • packages/solana/src/: squads.js (program addresses, Squads accounts and instructions, no dependencies), judiciary.js, registry.js.
  • packages/core/src/: policy.js, judiciary.js, certification.js, attestation.js; jury rules gain allowModels and attested.
  • verafy discover and verafy harness register; discoverPool in the deploy package.
  • packages/core/src/bias.js: bias profiles, maps, least-shared-bias juries, unannounced probes for escrow and wallet cases (VIP-0018).
  • packages/core/src/assets.js: listings, one-time delivery codes, delivery rulings, signed transfer, ownership and receipt records, and a localizer (VIP-0015).
  • packages/core/src/operators.js: operator signatures checked on every draw (VIP-0003); proof records name their prover (VIP-0009).
  • packages/solana/covenant: verafy_covenant, a validator's bonded commission promise (VIP-0016), with the commission-covenant policy template for promises code can't see.
  • packages/solana/src/encoder.js: policies and contracts on chain, with a Memo backend and an IQ Labs Code-In backend (VIP-0019).
  • Site: Judiciary Signer, Policies, Roadmap and Pilots pages, five Learn pages.

v0.0.3-alpha, November 7, 2026

Stake, slashing and open-weight models. Scored 67% overall across 129 requirements (from 65% across 119; the ten new requirements start mostly built).

Juries are open-weight models, counted by family. A harness runs any open-weight model from Hugging Face. Jury diversity is counted by model family, the base model a model descends from, with minFamilies and excludeFamilies. Contracts and cards written with minLabs, excludeLabs and lab still validate and keep their hashes and signatures. The example pool, mock answers, DSH routes, profiles and launcher moved to open-weight models.

New in the spec

  • CONS, a new area (CONS-001 to CONS-010), with design proposals VIP-0001 to VIP-0009 in docs/proposals and tracking issues #26 to #36.

Status changes

  • Built: CONS-001 (jury scheduler), CONS-002 (beacon), CONS-004 (weighting), CONS-005 (slashing), CONS-006 (held payouts), CONS-007 (single-harness mode, behind policy), CONS-010 (stake economics), JURY-006 (challenge bonds).
  • Partial: CONS-003 (operator cap built; signatures and operator bonds not), CONS-009 (verafy_ruling 0.0.3, local validator only).
  • Designed: CONS-008 (prover placement).

Changed by what the numbers showed

  • Missed seats are no longer priced as a share of the bond. At 1% of the bond per missed seat, an honest harness missing 1% of its seats would lose about 200 times its fees (modeled). They now cost a small fixed amount past a free allowance, doubling only in a streak.
  • The beacon is a hash chain fixed at registration, not a fresh commitment each block, which a sealer could have chosen after seeing the contracts.

New in the code

  • packages/core/src/: family.js, scheduler.js, beacon.js, slashing.js, hold.js; drawOrder, seat, replaceSeats and operator caps in network.js; double-commit and bad-reveal faults with signed evidence; held payouts in the runtime.
  • The testnet coordinator runs every jury through the scheduler and beacon, replaces no-shows, slashes faults from posted bonds, and holds payouts; --misbehave for scripted runs.
  • verafy_ruling 0.0.3: reveal and challenge windows.
  • stake() in packages/economics and a stake section on the economics page; examples/slashing/.
  • Six Learn pages: model families, operators, the jury scheduler, the randomness beacon, bonds and slashing, the challenge window.

v0.0.2-alpha, November 6, 2026

Run it anywhere. Scored 65% overall across 119 requirements (from 58% across 105).

New in the spec

  • DEPLOY, a new area: the daemon, verafy up, cloud clients, hardware profiles, the container and buttons, releases, the local testnet, the launcher page; hosted harnesses and a desktop app planned.
  • BANK-013 (API credits), SITE-004 (Learn) and SITE-005 (llms.txt, sitemap, structured data).

Status changes

  • Built: JURY-009 (daemon), PACK-006 (fidelity gate), BANK-006, 008, 010, 011, GOV-001 to 004 (merged from the governance work).
  • Partial: PACK-011 (packing end to end in the harness, mock prover, not in chain intake), ROUTE-007 (calibration set and runner; no Jev run), SOL-002 (verafy_ruling on a local validator; not on devnet), BANK-007 (live quotes; execution untested on a funded wallet), BANK-009.

New in the code

  • packages/daemon, packages/deploy (serve, up, clouds, user data, profiles, testnet), packages/solana (the verafy_ruling program and a zero-dependency client), packages/banker (BankerService, Jupiter and LI.FI venues, credits, advisor), packages/pack/src/pipeline.js, the calibration set and runner.
  • Dockerfile, compose.yaml, render.yaml, .do/deploy.template.yaml, install.sh and the release workflow.

v0.0.1-alpha, November 6, 2026

The first versioned spec, with a scoring pass.

New in the spec

  • One spec for Verafy Harness and Verafy Chain, in 17 areas with stable requirement IDs, generated from requirements.json.
  • The scoring pass: npm run score checks every claim against the code, scores each area, and lists gaps by impact (SCORECARD.md). npm test fails if a claim's check fails.
  • Multi-model routing (ROUTE): a fast screen, tiered panels that escalate on disagreement, calibrated cutoffs, audits and shadow mode.
  • Proof packing and the prompt compressor (PACK): atoms, dedupe, packing, briefs, fidelity checks.
  • The Banker as a deterministic service (BANK-006 to BANK-011, banker.md).
  • Proving (PROVE): prove once while one model is provable, proofs after the reveal, finality on verification.
  • Disclosed reasoning (COT), governance (GOV), settling on Solana (SOL), Muse experiments (EXT).

New in the code with this version

  • packages/route: the router, the Jev screen adapter, calibration and audits (12 tests).
  • packages/economics: cascade() for tiered routing, and reasoning length in the proven-block model.
  • scripts/score.mjs: the scoring pass.
  • packages/prove and packages/core/src/proving.js (merged alongside, PR #16): Prover and Verifier interfaces, proofs after the reveal,...
Read more

v0.0.2-alpha

v0.0.2-alpha Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Nov 01:30
bc0818d

Verafy Harness v0.0.2-alpha: run it anywhere

Release notes, November 6, 2026. Tag v0.0.2-alpha.

v0.0.1-alpha wrote the spec down and scored it. This release closes the biggest gaps that scoring found, and makes a harness something anyone can launch: on a laptop, in Docker, on a cloud server, or as a whole testnet on one machine. It is still an alpha for a prototype. Nothing here is a running network, and there is no token.

The short version: @@overall@@ of the spec is built, weighted by importance, across @@count@@ requirements, up from 58% across 105.

@@SCORE_SVG@@

What is in this release

The harness daemon

A harness is now a long-running process: verafy harness serve (JURY-009). It registers with each node, signed with its own key. It watches their mempools and serves the routes a node calls when it is drawn: commit, reveal, and proof at L2.

Two details matter:

  • Nobody can spend its model budget from outside. It refuses to commit on any contract that no node it watches holds.
  • A crash can't lose a commitment. The vote and salt behind a commitment are written to disk before the commitment leaves the process, so a restarted daemon can still reveal.

It is configured entirely by VERAFY_* variables, so it is the same process everywhere. How the daemon works.

Launch anywhere: verafy up

verafy up asks where and which model, shows the plan with keys masked, and runs it:

  • on this machine with Node or Docker;
  • on a DigitalOcean or Hetzner server it creates, whose first boot installs and hardens everything;
  • on any other cloud, from a first-boot script it prints.

verafy up --ui asks the same questions as a page on your own machine. Hardware profiles suggest an open-weights model the machine can hold, by modeled memory, or a hosted model when nothing fits.

The new Launch page writes the command, script or one-click button for you, without ever asking for a key.

Releases now ship from one workflow on each version tag: a source tarball, single-file binaries for Linux, macOS and Windows, a container image on GitHub's registry, checksums, and an install script. The first run of that workflow is this tag, so the binaries and image appear when it is pushed.

A testnet on one machine

verafy testnet up starts one harness daemon per lab, each its own process, and a local coordinator that does a node's job: draw each jury from the parent block hash, run commit and reveal over HTTP, rule, and seal a block. AI answers are scripted by default, so it costs nothing; --live uses real models. Measured on one machine on Nov 6, 2026: eight harnesses, three contracts, three blocks.

Settling on Solana, for real

A new program, verafy_ruling, runs commit, reveal and the Ruling account on Solana with no validator changes (SOL-002). It is about 20 KB with no dependencies. Each harness signs its own commit and reveal on Solana with its harness key: both use Ed25519.

Measured on a local Solana test validator on Nov 6, 2026:

  • The happy path: five harnesses ruled on the Senate market, committed and revealed on chain, and the program sealed NO, 5 of 5.
  • Five bad transactions, all refused: a commit from a key with no seat, a reveal before its commit, a reveal of a different answer, a seal before every seat revealed, and a seal by someone other than the opener.

verafy testnet up --solana does this for every ruling. It is not on devnet yet: the devnet and testnet faucets no longer give SOL over RPC, so it needs about 1 devnet SOL from faucet.solana.com.

Proof packing, end to end

Packing now runs as one pipeline (PACK-011): atomize, check fidelity with a panel spanning labs, route, pack, prove, verify, read and assemble. verafy packed runs it on contracts. Two contracts sharing one question become three unique questions in one proven request, proven once and verified.

The guardrails:

  • a plan the panel does not rule FAITHFUL is never packed;
  • a proof that does not verify, or a reply that mangles any slot, sends its contracts back to a normal jury.

To be precise about status: the prover is still the mock prover, which binds an answer to its request but is not a proof of inference. The chain's intake does not call the pipeline yet.

Animation: six contracts become twelve small questions; a question shared by four contracts becomes one slot; nine unique questions pack into two 1,024-token requests proven once. The cost per decision falls from $0.1043 unpacked to $0.0059 atomized, modeled.

A calibration set for fast screens

A fast screen such as Jev may settle a kind of question only where its accuracy is proven. This release adds the labeled set to prove it on: 1,000 atoms, 200 per kind (comparisons, deadlines, vote tallies, list membership, and questions the facts do not settle). The answers are known by construction, plus a runner for Jev, for any model as a screen, or for a simulated screen.

One finding from building it: under about 130 examples per kind, no screen can show a 97% Wilson lower bound even if it never errs, so 100 per kind was not enough. A Jev run waits on Jev access.

The Banker, as a service

The Banker is now a deterministic deposit state machine (BANK-006 to 011), not an AI agent. In order: detect, classify, hold, quote, simulate, swap, sweep, record.

  • Tokens: allowlisted by address, never by name. Unknown tokens are quarantined and never touched.
  • Quotes: from real venues, checked against an independent reference price:
    • Jupiter on Solana. Measured Nov 6, 2026: 1 SOL quoted at 90.12 USDC against a reference of 90.08.
    • LI.FI for EVM chains and bridges.
  • Simulation: the exact transaction is dry-run before anything is sent.
  • Ledger: hash-chained and append-only.
  • Execution: off by default, behind a scoped signer and a kill switch.
  • Service mode: converting other people's money is disabled in code until a legal review.

It also reads model API balances and says when to top up and by how much. Automatic top-ups wait on providers: OpenRouter's crypto top-up API now returns 410 Gone.

Learn, and a site machines can read

The new Learn section explains every concept, from Actually Smart Contracts to the Banker, one page each, with what is built and what is not. The site now publishes:

Governance, rescored

The ethics gate and the seven-stage amendment process merged in both repos since v0.0.1-alpha, so governance moves from 25% to 80%. Panel sizes, bars, fees and escrow shares are still illustrative until Rex sets them.

The architecture, as specified

@@ARCH_SVG@@

What is built, area by area

@@AREA_TABLE@@

What is next

The biggest gaps, by weight times what is missing:

@@gaps@@

Decisions waiting on Rex

  • Devnet SOL for the Solana program, and Jev access for a calibration run.
  • Proving: renting a FlashProve machine, and accepting the Llama 4 and DeepProve licenses.
  • The Banker: turning on execution with a funded scoped wallet; the target token, treasury, chains and caps.
  • Hosted harnesses: whether Verafy runs them for people.
  • The illustrative defaults: block close (10% warm-up, 1-hour maximum wait), the 600-second proof deadline, the ethics panel sizes, bar and screening fee, and the amendment escrow shares.
  • TinySVM: when it becomes the default runtime. Helios: whether to install it for Ethereum reads.

Try it

git clone https://github.com/Verafyai/verafyHarness.git
cd verafyHarness
npm test                                  # every package, plus the spec check
npm run testnet                           # a testnet on this machine, scripted
node bin/verafy.js packed examples/market-resolution.json examples/packed/cloture.json --plans examples/packed/plans.json
node bin/verafy.js up --ui                # launch a harness

v0.0.1-alpha: the first spec, scored

Pre-release

Choose a tag to compare

@Verafyai Verafyai released this 07 Nov 01:23
b3c8a08

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: @@overall@@ of the spec is built, weighted by importance, across @@count@@ 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.

@@SCORE_SVG@@

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.

Animation: forty questions start at the cheapest tier; three go to the proven lane; of the rest, eleven stop at the screen, thirteen at small models, seven at mid-size models and six reach the frontier jury. Compared with sending everything to a frontier jury, about 4 times cheaper and 3 times faster on average, illustrative.

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.

Animation: six contracts become twelve small questions; a question shared by four contracts becomes one slot; nine unique questions pack into two 1,024-token requests proven once. The cost per decision falls from $0.1043 unpacked to $0.0059 atomized, modeled.

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

@@ARCH_SVG@@

What is built, area by area

@@AREA_TABLE@@

What is next

The biggest gaps, by weight times what is missing:

@@gaps@@

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.