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.
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.
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 firstname.lastname@example.org 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.