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 notoriously 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, contact us on our discord 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.