Skip to main content

Overview

The Boundless Market SDK offers high-level Rust APIs for interacting with the Boundless Market smart contracts, preparing and submitting ZK proofs, and handling relevant offchain data such as images and inputs. Crate Documentation

Installation

or add manually to your Cargo.toml:
where X.X.X is the latest release specified on the Boundless GitHub Release page.

SDK Workflow Overview

Below is an example of the Boundless end-to-end programmatic workflow:

1. Initialize Client

2. Upload Program and Input

3. Submit Proof Request

4. Await Fulfillment

5. Fetch Proof Results

SDK Modules

client

  • Client: Core struct for transactions, storage, and offchain interaction.

contracts

  • BoundlessMarketService: Onchain interactions (requests, fulfillments, deposits).
  • SetVerifierService: Manages aggregated proof verifications.
  • Structures: ProofRequest, Offer, Fulfillment.

input

  • GuestEnv: Environment for the guest, including input (e.g. stdin)

order_stream_client

  • OrderStreamClient: Submit/fetch orders offchain via WebSocket.

storage

  • Uploaders: S3, GCS, and Pinata for uploading program and input data.
  • Downloaders: HTTP, S3, GCS, and File for downloading programs and inputs (auto-selected based on URL scheme).

selector

  • Utilities for tracking/verifying proof types.

Example: Full Proof Submission