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_refon 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?

