Coin-free guarantee.

There is no coin, and Verafy Harness will never need one. A harness is paid in whatever token a contract offers and pays its own AI and hosting bills from that. No presale, no airdrop, no points, no treasury. How payment works

Verafy Harness v0.0.2-alpha

Economics

What it costs to prove an AI's rulings, how proof packing and multi-model routing cut that cost, what a fast screen like Jev is and isn't worth, what reasoning costs, and what the proving operator and the verifier earn. Every number on this page is modeled from the inputs shown, unless it says measured. Vendor-reported figures name their source; illustrative ones are placeholders to set yourself.

The short version

$0.0103

GPU cost of one proof, about 750 words of question, evidence and answer.

67%

of a small unpacked block's cost is warm-up: loading the model before proving starts. Fixed cost, not proofs, is what makes small blocks expensive.

18x

cheaper per decision with proof packing: contracts atomized into small yes or no questions, about 16 per proven request, each request proven once. 120 proofs become 3.

Figures in this box use the defaults (an H100 at $4.00 an hour, FlashProve's vendor-reported speed, 24 contracts of about 600 words) and update with the calculator.

Why proofs need packing

Anthropic's FlashProve can prove that a specific model produced a specific answer. It proves at most 1,024 tokens, about 750 words, per request: question, evidence and answer together. Each proof takes about 9 seconds of H100 time, produces an 18.78 MB proof and takes 17 seconds to verify on a CPU (vendor-reported). It proves one model today, Llama 4 Maverick.

The limit comes from the prover, not the model: a proof has to keep and check every intermediate value, for every token, on one machine. So proving one request per proof wastes most of every window and pays for every proof in full. And because only one model is provable, five jurors running it on the same input get the same answer: five proofs of one computation.

Two fixed costs decide whether proving pays. Warm-up: loading a 400-billion-parameter model before proving starts, two thirds of a small unpacked block's bill. And idle time: a rented GPU that isn't proving still costs money. That is why blocks wait until enough funded work is queued.

Calculator

Per blockunpacked
Block cost
Per contract
Per contract with margin
Per decision, before warm-up
Proven requests
Provers and proofs
Time to seal
Proof data
    Per machine
    Proofs one GPU makes per hour
    Break-even fee per proof
    Smallest batch for warm-up under 10%

    Proof packing

    A proof covers one request of up to 1,024 tokens, about 750 words. That limit comes from today's prover, not the model: it has to keep and check every intermediate value for every token. Proof packing fills those requests as tightly as possible and stops paying for the same proof twice. It has four parts.

    Status. Atomizing, deduping, packing and strict reply reading are built in packages/pack and tested with mock models: in a test block, 60 contracts became 120 atoms, 61 after dedupe, in 4 requests at 85% fill. They are not yet wired into a harness run, the fidelity panel is not wired, and no real prover is attached. Prove once is designed, not built.
    1. Atomize. Each contract is broken into atoms: small questions that ask one thing (yes or no, a choice, or a bounded integer) and carry only the facts that decide it, each citing a pinned source. An exact composition rule turns the atoms' answers back into the contract's outcome. That rule is code, integer math only, and any UNKNOWN atom sends the contract to its declared fallback instead of a guess. Plain dense English, never invented shorthand: models read English tokens best.
    2. Dedupe. The same atomic question over the same pinned facts has the same hash. Thirty markets that all hinge on "did the Fed cut rates on December 10?" share one slot and one proof.
    3. Pack. Atoms are packed first-fit by size into 1,024-token requests, about 16 to 18 per request in our tests, each in a numbered slot with its own answer line. The slot order is shuffled by the block hash, so nobody chooses their neighbors. A reply that misses or mangles any slot is rejected whole. Contracts that must stand alone opt out.
    4. Prove once, verify many. Today only one model can be proven, and with integer weights and greedy decoding, every juror running it on the same input gets the same answer. So each packed request is proven once, by a prover drawn from the block hash, and the other jurors become verifiers. Lab diversity returns as soon as a second model is provable: one proof per distinct model.
    The safeguard. A proof shows the model answered the atoms correctly, not that the atoms and the rule capture the original question. So every atom plan is either agreed by the contract's parties before funding, or checked by a cheap unproven panel from several labs (the fidelity check), and auditors spot-check its citations. A plan that drops the deciding fact or reaches a different outcome fails the check, and that contract runs unpacked.
    What the numbers show. Once contracts are packed, proving stops being the big cost. At 1,000 contracts, the proving GPU costs about $1.29 and the fidelity checks about $3.26 (modeled). The next savings come from cheaper checks, not cheaper proofs.

    What packing does not change

    • Warm-up is paid per proving session, not per block. A proving service that stays warm across blocks pays for idle hours instead, which the utilization input models.
    • A long document still has to be briefed; a proven juror never reads more than 1,024 tokens at once. Long-document judgment is better run unproven (L1) with a diverse jury and auditors, or by proving only the deciding excerpts.
    • Prove once trades jury diversity for proof while one model is provable. Say so on any contract that uses it.

    Unpacked and packed

    On your inputs

    UnpackedBriefs, 4 per requestAtomizedAtomized, Jev screen

    Cost per contract as blocks grow

    Both lines use your current inputs. The marker is your block size. The curve falls because warm-up is a fixed cost shared by every contract in the block.

    Fast screens (Jev)

    A System 1 model such as TypeSafe's Jev returns a typed answer with a probability in 70 to 500 ms for about $0.0004 a decision (vendor-reported, not reproduced). A jury of models from several labs takes 5.9 to 30.1 seconds per contract (measured, Nov 6, 2026). Atoms are exactly the shape a screen reads. It can do four jobs, all before or around the real jury and never instead of it:

    1. Screen the fidelity checks, the biggest cost once proofs are packed. Clear plans pass on the screen; unclear ones go to the multi-lab panel.
    2. Triage atoms. Where it is confident, the stakes are low and the contract allows it, its answer stands: roughly 10 to 400 times faster than a jury. Never for L2: a closed model can't carry a proof.
    3. Size the jury. Its probability is a cheap read on difficulty: easy questions get the contract's minimum panel, hard ones get more jurors and labs.
    4. Run a fast lane for what it settles, under a second instead of seconds to minutes.

    What it might save, on your inputs at 1,000 contracts

    If the screen settlesPer contractChange
    These settle rates are assumptions, not measurements. How much a screen can safely settle depends on how well its confidence matches its accuracy on our questions, which needs a calibration run. On its maker's own benchmark Jev scored 67.8%, against 73 to 74% for frontier models. Until calibrated, the router keeps it in shadow mode: it sizes juries and logs what it would have settled, and settles nothing. A screen that settles little only adds cost.

    The cutoff

    A screen's answer may stand only when all three hold: its probability clears the calibrated cutoff for that question type (the lowest confidence where its accuracy, as a Wilson lower bound on labeled examples, matches the jury it replaces); its chance of being wrong times the stakes is under the contract's allowed loss; and the contract allows a screen. Random audits, drawn from the block hash, keep re-checking it on live traffic and withdraw a cutoff whose accuracy drops. This is built in packages/route and tested with scripted screens.

    It can't be the court. It is one closed model, so it adds no lab diversity and can't carry a proof, and calibrated isn't the same as correct.

    Difficulty sorting

    Don't send every question to your biggest jury. Start each one at the cheapest tier that can answer it safely, and move up only when needed: a fast screen, then panels of small, mid-size and frontier models, each spanning labs. A unanimous, confident panel stops there; a split one moves up. The screen's probability, juror disagreement and the stakes decide where each question goes, and contracts that require proof go straight to the proven lane. Set the tiers and how often questions stop at each:

    Per questionillustrative
    Average cost
    Average time
    Typical time
    Hardest question (every tier)
    Everything to the top tier
    Cascade vs top tier

    Defaults: shares 30, 35, 20 and 15 percent (illustrative); the mid tier is close to the measured Nov 6 run ($0.0163 for five contracts, 5.9 to 30.1 s each); Jev figures vendor-reported. The catch: a genuinely hard question pays for every tier on the way up, so route high-stakes questions straight to the top. The router is built in packages/route; real tier shares need live traffic.

    Reasoning and storage

    Each juror's reasoning is committed with its vote, so it can't be rewritten after the outcome is known, and a challenge can point at the step where the logic broke. Proving reasoning is possible (FlashProve proves it like any output), but every reasoning token uses the 1,024-token window.

    Proven reasoning, on your inputs at 1,000 contracts

    Reasoning per atomAtoms per proofProofsPer contractTime to seal

    So proven jurors give short, structured reasons; unproven tiers keep full reasoning. Storing reasoning is cheap: on chain it is a 32-byte hash per juror; the full text lives next to the chain, fetched by hash. At one ruling a second with full reasoning (about 8 KB per juror), that is about 3.5 GB a day, and one proof is bigger than about 2,300 full reasoning traces (modeled).

    Settling on Solana

    Under the three draft SIMDs, all of this can settle on Solana as ordinary programs, with no validator changes. What lives on chain is small: commitments and hashes (32 bytes each), attestations (about half a KB), rulings with a 512-byte summary (about 4 KB). Rent is 6,960 lamports a byte at current parameters, refunded when an account closes; five certification standards, 22,712 bytes of text, compress to 5,246 bytes, about 0.0377 SOL (from the SIMD drafts). Proofs and full reasoning stay off chain by hash.

    The proving machine

    PartSpecLabel
    GPU1 x H100 80 GBvendor-reported FlashProve
    CPU24 cores or morevendor-reported
    Host RAMabout 290 GB or morevendor-reported
    DiskNVMe for the 4-bit Llama 4 Maverick weights and commitment artifacts; 1 TB is a safe startmodeled confirm
    Network1 Gbps. A busy prover uploads about 7 GB of proofs an hour.modeled
    VerifierAny 24-thread CPU box, no GPU. About 17 s per proof.vendor-reported
    Renting note. Many single-H100 cloud instances come with well under 290 GB of host RAM; one 2026 listing shows 116 GB. Meeting the requirement can mean renting a larger node or bare metal, which raises the cost per proving GPU-hour unless every GPU on the node is proving. Set the GPU price input to what you actually pay.
    PROVING HARNESS, ONE MACHINE Harness daemon (CPU) intake, signer, bond, outbox routing agent: keyblock, banker, API router, payment wallet Prover (GPU) FlashProve; the model runs inside the prover; packed requests, batches of 24 Packer briefs into slots TinySVM exact settlement Light client reads escrow Proof uploader: proofs to the availability layer, hashes to the vote Verifiers (CPU only) auditors and nodes, drawn per proof from the block hash Availability layer proofs and briefs, by hash

    In the diagram, the light client is built, TinySVM phase 1 is built as an optional prototype beside runtime.js (which stays the default), and the packer is built as a library but not yet wired into a harness run. A harness can also buy proofs from a proving service through its API router and verify them before counting the answer, so it never trusts the service.

    Who earns what

    Roles priced at cost plus your margin on the work they do. A proving operator only profits if the GPU is busy enough: the break-even utilization is where revenue meets the hourly rent.

    RoleFeeRevenue per hourCost per hourNet per hourFrom this block

    Jurors are paid per counted vote from the contract's escrow, dissent included; the contract's author sets the escrow. Under prove once, the drawn prover also holds a jury seat.

    Assumptions and sources

    InputDefaultLabelSource

    The math lives in packages/economics, with tests that pin every vector on this page. Nothing here is measured on a running network; there isn't one.