Skip to main content

Payments

The Succinct Prover Network uses the PROVE token to facilitate payments between requesters and provers. All payments are mediated through the SuccinctVApp contract, which acts as the central settlement layer for the network.

Deposits

Requesters begin by depositing PROVE tokens into the SuccinctVApp contract using the deposit() functionality. The deposits are stored and associated with requests, forming the escrowed reward that will eventually be paid out to a prover. The deposit is subject to a minDepositAmount and is recorded internally as a Transaction for settlement tracking.

Because deposits are recorded as standalone transactions, a single wallet can prefund many future requests with one on‑chain call, and unused balances remain safely escrowed until withdrawn.

Payments

When a prover successfully completes a request, the off‑chain auctioneer service produces a ZK proof that describes the new economic state of the system. The auctioneer service bundles this ZK proof together with a list of receipts, which are lightweight instructions such as “pay 120 PROVE to prover vault X”. This proof and receipts are then processed by the SuccinctVApp contract:

  1. On‑chain verification: The contract uses a SP1 verifier to confirm that the ZK proof is valid and that it cleanly transitions the network’s Merkle‑root state from old to new.
  2. Atomic state update: If the proof is valid, the contract stores the new root and timestamp, guaranteeing every payment is tied to a provably correct state change.
  3. Receipt execution: The validated receipts are then executed in order; these receipts include payments to prover vaults, which are routed through an iPROVE yield vault so that all stakers share in the reward, and direct transfers, which are sent as raw PROVE.

Because the transfer instructions are embedded inside a cryptographically‑verified proof, no funds can move without the corresponding computation being proven correct. This ensures trust‑minimised payments with a single on‑chain transaction.

Withdrawals

Withdrawals in the network are handled via off-chain receipts included in the ZK proof submitted to the contract. When a Withdraw receipt is submitted as part of a valid step call, the contract decodes the withdrawal details and processes the transfer. The withdrawal is only executed if it is part of a proven and verified state transition.