Security & trust
What you trust, what you don't, and why the guarantees that matter (solvency, no bad debt, your privacy) hold without trusting any operator or keeper.
Privora is designed so the dangerous parts are enforced by the chain, and the convenient parts are the only things an off-chain agent touches. Here's the line, drawn explicitly.
What you trust#
- The Solana validators and the program code, every proof is verified on-chain against state, and the verification logic is the program itself.
- The cryptography, Groth16 over the live
alt_bn128/poseidonsyscalls, and the trusted setup behind each circuit's verifying key. - The price oracle for the mark (a verified Pyth feed) and the liquidation committee's threshold key, both public and bound to the market.
What you don't#
- No operator can see your position. There is no hosted prover and no privileged reader, your witness never leaves your device.
- The relayer can't link, redirect, or front-run you. It pays gas for a masked payload; payout destinations are bound into the proof.
- Keepers and agents can't make you insolvent. They can only advance shared, deterministic state (matching, the funding crank), never your safety.
No bad debt, structurally#
Liquidation uses a conservative seal (it triggers no later than the true level) combined with per-bucket leverage caps. Collateral always covers the loss at the bucket boundary, so the insurance fund is structurally undrawn; it exists only to cover the residual granularity gap from sealing the level to a coarse bucket. Privora never ships a liquidation path that could leave the insurance fund underwater.
The no-agent invariant#
Confidentiality boundaries#
What is, and isn't, revealed, stated plainly:
- Always hidden: your size, collateral, leverage, exact liquidation level, and the link between any two of your trades.
- Revealed only at liquidation: the coarse bucket your level falls in, never the exact price, and only once it's crossed.
- Public by design: the on-ramp (deposit) and off-ramp (withdraw), where tokens cross the boundary. Never a trading action.