hazync

Developers

What every Hazync proof is checked against, how that has changed, and the public API the explorer is built on.

What the proofs are checked against

If any of these change, every proof on the board stops verifying.

Prover program ID
A hash of the exact program that proves blocks. Rebuild it yourself with the reproducible build and you should get the same value.
Browser verifier, SHA-256
344a21b90985de084c50cef212029097b7d7b46fba4945f2043d8cfd1246ad9f
Matches hazync-verify.wasm in the latest release; the same bytes have shipped since v0.21.3.
Coordinator source, SHA-256
Reported by the running coordinator, so you can compare it with coordinator/server.py in the repository.

Earlier program IDs

Any change to the prover program changes its ID, and proofs made under an old ID do not verify under the new one. So each change restarts the board from genesis.

Program IDFromWhat changed
37987b85…7 Sep 2026The Core build becomes the one that ships (v0.21.0)
3867611d…5 Sep 2026A faster field arithmetic backend beneath libsecp256k1, and a checked public-key hint
1d6c3792…24 Aug 2026Proving split into segments, joined by a balanced tree
b62d2a60…21 Aug 2026Each chunk's input read as raw bytes and grouped by transaction
4722cec8…4 Aug 2026Guards from the fifth internal audit round
b161735a…4 Aug 2026Same program; the ID stopped depending on where the code is checked out
dfc9eeda…3 Aug 2026BIP30 closed with a coinbase-only Merkle tree

The ID in use now is the one at the top of this page, read live from the coordinator. Every ID since the first, with the date it became current and the commit that made it, is in reproduce/LINEAGE.tsv.

Older IDs, back to July 2026, and the reason for each are recorded in reproduce/METHOD_ID. Proofs from earlier boards are archived and still verify with the release that made them.

The API

Everything on the explorer comes from a public, read-only API. Use it for your own tools.

GETReturns
/api/state?slim=1Progress, recent proofs, provers, claims, and the block the unbroken run is waiting on
/api/metaProver program ID, frontier, coordinator source hash
/api/vrangesEvery verified range, with its prover and a link to its proof
/api/spineDetails of the single genesis proof
/api/spine/proofThe genesis proof itself, as binary
/api/proof/<lo>-<hi>The proof for one range, as binary; /api/proof/<n> for one block
curl -s https://hazync.org/api/meta
curl -s https://hazync.org/api/spine

Hashes from the coordinator are in Bitcoin's internal byte order; reverse them to compare with a block explorer.

Every explorer result has its own address, so you can link straight to it.

AddressOpens
/explorer/?block=170One block: where it stands, and every proof that covers it
/explorer/?range=1000-1999A range of blocks: how much of it is proven, and the proofs in and around it
/explorer/?prover=<name>One prover: their counts, what they are proving now, and their proofs