Free hosted tool
Estimate resource cost from your browser.
This calls the exact same compiled cost model as tinyzkp-engine estimate — the same core function, wrapped once for the browser and once for the CLI. No JavaScript on this page computes, rounds, or adjusts a single number in the result.
Honest scope: only two field shapes are calculated:
goldilocks at extension degree 2 (the only profile TinyZKP can prove today) and
babybear,
koalabear, or
mersenne31, each at extension degree 4 (recognized for resource-shape math, not provable yet). A configuration outside these shapes, or one that uses an AIR feature not yet supported, still returns a real byte-for-byte estimate — it is just marked
provable_today: false with the specific blocking reason(s) linked below. See
unsupported_profile,
unsupported_air_feature,
ram_budget_insufficient, and
manifest_contract_invalid.
Run the estimator
Fill in a configuration and submit. The exact same JSON is shown below as an equivalent local tinyzkp-engine estimate command, so you can cross-check this page against a local run.
Equivalent local command
This exact JSON, run locally instead of hosted:
{}
cat > job.json <<'JSON'
<paste the JSON above>
JSON
tinyzkp-engine estimate --config job.json
A CI gate, scripts/ci/estimate_wasm_cli_parity_gate.mjs, fails the build if the hosted WASM and the native CLI ever compute different numbers for the same input.
Get a free key
Anonymous requests are rate-limited per IP address. A free key raises that ceiling. There is no account, password, dashboard, or confirmation email — one request returns one key.
What we store
We store a hash of your key, never the key itself, and we never store your submitted email in any form — there is no account-recovery, revocation, or notification flow that would need it, so keeping it would be pure unused liability. Every successful estimate writes one shape-only row (field, extension degree, trace-width and row-count bucket, feature flags, whether it is provable, and the blocking reason codes) tagged with either your key's opaque identifier or a salted hash of your IP address, never both and never the raw address. No request body, workload, witness, or AIR is ever stored. This log exists to measure real demand, not to profile callers; see security for the surrounding posture.
Good fit
Use this for
- Sizing conventional vs. bounded RAM, scratch, and I/O before committing to a machine.
- Checking whether a configuration is provable today, or seeing exactly why it is not.
- Cross-checking the hosted number against a local
tinyzkp-engine estimate run.
Do not use this for
- Submitting a real workload, witness, trace, or AIR — this endpoint accepts only the small declared shape above, never a payload.
- Proving — this is an estimate only; run the free doctor and then prove locally.
- Anything requiring an SLA — this is a free, best-effort, rate-limited tool with no uptime guarantee.