Releases: boundless-xyz/boundless
v1.2.0
Release 1.2.0: Stability + Reliability
This release is not mandatory but is recommended for provers to update to see increased stability and performance of their proving node
This release includes new features, stability improvements and bug fixes aimed at increasing the reliability of operating a Boundless node.
Suggested Migration Path
As this release comes with a fix to prove agents, it is recommended that all components in your bento cluster and broker are updated. There is no need to clear volumes/state, as there are no breaking changes, but recommended to submit any povw work before upgrading to ensure no loss in work.
See https://docs.boundless.network/provers/broker#safe-upgrade-steps for details around upgrading
Prover Node
Gas priority mode
We observed reliability issues during periods of high gas-fee volatility, where provers would occasionally miss proving jobs due to delayed transaction inclusion. To address this, provers can now customize the priority fee they use, helping ensure their transactions land on-chain in a timely manner.
Base/priority fees can be set based on three preset modes (low, medium, high) or custom values (#1339).
The default is medium which increases the priority fee used compared to previous releases to ensure transactions can be confirmed during times of high gas volatility.
# broker.toml
[market]
gas_priority_mode = "high"
Fallback RPC Provider
Provers can now use environment variable PROVER_RPC_URLS to configure multiple RPC urls in your broker. This can help with stability in cases a single RPC providers is unreliable or unavailable.
Warning: This features will double RPC costs. It uses Alloy's FallbackRPCProvider, which sends each requests to all the RPC urls in parallel, and uses the fastest valid response.
min_mcycle_limit
To allow provers to set a minimum mcycle count for skipping orders. This is similar to max_mcycle_limit and enables cases where provers only want to prove larger orders.
# broker.toml
[market]
min_mcycle_limit = 500
Bug fix: "empty keccak input"
Fixes a issue where provers could see Keccak failed: [BENTO-KECCAK-002] Received empty keccak input with claim_digest when proving orders.
Requestor SDK
Configurable funding mode
This enables requestors to decide on a request funding mode with requests sent to match their preference. The default has changed to always deposit the order's max price, to ensure all requests can land.
See: #1414 for more details on what modes are available.
What's Changed
Prover/requestor changes
- BM-1819: Bump version on main to 1.2.0 by @capossele in #1289
- BM-1875: Update dependencies by @capossele in #1308
- BM-1901: Update Cranberry address by @willpote in #1321
- BM-1906: Increase max collateral for single instance provers. Drive by logging tweaks by @willpote in #1322
- BM-1944: Catch tx conf errors in OGs, lower sev2 thresholds for expired requests, fix error logging in monitor by @willpote in #1332
- BM-1954: disable job cleanup by @zeroecco in #1340
- BM-1799: Zeroecoo/prom by @zeroecco in #1274
- BM-1908: Add support for FallbackLayer to boundless sdk by @willpote in #1324
- BM-1987: Update Boundless and Bento to latest r0 3.0.4 by @ec2 in #1360
- BM-2006: fix max journal bytes to not apply to claim digest match predicate by @austinabell in #1374
- BM-2008: prune claim journal before finalize proof by @austinabell in #1375
- BM-1951: refactor DynamicGasFiller and update defaults by @austinabell in #1339
- BM-1998: add minimum mcycle limit config to broker by @austinabell in #1368
- BM-2031: Change skip reasons to INFO level by @willpote in #1386
- BM-2050: lower steel buffer blocks size by @austinabell in #1396
- BM-2051: Acai + Strawberry to requestor lists by @willpote in #1397
- BM-1900: add VerifierLayeredRouter by @capossele in #1319
- BM-1894: Add application verifier by @capossele in #1315
- BM-2082: Add additional logging to debug delays between onchain submission and broker seeing orders by @willpote in #1403
- BM-2016: update default configs for broker by @austinabell in #1400
- BM-2026: switch redis to latest valkey by @austinabell in #1383
- BM-2042: Add FundingMode by @capossele in #1414
- BM-2056: temporarily avoid unlinking keccak inputs before proof completion by @austinabell in #1431
- BM-2104: put aggregation work on higher priority than proving jobs by @austinabell in #1416
- BM-2148: Improved logging around proof generation and submission by @willpote in #1442
- BM-1933: Additional Order Fulfillment Checks by @mintybasil in #1329
Internal infrastructure changes
- BM-1733: add prover-cluster metrics and alarms by @ncocchiaro in #1278
- BM-1848: Add V2 list orders endpoint by @willpote in #1291
- BM-1851: update prover quick start to 1.1 by @neutronmoderator in #1293
- BM-1855: allow internal services access to prover api by @zeroecco in #1295
- BM-1857: Zeroecco/internal reqs by @zeroecco in #1296
- BM-1867: shorten name further by @zeroecco in #1299
- BM-1870: Add notifications to pipelines for packer and prover-cluster by @ncocchiaro in #1303
- BM-1872: Include additional alarms to monitor config by @ncocchiaro in #1305
- BM-1883: Change alert topic for packer and prover-cluster pipelines by @ncocchiaro in #1309
- BM-1874: drop 0xf353bda16a83399c11e09615ee7ac326a5a08ccf from distributor by @capossele in #1307
- BM-1885: Remove sample pipeline by @ncocchiaro in #1311
- BM-1886: Add new alarms around Bento logging by @ncocchiaro in #1312
- BM-1892: Small changes to ECR scans, pipeline tags, prover-cluster log retention and LTs by @ncocchiaro in #1313
- BM-1893: Rename VPC objects to reconcile code with deployment by @ncocchiaro in #1314
- BM-1897: Bump collateral requirements for OGs to 15 by @willpote in #1316
- BM-1884: Zeroecco/internal reqs by @zeroecco in #1310
- BM-1911: Increase packer retries for regular base AMI by @ncocchiaro in #1327
- BM-1937: Update ExecStart command in bento-executor.service by @zeroecco in #1331
- BM-1945: Zeroecco/convert to env by @zeroecco in #1333
- BM-1948: prover cluster update by @zeroecco in #1336
- BM-1958: cleanup rmd env by @zeroecco in #1341
- INF-31: Update setup.sh for provers on 24.04 by @ncocchiaro in #1344
- BM-1910: Change prover-cluster manager setup to use an ASG by @ncocchiaro in #1326
- BM-1971: autoscaler for proves by @zeroecco in #1343
- BM-1972: repair bad merge by @zeroecco in #1345
- BM-1973: Conditionally create ASG instance alarms based on ASG min size by @ncocchiaro in #1347
- BM-1950: Update log lambda to query alarm tags for debugging via chatbot by @ncocchiaro in #1338
- BM-1975: update prover-cluster by @zeroecco in #1348
- INF-32: add address to requestor list by @ncocchiaro in #1350
- BM-1977: Add temporary support for both styles of env vars by @ncocchiaro in https://git...
Broker Release broker-v1.2.0
Broker Release
This release includes the following components:
- Broker: Core broker service for order management
- Broker Stress Test: Stress testing tool for broker
Supported Platforms
- Linux (AMD64, ARM64)
- macOS (Intel, Apple Silicon)
Installation
Download the appropriate binary for your platform and make it executable:
chmod +x broker
chmod +x broker-stressUsage
# Run broker
./broker --help
# Run stress test
./broker-stress --helpVerification
Verify the integrity of downloaded files using the provided SHA256 checksums.
Bento Release bento-v1.2.0
Bento Components Release
This release includes a complete bundle of Bento components:
- Bento Agent: Workflow execution agent (with CUDA support)
- Bento REST API: REST API server
- Bento Client: Client library
Supported Platforms
- Linux AMD64
Installation
Download the appropriate bundle for your platform and extract:
# Download and extract
tar -xzf bento-bundle-linux-amd64.tar.gz
cd bento-bundle
# Make executables
chmod +x bento-agent
chmod +x bento-rest-api
chmod +x bento-clientUsage
# Run agent
./bento-agent --help
# Run REST API
./bento-rest-api --help
# Run client
./bento-client --helpVerification
Verify the integrity of downloaded bundles using the provided SHA256 checksums.
v1.1.2
Urgent CLI update — Upgrade Required to Claim POVW Rewards After 12/3
v1.1.2 is now live and includes a critical fix to the CLI, which is required for the upcoming Fusaka upgrade on 12/3.
To upgrade, re-install the boundless CLI with:
cargo install --locked --git https://github.com/boundless-xyz/boundless boundless-cli --branch release-1.1 --bin boundless
To update to the latest version.
Without upgrading, provers will be unable to claim POVW rewards once Ethereum upgrades. We apologize for the short notice and are available to help with any issues.
Bento/Broker update steps
The primary changes will require updating the broker and bento. The simplest path to updating is to just stop the prover altogether, pull latest changes, and start again:
just prover down
git checkout release-1.1
git pull
# Whichever command you use to start the prover
just prover
However the main changes are just to broker and the aux agent of the bento cluster (as well as a logging change to the bento REST API), if you would like to specifically update only those components.
What's changed
- BM-1934: Refactor /work-receipts log (#1330) @austinabell
- BM-1985: do not create bucket unless you need to (#1358) @zeroecco
- BM-1869: fix bento debug build (clap) and pass through env (#1301) @austinabell
- BM-1899: set maximum value for exec replicas (#1318) @austinabell
- BM-1961: Default to 3s poll to save RPC costs (#1342) @willpote
- BM-1931: Remove redundant rust install from bento_cli dockerfile (#1328) @austinabell
- BM-1964: bump risc0-steel to v2.4.1 (#1349) @Wollac
Broker Release broker-v1.1.2
Broker Release
This release includes the following components:
- Broker: Core broker service for order management
- Broker Stress Test: Stress testing tool for broker
Supported Platforms
- Linux (AMD64, ARM64)
- macOS (Intel, Apple Silicon)
Installation
Download the appropriate binary for your platform and make it executable:
chmod +x broker
chmod +x broker-stressUsage
# Run broker
./broker --help
# Run stress test
./broker-stress --helpVerification
Verify the integrity of downloaded files using the provided SHA256 checksums.
Bento Release bento-v1.1.2
Bento Components Release
This release includes a complete bundle of Bento components:
- Bento Agent: Workflow execution agent (with CUDA support)
- Bento REST API: REST API server
- Bento Client: Client library
Supported Platforms
- Linux AMD64
Installation
Download the appropriate bundle for your platform and extract:
# Download and extract
tar -xzf bento-bundle-linux-amd64.tar.gz
cd bento-bundle
# Make executables
chmod +x bento-agent
chmod +x bento-rest-api
chmod +x bento-clientUsage
# Run agent
./bento-agent --help
# Run REST API
./bento-rest-api --help
# Run client
./bento-client --helpVerification
Verify the integrity of downloaded bundles using the provided SHA256 checksums.
v1.1.1
What's Changed
Fixes to bento cleanup scripts and boundless CLI for povw prepare. For full notes about 1.1.0 see https://github.com/boundless-xyz/boundless/releases/tag/v1.1.0
- BM-1854: fix(bento): aux worker cleanup/connection handling (#1294) @austinabell
- BM-1858: add removed sanity check from refactor (#1297) @austinabell
Full Changelog: v1.1.0...v1.1.1
Broker Release broker-v1.1.1
Broker Release
This release includes the following components:
- Broker: Core broker service for order management
- Broker Stress Test: Stress testing tool for broker
Supported Platforms
- Linux (AMD64, ARM64)
- macOS (Intel, Apple Silicon)
Installation
Download the appropriate binary for your platform and make it executable:
chmod +x broker
chmod +x broker-stressUsage
# Run broker
./broker --help
# Run stress test
./broker-stress --helpVerification
Verify the integrity of downloaded files using the provided SHA256 checksums.
Bento Release bento-v1.1.1
Bento Components Release
This release includes a complete bundle of Bento components:
- Bento Agent: Workflow execution agent (with CUDA support)
- Bento REST API: REST API server
- Bento Client: Client library
Supported Platforms
- Linux AMD64
Installation
Download the appropriate bundle for your platform and extract:
# Download and extract
tar -xzf bento-bundle-linux-amd64.tar.gz
cd bento-bundle
# Make executables
chmod +x bento-agent
chmod +x bento-rest-api
chmod +x bento-clientUsage
# Run agent
./bento-agent --help
# Run REST API
./bento-rest-api --help
# Run client
./bento-client --helpVerification
Verify the integrity of downloaded bundles using the provided SHA256 checksums.
v1.1.0
Boundless Prover v1.1.0 & CLI v1.0.0 - Increasing Prover Revenue
Overview
v1.1.0 transforms prover profitability on the Boundless Network, making it easier than ever to join as a prover. The prover now defaults to a more opinionated setup designed to maximize revenue streams by balancing market proving and ZK mining. We've also introduced a configuration wizard that simplifies the process of configuring your prover to maximize hardware utilization.
This is the first in a sequence of releases dedicated to improving prover economics and experience, with more revenue-enhancing features and optimizations already in development. The intended result of these releases will be increased profits for provers who participate in the market.
Provers running v1.1.0 will see immediate improvements to their bottom line through:
- Dual Revenue Streams: Every proof you complete on the market earns you both ETH from requesters and ZKC rewards through Proof of Verifiable Work (PoVW). When you have excess GPU capacity, your hardware automatically switches to mining ZKC with no downtime, ensuring you're maximizing revenue from your hardware setup.
- Profit-First Prioritization: New
CyclePricealgorithm ensures you're always working on the most profitable market requests. - Hardware-Optimized Configuration: Automated setup wizard tailors your prover configuration for maximum utilization and efficiency.
- Better Visibility: New CLI commands give you real-time insights into your earnings and pending rewards.
Important: This release contains breaking changes that significantly improve prover profitability. Migration is straightforward using our new configuration wizard, and the performance gains make it essential for all provers to upgrade.
New Features
Market + Mining by Default
Your prover now generates more revenue. With zero configuration required, dual earning is enabled by default:
- Prioritize market orders that earn both ETH fees from market orders and ZKC rewards from mining
- Seamlessly transitions to pure ZKC mining when market demand is low to ensure your machines are always generating revenue
- Every market proof contributes to your proportional share of epoch ZKC distributions. Earning your prover more fees and reducing the revenue of pure mining provers
Profit-first order prioritization
The new default prioritization framework, CyclePrice, focuses exclusively on profitability:
- Evaluates tasks based on ETH fees and ZKC collateral rewards per compute cycle
- Automatically prioritizes work that maximizes both revenue streams
- Reduces wasted cycles on unprofitable tasks
Hardware-Optimized Configuration Wizard (Highly recommended)
Launch the new interactive configuration wizard to generate optimized broker.toml and compose.yml files tailored to your hardware specifications and profitability goals.
The wizard automatically:
- Detects your hardware capabilities such as, proving MHZ and CPU threads
- Configures optimal worker counts for your CPU/GPU setup to maximize utilization
- Analyzes recent market orders and sets pricing thresholds to ensure you can earn ETH from the market
CLI v1.0.0
The Boundless CLI has been completely redesigned to improve user experience, simplify the operational side of running a prover on Boundless, and give you real-time insights into earnings and pending rewards.
- Simplified configuration management via setup wizards and config files
- Automatic back ups for Reward state files
- Historical tracking of all reward claims
- Support for dry-run mining reward submissions and viewing projected rewards
Priority Requestor Lists
The prover now provides pre-configured requestor priority lists, ensuring you prioritize requests from designated requestors known for profitable work.
- Requestor lists with known and reputable requestors, curated by Boundless Networks, can be enabled with the configuration wizard.
- The configuration wizard automatically recommends appropriate lists based on your hardware's proving performance.
Migration Instructions
Quick Start Migration
- Stop your current prover
just broker down
- Upgrade your code to the release branch
git checkout release-1.1
- Install the new CLI
cargo install --locked --git https://github.com/boundless-xyz/boundless boundless-cli --branch release-1.1 --bin boundless
- Configure your prover module in the CLI
boundless prover setup
- Run the configuration wizard to generate broker.toml and compose.yml files
boundless prover generate-config
- Run your prover
just prover up
Breaking Changes
Naming
Note: previous naming is supported for backward compatibility in this release, but may be removed in future versions
just broker upis nowjust prover up. Running a prover runs both a broker and a miner.- Environment variables updated to reduce misconfiguration risks:
- RPC_URL => PROVER_RPC_URL
- PRIVATE_KEY => PROVER_PRIVATE_KEY
Default Behavior Changes
- just prover up now defaults to maximum profitability mode (market + mining enabled)
CyclePriceprioritization is now the default prioritization mode when locking order (previously random). This can be changed by setting order_commitment_priority in yourbroker.toml. See https://docs.boundless.network/provers/broker#settings-in-brokertoml
CLI v1.0.0 Breaking Changes
The CLI has been completely redesigned with a new module based structure:
- Three modules: requestor, prover, rewards
- Configure each module with boundless setup
“PoVW” has been renamed to “mining”, and moved to the rewards module:
- E.g. boundless povw prepare => boundless rewards prepare-mining
Support
The Boundless team is available to assist with migration:
Technical Support:Provers Telegram Channel
Documentation:docs.boundless.network
Status Updates: @boundless_xyz
What's Next
This release initiates our roadmap of profitability improvements, with multiple upcoming releases planned to further optimize revenue generation. Stay tuned for further updates.
What's Changed
- BM-1662: Zeroecco/prover cluster by @zeroecco in #1175
- BM-1709: add db clean up script by @zeroecco in #1218
- BM-1707: Add expired requests alarms by @capossele in #1216
- BM-1639: [V-BND-VUL-003] Add check to reject non-canonical signatures by @capossele in #1161
- BM-1638: [V-BND-VUL-002] Unify client signature validation via
_verifyClientSignatureby @capossele in #1160 - BM-1644: [V-BND-VUL-004] Validate request within the assessor by @capossele in #1165
- BM-1645: [V-BND-VUL-006] Add non-zero checks on constructor by @capossele in #1166
- BM-1652: [V-BND-VUL-005] add partial payment by @capossele in #1171
- BM-1713: add admin-2 to development by @capossele in #1221
- BM-1712: force ec2 prover instance recreation by @capossele in #1220
- BM-1646: [V-BND-VUL-007] Set required Solidity version to 0.8.26 by @capossele in #1167
- BM-1718: Update compose.yml by @zeroecco in #1223
- BM-1716: Update setup script for new nvidia repo by @willpote in #1222
- BM-1637: [V-BND-VUL-001] Add gas check to ensure sufficient gas is available for an optional callback by @capossele in #1159
- BM-1720: adjust addresses of distributor and lower tick interval by @austinabell in #1225
- BM-1700: Integration order stream into market indexer by @willpote in #1209
- BM-1719: add depositTo by @capossele in #1224
- BM-1722: Update compose.yml by @zeroecco in #1227
- BM-1711: update mining proof size default by @austinabell in #1219
- BM-1701: Support requestor lists in broker by @willpote in #1210
- BM-1726: break out the onchain and offchain order generators by @zeroecco in #1231
- BM-1724: Fix indexer table for last updated by @willpote in #1229
- BM-1727: fix prod order generator keys by @austinabell in #1232
- BM-1728: bump indexer CACHE_DATE by @capossele in #1233
- BM-1739: allow access to aws resources by @zeroecco in #1235
- BM-1741: Add API key with higher rate limits by @willpote in #1236
- BM-1749: force ec2 instance recreation by @capossele in #1243
- BM-1745: Update toml with requestor lists by @willpote in #1242
- BM-1725: Pipelines for requestor lists and indexer for rewards. Nightly packer fixes. Alarms fixes by @willpote in #1230
- BM-1751: rotate credentials by @zeroecco in #1245
- BM-1...