Skip to content

Phase-2 in-circuit binding — production smoke evidence

Latest run (UTC): 2026-06-24
API: https://api.quantzk.com
Binding version: bn128-poseidon8-v1
Railway env: VDI_BILLING_INCIRCUIT_BINDING=true, NODE_ENV=production

Git / deploy

FieldValue
Commit163e751 — trust page routing + Halborn review packet (main through f67bf83 trust surface)
Prior smoke baseline4a88f19 (2026-06-10, post PR #9 MPC deploy)
MPC proving key (apiBillingV2_0001.zkey)13a088cce212b26e774dfaa8808f4ec77b739fdfa5da1213f4b8bd21e6315cc8
MPC verification key file (apiBillingV2.vkey.json bytes)32534119df9fc82a6bbe7d0a6275bee5753646c5f325e985e01ea07fd448179f
billing_proof.vkey_hash (canonical JSON)a486fb22805a60df7608e70a2939c178c2b12d9e84a4b94152c98e4859815bcf
Ceremony transcriptverifier-api/circuits/apiBillingV2/mpc_transcript_apiBillingV2.json (3 contributors)

Pre-smoke trust endpoints (baseline)

EndpointHTTPNotes
/health200environment: production
/.well-known/vdi-billing-revocation.json200Revocation feed
/api/vdi/billing/transparency/head200Transparency tree head
/api/vdi/status200operational

Live health sample (2026-06-24):

json
{
  "status": "healthy",
  "service": "quantzk-verifier-api",
  "message": "QuantZK VDI Verifier API is running",
  "environment": "production",
  "version": "1.0.0",
  "timestamp": "2026-06-24T08:26:50.158Z"
}

Phase-2 smoke script output

Command:

bash
API=https://api.quantzk.com bash scripts/smoke-billing-phase2.sh

Output (2026-06-24):

→ Health check
  ok  /health
→ Revocation feed
  ok  /.well-known/vdi-billing-revocation.json
→ Attest (Phase-2 binding expected)
  ok  [billing_proof.binding_version] bn128-poseidon8-v1
  ok  [incircuit_binding.binding_version] bn128-poseidon8-v1
  ok  [billing_proof.vkey_hash] a486fb22805a60df7608e70a2939c178c2b12d9e84a4b94152c98e4859815bcf
  ok  commitment_digest=699544666649885121408093...
→ Verify (valid bundle)
  ok  [verification.valid] true
  ok  [billing_check.valid] true
  ok  [incircuit_binding.valid] true
  ok  [incircuit_binding.digest_match] 699544666649885121408093397655629490306605765104328449724905536987231702224
→ Verify (tampered commitments — must fail)
  ok  [tamper.incircuit_binding.valid] false

✅ Phase-2 in-circuit binding live on https://api.quantzk.com
   binding_version: bn128-poseidon8-v1
   event_id:        evt_smoke_1782225535_20612

Assertions verified

  1. Attest returns attestation.billing_proof.binding_version === bn128-poseidon8-v1
  2. Attest returns billing.incircuit_binding.binding_version === bn128-poseidon8-v1
  3. Attest attestation.billing_proof.vkey_hash matches pinned manifest (artifacts.verification_key.canonical_sha256 — RFC 8785 JSON digest, not raw file bytes)
  4. Attest returns non-empty commitment_digest
  5. Verify returns verification.valid === true
  6. Verify returns billing_check.valid === true
  7. Verify returns incircuit_binding_verification.valid === true
  8. Verify returns matching incircuit_binding_verification.commitment_digest
  9. Tampered commitments flip incircuit_binding_verification.valid to false

Customer surface (unchanged)

POST /api/vdi/billing/attest  →  attestation + receipt + billing (+ billing_proof additive)
POST /api/vdi/billing/verify  →  verification + incircuit_binding_verification additive

Two-call integration surface preserved; Phase-2 fields are additive only.

Local test matrix (pre-push)

  • verifier-api billing pilot: 15/15 passed (14 functional + 1 warm-attest perf budget)
  • protocol billing-incircuit-binding: 6/6 passed
  • Artifact validator: 12/12 manifest hashes match on boot

Prior run (2026-06-10, post PR #9)

Commit 4a88f19. Same 9 assertions passed; event_id: evt_smoke_1781074083_2382. Commitment digest differed (expected per attest inputs).

Prior run (2026-05-29, pre-MPC)

Commit a17667e. Same assertions passed; event_id: evt_smoke_1780029678_7273. Commitment digest differed (expected — new Groth16 keys after MPC rotation).

Verification keys are embedded in attestations. The verifier is open source.