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
| Field | Value |
|---|---|
| Commit | 163e751 — trust page routing + Halborn review packet (main through f67bf83 trust surface) |
| Prior smoke baseline | 4a88f19 (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 transcript | verifier-api/circuits/apiBillingV2/mpc_transcript_apiBillingV2.json (3 contributors) |
Pre-smoke trust endpoints (baseline)
| Endpoint | HTTP | Notes |
|---|---|---|
/health | 200 | environment: production |
/.well-known/vdi-billing-revocation.json | 200 | Revocation feed |
/api/vdi/billing/transparency/head | 200 | Transparency tree head |
/api/vdi/status | 200 | operational |
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.shOutput (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_20612Assertions verified
- Attest returns
attestation.billing_proof.binding_version === bn128-poseidon8-v1 - Attest returns
billing.incircuit_binding.binding_version === bn128-poseidon8-v1 - Attest
attestation.billing_proof.vkey_hashmatches pinned manifest (artifacts.verification_key.canonical_sha256— RFC 8785 JSON digest, not raw file bytes) - Attest returns non-empty
commitment_digest - Verify returns
verification.valid === true - Verify returns
billing_check.valid === true - Verify returns
incircuit_binding_verification.valid === true - Verify returns matching
incircuit_binding_verification.commitment_digest - Tampered commitments flip
incircuit_binding_verification.validtofalse
Customer surface (unchanged)
POST /api/vdi/billing/attest → attestation + receipt + billing (+ billing_proof additive)
POST /api/vdi/billing/verify → verification + incircuit_binding_verification additiveTwo-call integration surface preserved; Phase-2 fields are additive only.
Local test matrix (pre-push)
verifier-apibilling pilot: 15/15 passed (14 functional + 1 warm-attest perf budget)protocolbilling-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).
