Skip to main content
Version: Next

REST API

In its current form, Bonsai is available as REST API which parallelizes proving for individual proofs across a number of GPU workers to maximize performance.

To request an API key, complete the application form at bonsai.xyz/apply.

Key Features

STARK To SNARK

While STARK proofs, like the ones that are generated by the zkVM, offer a number of advantages over SNARKs, they're notoriosly big and computationally intensive to verify on-chain. Bonsai offers the best of both worlds by wrapping zkVM STARKs in circom Groth16 SNARKs for easy and gas-efficient on-chain verification. Check out how do this with the Bonsai Rust SDK or directly via the API.

API Limits

Bonsai enforces a number of API limits. These limits are configurable on a per API key basis. If your limits are too low to support your use case or you run out cycles, email us at devrel@risczero.com to request more.

These limits are:

  • Concurrent proofs: The max number of proofs you can generate simultaneously.
  • Cycle budget: The max number of cycles you can prove on Bonsai.
  • Cycle usage: The historical count of cycles used by your API key.
  • Executor cycle limit: The max number of cycles your API key can prove for an individual proof.
  • Max parallelism: The maximum number of workers an individual proof can be parallelized across (this limit is currently inactive).

Checking your limits

You can request your individual limits using the user/quotas API route.

Understanding cycle counts

You can log the cycle count and other performance info for your zkVM Guest program by following the instructions here.