●PUBLIC BETASEPOLIA TESTNET · NO REAL FUNDS · NOT PRODUCTION CUSTODYLearn more →
Vela

Fraud Proofs

Cryptographic evidence of operator misbehavior — computable by any party from public data.

What a Fraud Proof Is

A fraud proof is a compact artifact that demonstrates that the operator published an incorrect state root for a specific batch. It contains:

  • The pre-batch state snapshot (the state root before the batch)
  • The batch transaction log (all requests processed, in order)
  • The operator-published post-batch state root
  • The locally-computed post-batch state root
  • Evidence of divergence (specific accounts or keys where the states differ)

What Can Be Proven

Fraud proofs can detect any of the following operator misbehaviors:

  • Incorrect fill execution: The operator matched orders incorrectly — wrong price, wrong size, wrong counterparty.
  • Fee theft: The operator charged a higher fee than the configured rate.
  • Balance inflation: The operator credited balances without a corresponding deposit transaction.
  • Nonce manipulation: The operator accepted orders with duplicate nonces.
  • Order book manipulation: The operator applied a different matching algorithm (e.g. not price-time priority).

Running the Verifier

The fraud proof verifier is included in the Vela repository as the zkvm crate. To verify a specific batch:

# Fetch batch data from DA layer and run verifier
cargo run --bin zkvm-verify -- \
  --batch-id 12345 \
  --da-backend local \
  --da-path ./data/batches.log

Current Limitations

In the public beta, fraud proofs are purely informational. The verifier can detect and prove operator misbehavior, but there is no on-chain mechanism to act on the proof. On-chain fraud proof verification, combined with operator slashing, is the M6 milestone.

Even without on-chain enforcement, running the verifier locally provides meaningful assurance. If the verifier consistently agrees with the operator's published roots, execution is correct. Public verification by multiple independent parties builds confidence in the operator's honesty.