> ## Documentation Index
> Fetch the complete documentation index at: https://docs.boundless.network/llms.txt
> Use this file to discover all available pages before exploring further.

# Boundless Proving Stack

> A high-level explainer on the individual parts that make up the Boundless proving stack.

## Overview

At the core of the Boundless proving stack is *Bento*, which fundamentally builds upon the [RISC Zero zkVM](https://dev.risczero.com/api/zkvm/). The Boundless team shipped *Bento* after 2+ years of operating a highly parallelized and highly performant remote proving cluster, known as Bonsai (now deprecated - see [here](/developers/tutorials/bonsai#what-happened-to-bonsai)). Bento encapsulates this practical experience and learnings into a stack built for the Boundless market. Bento scales from single GPU machines to large clusters which makes it ideal for provers in the Boundless protocol.

## What is Bento?

<Tip>
  For a deeper dive into Bento's technical design, components and configuration, please see [Bento Technical Design](/provers/bento).
</Tip>

Bento is a semi multi-tenant proving cluster for the [RISC Zero zkVM](https://dev.risczero.com/api/zkvm/). Concretely, Bento is a Docker compose stack which contains all the services needed to run a Bento cluster. It is highly configurable, and features:

* [multi GPU support](/provers/performance-optimization#multiple-agents-and-gpus).
* multi machine support.
* support for proofs of any size.
* safe cache/storage for all proof data.
* a robust retry system.
* an API for proof management.

<img src="https://mintcdn.com/boundless/SgkYpsrMj9zy3PYU/images/bento.png?fit=max&auto=format&n=SgkYpsrMj9zy3PYU&q=85&s=44719316942f31e20f2b3c1094908086" alt="Bento Diagram" width="3840" height="2161" data-path="images/bento.png" />

The [Prover Quick Start](/provers/quick-start) has information about getting started with Bento, a recommended initial configuration and how to run basic sample proof workloads.

## What is the Broker?

<Warning>
  For all provers, a collateral balance is necessary to be able to cover requirements for proof request lock-in. The Broker service provides a straightforward way to [deposit funds](/provers/broker#deposit-collateral-to-the-market) to the market.
</Warning>

The [Broker](/provers/broker) is responsible for market interactions (see steps **2b.** and **4a.** in *Figure 1*) including evaluating requests to assign a price, bidding on requests to lock them, issuing proving requests to the Bento proving cluster, and submitting proof fulfillments onchain.
Broker configuration is primarily managed through the [`broker.toml`](/provers/broker#settings-in-brokertoml) file in the Boundless directory.

<Frame caption="Figure 1: Proof Lifecycle of a Boundless Proof.">
  <img src="https://mintcdn.com/boundless/4Kv5qykQFNwNQlTu/images/proof-lifecycle.png?fit=max&auto=format&n=4Kv5qykQFNwNQlTu&q=85&s=3f88df8b0eb20b3972d8b57ff1e90bea" alt="Proof Lifecycle Diagram" width="1920" height="1080" data-path="images/proof-lifecycle.png" />
</Frame>

To get started with the Broker, please see the [Broker page](/provers/broker).

## How are Bento and the Broker related?

Bento is responsible for:

* the API for managing proof requests.
* queuing and scheduling proof requests.
* executing guest programs.
* running proving using the RISC Zero zkVM.
* aggregating proofs into the right format for the Boundless Market.

Bento is **not** responsible for interaction with the Boundless market.

The recommended service for market interaction for provers is the [Broker](/provers/broker) service. The Broker is responsible for both interacting with the Boundless Market i.e., bidding on and fulfilling proof requests *and* sending job requests to the Bento proving cluster.

<img src="https://mintcdn.com/boundless/SgkYpsrMj9zy3PYU/images/bento_broker.png?fit=max&auto=format&n=SgkYpsrMj9zy3PYU&q=85&s=1de62d01b85833fc1e2b3a08925ac69e" alt="A diagram showing how Bento & Broker are related" width="3840" height="2161" data-path="images/bento_broker.png" />
