boundless-cli
How to use the Boundless CLI — the primary interface for the Boundless ZK proof marketplace. Covers requestor, prover, and rewards commands, config, env vars, and the monorepo structure. Use when work
SKILL.md.claude/skills/boundless-cli/SKILL.md
GitHubBoundless CLI
The boundless CLI is the primary interface for the Boundless protocol — a decentralized marketplace for zero-knowledge proofs built on RISC Zero's zkVM. It connects requestors (who need ZK proofs) with provers (who generate proofs for rewards). The protocol runs on Base (L2) with staking/rewards on Ethereum (L1).
Command Quick Reference
Requestor
boundless requestor setup # Interactive setup wizard
boundless requestor config # Show configuration status
boundless requestor submit # Submit a proof request (offer + input + image)
boundless requestor submit-file # Submit a proof request from a YAML file
boundless requestor status # Check request status
boundless requestor get-proof # Download proof journal and seal
boundless requestor verify-proof # Verify a completed proof
boundless requestor deposit # Deposit funds into the market
boundless requestor withdraw # Withdraw funds from the market
boundless requestor balance # Check deposited balance
Prover
boundless prover setup # Interactive setup wizard
boundless prover config # Show configuration status
boundless prover deposit-collateral # Deposit collateral
boundless prover withdraw-collateral # Withdraw collateral
boundless prover balance-collateral # Check collateral balance
boundless prover lock # Lock a request
boundless prover fulfill # Fulfill proof requests
boundless prover execute # Execute proof via zkVM
boundless prover benchmark # Run benchmark suite
boundless prover slash # Slash a prover for failed request
boundless prover generate-config # Generate broker/compose configs
Rewards
boundless rewards setup # Interactive setup wizard
boundless rewards config # Show configuration status
boundless rewards stake-zkc # Stake ZKC tokens
boundless rewards balance-zkc # Check ZKC balance
boundless rewards staked-balance-zkc # Check staked ZKC balance
boundless rewards epoch # Get current epoch info
boundless rewards power # Check reward power
boundless rewards prepare-mining # Prepare mining work log
boundless rewards submit-mining # Submit mining work updates
boundless rewards claim-mining-rewards # Claim mining rewards
boundless rewards claim-staking-rewards # Claim staking rewards
boundless rewards delegate # Delegate rewards
boundless rewards get-delegate # Get current delegate
boundless rewards list-staking-rewards # List staking rewards by epoch
boundless rewards list-mining-rewards # List mining rewards by epoch
boundless rewards inspect-mining-state # Inspect mining state file
Configuration
Config is stored in ~/.boundless/:
config.toml— public config (selected networks, custom deployments)secrets.toml— private config (RPC URLs, private keys), 0600 permissions
Precedence (highest to lowest):
- CLI flags
- Environment variables (e.g.
REQUESTOR_RPC_URL) - Config files (
~/.boundless/secrets.toml,config.toml) - Network defaults (built-in contract addresses)
Setup wizards configure everything interactively:
boundless requestor setup
boundless prover setup
boundless rewards setup
Tip: Set AWS_EC2_METADATA_DISABLED=true on all boundless commands to avoid 2–4s AWS IMDS timeout warnings on non-EC2 machines.
Key Environment Variables
| Variable | Module | Description |
|---|---|---|
REQUESTOR_RPC_URL |
Requestor | RPC endpoint for requestor commands |
REQUESTOR_PRIVATE_KEY |
Requestor | Private key for requestor transactions |
PROVER_RPC_URL |
Prover | RPC endpoint for prover commands |
PROVER_PRIVATE_KEY |
Prover | Private key for prover transactions |
BENTO_API_URL |
Prover | Bento/Bonsai API URL |
BENTO_API_KEY |
Prover | Bento/Bonsai API key |
REWARD_RPC_URL |
Rewards | RPC endpoint for rewards (L1) |
REWARD_PRIVATE_KEY |
Rewards | Private key for reward transactions |
STAKING_PRIVATE_KEY |
Rewards | Private key for staking (can differ from reward key) |
STAKING_ADDRESS |
Rewards | Staking address (read-only) |
MINING_STATE_FILE |
Rewards | Path to mining state file |
ZKC_ADDRESS |
Rewards | ZKC token contract (has default per network) |
VEZKC_ADDRESS |
Rewards | Staked ZKC NFT contract (has default per network) |
STAKING_REWARDS_ADDRESS |
Rewards | Rewards distribution contract (has default per network) |
BEACON_API_URL |
Rewards | Beacon API URL |
BOUNDLESS_MARKET_ADDRESS |
Global | Market contract address (has default per network) |
SET_VERIFIER_ADDRESS |
Global | Verifier contract address (has default per network) |
TX_TIMEOUT |
Global | Transaction timeout in seconds (default: 300) |
LOG_LEVEL |
Global | Log verbosity: error, warn, info, debug, trace |
Networks
| Network | ID | Description |
|---|---|---|
| Base Mainnet | base-mainnet |
Production market |
| Base Sepolia | base-sepolia |
Market testnet |
| Ethereum Mainnet | eth-mainnet |
Rewards/staking (L1) |
| Ethereum Sepolia | eth-sepolia |
Rewards testnet |
Related Skills
For guided workflows that build on the CLI:
- requesting — Walk through submitting a proof request end-to-end (self-hosted storage, no Pinata needed)
- setup-prover — Deploy a prover to a GPU server using Ansible
Reference Files
- CLI Reference — Detailed command arguments, flags, and env vars
- Architecture — Monorepo structure, key crates, build toolchain
- Conventions — Code patterns for contributing to the CLI (Rust patterns, error handling, display output, testing)