## Estimate Cost

`$ boltz-api protein:library-screen estimate-cost`

**post** `/compute/v1/protein/library-screen/estimate-cost`

Estimate the cost of a protein library screen without creating any resource or consuming GPU.

### Parameters

- `--protein: array of object { entities, id }`

  List of protein entries to screen.

- `--target: object { chain_selection, structure, type }  or object { entities, type, bonds, 3 more }`

  Target specification (structure template or template-free)

- `--idempotency-key: optional string`

  Client-provided key to prevent duplicate submissions on retries

- `--workspace-id: optional string`

  Target workspace ID (admin keys only; ignored for workspace keys)

### Returns

- `ProteinLibraryScreenEstimateCostResponse: object { breakdown, disclaimer, estimated_cost_usd }`

  Estimate response with monetary values encoded as decimal strings to preserve precision.

  - `breakdown: object { application, cost_per_unit_usd, num_units }`

    Cost breakdown for the billed application.

    - `application: "structure_and_binding" or "small_molecule_design" or "small_molecule_library_screen" or 3 more`

      - `"structure_and_binding"`

      - `"small_molecule_design"`

      - `"small_molecule_library_screen"`

      - `"protein_design"`

      - `"protein_library_screen"`

      - `"adme"`

    - `cost_per_unit_usd: string`

      Estimated cost per displayed unit as a decimal string, rounded up to 4 decimal places. This may include token-size multipliers or generation overhead; estimated_cost_usd is the authoritative total.

    - `num_units: number`

      Number of units shown for the estimate. For structure-and-binding, this is the requested number of samples. For protein and small-molecule design/screen endpoints, this is the requested number of proteins or molecules.

  - `disclaimer: string`

  - `estimated_cost_usd: string`

    Estimated total cost as a decimal string

### Example

```cli
boltz-api protein:library-screen estimate-cost \
  --protein '{entities: [{chain_ids: [string], type: protein, value: value, cyclic: true, modifications: [{residue_index: 0, type: ccd, value: value}]}], id: id}' \
  --target '{chain_selection: {A: {chain_type: polymer, crop_residues: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], epitope_residues: [10, 11, 12], flexible_residues: [5, 6, 7]}}, structure: {type: url, url: https://example.com}, type: structure_template}'
```
