Initialize Prover Account
Before your bidder server can participate in the marketplace, you must register your prover identity on-chain. ProverNet is currently deployed on Base Mainnet.
Because the BREV token is originally issued on Ethereum, you must bridge your tokens to Base to meet the self-staking requirements (currently 1000 BREV). The BREV token address on Base is 0x086F405146Ce90135750Bbec9A063a8B20A8bfFb.
Prover and Submitter Roles
To maximize security, ProverNet decouples the prover and submitter roles. This allows you to maintain your prover account (which holds your staked BREV and identity) in a secure hardware or cold wallet, while running the automated bidder service with a separate submitter hot wallet that signs and submits proofs operationally.
Register Your Prover Identity
We recommend using a hardware wallet for your prover account to ensure the security of your staked assets.
The current Staking Controller contract requires a minimum self-stake of 1000 BREV. This amount is automatically transferred and staked during the initializeProver transaction.
Option A: Direct Contract Interaction (Recommended for Hardware Wallets)
Use a block explorer (e.g., BaseScan) to interact directly with the contracts using your hardware wallet. Perform these steps with your prover account:
- Approve Staking: Visit the BREV contract and call
approve(0x9c0D..., 1000000000000000000000)(for 1000 BREV) for the StakingController. - Initialize Prover: On the StakingController, call
initializeProverwith your desired commission rate in basis points (500 bps = 5%). This call will automatically transfer the 1000 BREV minimum stake from your wallet.- Default Rate: Applied to all reward sources without a specific override.
- Per-Source Override: Use
setCommissionRate(source, rate)for specific rates (e.g., set a higher 50% or 5000 bps rate forBrevisMarketto cover GPU costs).
- Set Profile: Call
setProverProfileto publish your metadata (name, icon). - Authorize the Submitter: If your submitter is a separate account, you must link them on the BrevisMarket contract:
- As the Submitter: Call
setSubmitterConsent. - As the Prover: Call
registerSubmitterto authorize that address.
- As the Submitter: Call
Option B: Use the CLI Utility (Alternative for Hot Wallets)
If you are using a standard keystore-based hot wallet, the init-prover tool automates the registration, the 1000 BREV staking, and submitter authorization in a single workflow.
-
Build the Tool:
git clone https://github.com/brevis-network/prover-network-bidder-ops cd prover-network-bidder-ops/tools go build -
Update
config.toml:Section Field Description chain keystorePath to your prover account keystore JSON. chain passphrasePassphrase for the prover keystore. init_prover submitter_keystore(Optional) Submitter keystore if using a separate account. init_prover submitter_passphrase(Optional) Passphrase for the submitter account. init_prover prover_nameName that identifies you or your organization. init_prover prover_iconURL of the icon that represents your organization. init_prover default_commission_rate_bpsDefault commission (e.g., 500 = 5%). init_prover proof_fee_commission_rate_bps(Optional) BrevisMarket specific rate (e.g., 5000 = 50%). -
Run:
./tools init-prover --config ./config.toml