Skip to main content

Set up a Prover

note

You can skip launching any provers in a local devnet if you only want to test basic transaction flow and block proposals. However, without a prover:

  • No L2 blocks will ever be proven or finalized on-chain.
  • Any actions requiring finalized state (e.g., bridging back to L1, claiming certain rewards) will remain pending or be unavailable.

Launching a prover locally can be challenging:

  • Hardware Requirements: Certain provers (e.g., SGX) need specialized hardware or enclaves.
  • Complex Setup: Installing and configuring toolchains, drivers, or required libraries can be time-consuming.

In a based rollup like Surge, provers generate proofs that validate L2 blocks proposed by the proposer. These proofs are submitted on-chain via a prover-relayer which marks the blocks as verified (finalized).

Without a prover submitting proofs, blocks remain unverified on-chain, limiting certain functionality (like finalizing cross-chain actions).

This guide explains how to launch and configure a Surge prover. You can choose any of the following provers that Surge supports, each of which has different requirements: