Zero-Knowledge Proofs (Midnight)
This shows how the Fairway Cloud Agent transforms off-chain KYC data into a Midnight ZK-proof, records it on Midnight, and enables cross-chain eligibility checks on Cardano and EVM.
Flow

What’s Proven in the Circuit
The user’s KYC data satisfies required rules (e.g.,
KYC2_OK
, jurisdiction).The proof is bound to a specific wallet address.
The proof is linked to a timestamp of KYC verification (
kyc_verified_at
).The proof is anchored on Midnight as an immutable reference (
midnight_ref
).Cross-chain (Cardano/EVM) contracts only verify Merkle membership, Fairway sig, sanctions_epoch, and KYC recency — no raw PII.
Verifier Checklist (Cardano/EVM)
✅ Verify Merkle membership for
address
.✅ Verify Fairway signature over
(root, sanctions_epoch, midnight_ref)
.✅ Enforce KYC recency →
now - kyc_verified_at ≤ max_age
.✅ Enforce sanctions freshness →
sanctions_epoch == latestEpochRoot
.⬜ Optional audit: resolve
midnight_ref
on Midnight for regulator review.
Notes on Keys & Curves
Fairway signature uses chain-appropriate keys:
secp256k1 for EVM chains.
Cardano-compatible key for UTXO scripts.
Midnight Compact supports Schnorr signatures inside circuits.
On-chain verifiers don’t recompute the ZK — they only check Fairway’s signature + Merkle inclusion.
Next Steps
See Build on Cardano → validator checks for Merkle, timestamp, and sanctions epoch.
See Build on EVM → attestation schema with
kyc_verified_at
+sanctions_epoch
.Review Revocation Epochs & Freshness → how long-term KYC vs short-term sanctions are combined.
Last updated
Was this helpful?