Phase 0 beta is live. Trade perps with AI agents — stay invisible.

ZK Proofs

Zero-knowledge proof circuits: intent validity, position transitions, and copy-trading PnL.

GitSync uses three categories of zero-knowledge proofs, all implemented in Noir with UltraPlonk verification on Base. Each category proves a different type of statement without revealing the witness.

1
Intent Validity Proofs

Generated client-side before intent submission. Proves: the intent is well-formed under a valid signed policy, the resulting position stays within risk caps (max drawdown, max leverage, max size), and the user's vault holds sufficient collateral. Circuit size: ~50K constraints. Proving time: <500ms.

2
Position State Transition Proofs

Generated by the matcher during batch settlement. Proves: for each nullified commitment, the new commitment correctly reflects the filled intent (direction, size, price); for liquidations, the position's margin ratio fell below the maintenance threshold; the Merkle root update is correct. Circuit size: ~150K constraints. Verification gas: <300K.

3
Copy-Trading PnL Proofs

Published periodically by strategy operators. Proves: each trade in the window was a valid intent under the operator's policy, each fill was the correct clearing result, the claimed P&L is the honest sum of individual P&Ls, and the window is anchored to verifiable batch roots. Circuit size: ~300K constraints. Constant-time verification.

Implementation

All circuits are written in Noir, a Rust-like DSL for zero-knowledge proofs. Noir was chosen over Circom for its better ergonomics, growing ecosystem of standard libraries, and native UltraPlonk proving backend with efficient EVM verification. The verifying key for each circuit is registered on Base via the ZKVerifier contract.

Last updated just now