Institution defines requirements
Min KYC level
Jurisdiction allow/deny
Sanctions epoch freshness (must match latest)
Max KYC age (e.g. 6 months, 12 )
User completes KYC off-chain
Vault stores PII.
Cloud Agent records kyc_verified_at.
kyc_verified_at
Proof posted to Midnight.
Fairway updates Compliance UTXO
New Merkle root.
sanctions_epoch incremented if needed.
sanctions_epoch
kyc_verified_at attached per-leaf.
Signed by Fairway.
User interacts with dApp
Submits Merkle proof with leaf {addr, claims, kyc_verified_at}.
{addr, claims, kyc_verified_at}
dApp attaches Compliance UTXO as reference input.
Validator checks
Merkle membership
Signature
sanctions_epoch=latest
now - kyc_verified_at ≤ max_age
Last updated 3 months ago
Was this helpful?