Run a real proof. Break it. Then build toward BCH.
Proofnote is easiest to understand as an execution sequence, not a
whitepaper. Start with released bytes and a falsifiable result. Move
into CashVM locally. Touch Chipnet only after the transaction and its
privacy residue are reviewable.
State labels are part of the claim. Planned work never borrows a green
badge from the released verifier.
01
RUNNABLE
Verify a released proof in this browser
The self-contained verifier performs the complete BN254 pairing over the released V4 proof, pinned key, and public values without a clone, package, wallet, or backend verifier.
See the exact program key and settlement projection verified by the pairing, then follow the remaining builder, authenticated-verdict, UTXO-seal, wallet, and chain boundaries without collapsing them into one claim.
Run the released proof-bound spend lab: verify the real pairing, reconstruct the unsigned transaction, execute the covenant in Libauth CashVM, then watch five binding failures reject.
Run the published proof, inspect its complete released JSON, and
trace each verified value toward the BCH transaction boundary. Your
browser performs the complete BN254 pairing locally. The release
harness still falsifies every binding, while the visitor view stays
focused on one proof and one honest path toward a proof-bound spend.
Delegate the mechanics. Keep the authority boundaries.
These prompts are work contracts. They identify the source, demand
negative controls, and stop before secrets or network mutation.
RUNNABLE
Audit the released verifier
Audit the released verifier.
Work only from a clean clone of casablanca-labs/proofnote at commit 31b74e8a0391d432e5544cb5fe6366f40619b482.
Preflight: require Node.js >=20.6.0 and pnpm, confirm HEAD equals the commit, and confirm the checkout is clean. Run pnpm install --frozen-lockfile before conformance.
1. Read examples/01-verify-a-proof/README.md and example.json.
2. Run node examples/01-verify-a-proof/run.mjs; require exit 0.
3. Run node examples/01-verify-a-proof/run.mjs --tamper-settlement; require exit 3 and PAIRING_REJECTED.
4. Run node examples/conformance.mjs, node verify.mjs list, and node verify.mjs explain verify-a-proof.
5. Report the exact evidence identities, positive result, negative result, and every stated non-claim.
Use no private repository or network. Do not claim CashVM execution, BCH validation or inclusion, wallet acceptance, spendability, privacy, or successive transfer.
RUNNABLE
Run the Libauth CashVM example
The agent audits immutable released code and executes the positive
path plus every negative control. It receives no wallet or network authority.
Audit the released proof-bound CashVM spend lab.
Work only from a clean clone of casablanca-labs/proofnote at commit 31b74e8a0391d432e5544cb5fe6366f40619b482. Do not edit files.
Use the frozen lockfile. Confirm @bitauth/libauth is exactly 3.1.0-next.8 with npm integrity sha512-Pm+Ju+YP3JeBLLTiVrBnia2wwE4G17r4XqpvPRMcklElJTe8J6x3JgKRg1by0Xm3ZY6UFxACkEAoSA+x419/zA==. Disable network access while running the example.
Target: examples/06-simulate-proof-bound-cashvm.
1. Read README.md and example.json; verify every pinned input digest.
2. Run pnpm install --frozen-lockfile, then execute the positive path and require exit 0.
3. Run --tamper-proof, --mismatch-fixture, --tamper-verdict, --tamper-source, and --tamper-locking; require their documented non-zero exit codes and classifications.
4. Run node examples/conformance.mjs and require all examples to match their contracts.
5. Explain the complete chain: private witness and relation → proof and public values → pinned-key Groth16 pairing → authenticated terminal verdict → settlement covenant re-derivation of the BCH transaction projection → authorized UTXO spend.
6. Separate the measured proof-generation time, proof byte size, native verification time, covenant execution, and transaction byte size. Explain why proving time depends on the relation, witness size, recursion/wrapping, hardware, and prover implementation.
The lab performs a real pairing and real local covenant execution, but uses a synthetic terminal verdict token instead of executing Proofnote's production authenticated verifier graph. It does not establish chain inclusion, funding, signing, wallet acceptance, privacy, or successive-owner transfer. Never fund, sign, broadcast, or claim the covenant itself verifies Groth16.
OPERATOR GATE
Prepare a Chipnet continuation
Construction can be automated. tBCH funding, signing, broadcast,
and post-broadcast attestation remain separate approvals.
Prepare a Chipnet operator packet template.
Start only after a reviewed, released local CashVM example exists. Name its immutable public commit, example ID, and evidence digest at the top of the report.
1. Re-run the released local positive and negative controls from the pinned commit.
2. Record the exact synthetic transaction bytes and every boundary that makes them non-broadcastable.
3. Produce a checklist separating operator-selected tBCH source outputs, funding authorization, private-key access, signing, pre-broadcast review, broadcast, and fresh chain attestation.
4. State all public metadata and linkage surfaces a real broadcast would expose.
5. Add no wallet integration, UTXO lookup, funding, signing, or network call.
Return a reviewable operator packet template, not a claim that a Chipnet transaction was prepared, signed, relayed, accepted, or confirmed.
Current R&D boundary
Successive private transfer is not a tutorial yet.
Bob → Charles remains blocked until host, Rust, SP1, proof,
authenticated CashVM verifier, settlement, chain, and recipient
acceptance evidence agree. The public repository carries the blocker
as a machine-readable example instead of a runnable-looking substitute.