Documentation
Start here
What zkCheck is, how a review runs, and the words it uses.
- What zkCheck isA seal on a contract's bytecode that says a fixed list of checks passed, with a proof, a signed review, and money behind it. The source is never published.
- How a review runsFrom a read-only GitHub grant to a signed seal, in eight steps, with what leaves the auditor at each one.
- GlossaryThe words zkCheck uses, each with one meaning.
Concepts
Each part of a seal, one page at a time: the hash, the checks, the proof, the review, the stake.
- The sealWhat gets sealed, why it is a hash of bytecode and not an address, and what that means for every deployment of the same code.
- The eight checksRule set one. What each check asks, how it decides, what counts as evidence, and the direction it errs in when it cannot decide.
- 01 · No hidden mintNo path a caller can reach creates supply after the constructor.
- 02 · No owner drainBalances move only from the caller, or with an allowance the holder gave.
- 03 · Tax under the capIf there is a tax, it is fixed, or every function that can change it is bounded at or under ten percent.
- 04 · No blacklistNo per-address switch decides whether a transfer reverts.
- 05 · No pause on transferNo switch can stop transfers after they are open. A switch that can only open them is fine.
- 06 · Not upgradeableThe runtime contains no DELEGATECALL. The code that is sealed is the code that runs.
- 07 · Sell path clearsTokens go into a fresh address and come back out, on a fork of the chain. The one check that runs the code instead of reading it.
- 08 · No self-destructThe runtime contains no SELFDESTRUCT. Nothing can remove the code once it is sealed.
- The proofWhat a zkVM proves, what it does not, and how a seal says whether its checks were proven or signed.
- The reviewAn auditor reads the source and signs what it sees. Why it exists next to the checks, what it is told, and why it never quotes code.
- Auditors and stakeAn auditor is a key with tokens locked behind it. What the stake buys, who can be one, and why one auditor is the wrong number.
- Claims and the cover poolWhat happens when a sealed contract is exploited, who decides, and where the money comes from.
- The privacy lineExactly what stays private, exactly what becomes public, and who sees what in between.
- What a seal cannot seeThe list of things outside rule set one, so that nobody reads more into eight answers than is there.
Developers
Getting a review, preparing a repository, reading a seal from your own code.
- Get a reviewThe three steps on the Seal page, what each one needs, and what to expect while the press runs.
- Preparing your repositoryWhat the worker needs to compile your code and match it to the chain, for Foundry, Hardhat and Remix projects.
- Why bytecode does not matchThe message says no contract in the repository compiles to the code on the chain. Here is every reason it happens, most common first.
- Passing the checksHow to write a token that passes all eight, with the patterns that pass and the ones that fail, check by check.
- Reading a sealThe public API: list seals, fetch one by code hash, and what each field means.
- Displaying the badgeShow a token's seal on your launchpad, wallet or token page with one lookup and no permission from anyone.
- Running the workerThe press is a Docker image with Foundry in it. What it needs, what it exposes, and how to run your own.
Tutorials
Step by step, from a repository to a badge on a launch page.
- Seal a Pons launch before the revealGet the badge on your launch page before anyone has seen the code, then keep it after deployment.
- Seal a token that is already liveThe code is deployed, holders exist, and you want the badge. Ten minutes if the repository matches.
- Verify a seal yourselfRebuild the digest from the public fields and recover the signer. Twenty lines, no trust in the endpoint.
- Build a token that passes 8 of 8A complete ERC-20 with a fixed tax, annotated against each check, and the local test that tells you before you submit.
- Integrate the badge in a launchpadShow every listed token's seal automatically, gate features on it, and verify signatures at build time.
The whitepaper
The whole design in one document: the problem with audits, the seal, the eight checks, the proof, the review, the stake and the claims, the privacy line, the economics, the road from signed checks to a zkVM and an on-chain registry.
Read it