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.wasmin 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.pyin 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 ID | From | What changed |
|---|---|---|
| 37987b85… | 7 Sep 2026 | The Core build becomes the one that ships (v0.21.0) |
| 3867611d… | 5 Sep 2026 | A faster field arithmetic backend beneath libsecp256k1, and a checked public-key hint |
| 1d6c3792… | 24 Aug 2026 | Proving split into segments, joined by a balanced tree |
| b62d2a60… | 21 Aug 2026 | Each chunk's input read as raw bytes and grouped by transaction |
| 4722cec8… | 4 Aug 2026 | Guards from the fifth internal audit round |
| b161735a… | 4 Aug 2026 | Same program; the ID stopped depending on where the code is checked out |
| dfc9eeda… | 3 Aug 2026 | BIP30 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.
| GET | Returns |
|---|---|
| /api/state?slim=1 | Progress, recent proofs, provers, claims, and the block the unbroken run is waiting on |
| /api/meta | Prover program ID, frontier, coordinator source hash |
| /api/vranges | Every verified range, with its prover and a link to its proof |
| /api/spine | Details of the single genesis proof |
| /api/spine/proof | The 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.
Linking to the explorer
Every explorer result has its own address, so you can link straight to it.
| Address | Opens |
|---|---|
| /explorer/?block=170 | One block: where it stands, and every proof that covers it |
| /explorer/?range=1000-1999 | A 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 |