| Crates.io | sindri-cli |
| lib.rs | sindri-cli |
| version | 0.3.1 |
| created_at | 2025-03-13 20:11:43.592178+00 |
| updated_at | 2025-07-21 21:38:46.931739+00 |
| description | A command-line interface for interacting with Sindri's API |
| homepage | https://sindri.app/ |
| repository | https://github.com/Sindri-Labs/sindri-rust |
| max_upload_size | |
| id | 1591436 |
| size | 100,435 |
A command-line interface for interacting with Sindri's API distributed as a cargo binary. An alternative Sindri CLI, written in typescript and distributed as a npm package, can be found here.
Install the latest Sindri rust CLI via:
cargo install sindri-cli --force --locked
Most functionalities within the Sindri Rust SDK and CLI require you to supply your API key. This method allows you to create an API key by providing your Sindri username and password via:
cargo sindri login [OPTIONS]
--username <USERNAME>: Sindri username (optional, will prompt if not provided)--password <PASSWORD>: Sindri password (optional, will prompt if not provided)--keyname <KEYNAME>: Name to identify your new key (optional, will prompt if not provided)--teamname <TEAMNAME>: Sindri team which the key should be created for (optional, will prompt if not provided)--base-url <URL>: Sindri API base URL (overrides SINDRI_BASE_URL env var)The login command will prompt for your Sindri credentials (if not provided via options) and allow you to select a team to generate an API key for.
After successful login, you can use the generated API key by either:
Setting the SINDRI_API_KEY environment variable
Using the --api-key flag with any cargo sindri command
Retrieve the original source code that was uploaded to Sindri for a given project build via:
cargo sindri clone <CIRCUIT> < [OPTIONS]
<CIRCUIT>: UUID or project build identifier to clone--directory <DIR>: Path where the circuit should be saved (defaults to circuit name)--api-key <KEY>: Sindri API key (overrides SINDRI_API_KEY env var)--base-url <URL>: Sindri API base URL (overrides SINDRI_BASE_URL env var)Upload your local DSL circuit or zkVM code to Sindri so that you can generate proofs via:
cargo sindri deploy <PATH> [OPTIONS]
<PATH>: Path to a local project directory or an archive file (.zip, .tar, .tar.gz, .tgz)--api-key <KEY>: Sindri API key (overrides SINDRI_API_KEY env var)--base-url <URL>: Sindri API base URL (overrides SINDRI_BASE_URL env var)--tags <TAGS>: Optional comma-separated tags to identify the circuit--meta <KEY1=VALUE1,KEY2=VALUE2>: Optional metadata key-value pairs (comma-separated)# Deploy with tags and metadata
cargo sindri deploy ./my-circuit --tags test,v1 --meta version=1.0,env=staging --api-key=your-api-key
# Deploy using environment variables for authentication
export SINDRI_API_KEY="your-api-key"
cargo sindri deploy ./my-circuit
After successful deployment, the CLI will output the circuit's UUID and human-readable identifier which can be used for future proof requests.