Skip to content
Go to Boltz API

Estimate cost for a protein design run

client.Protein.Design.EstimateCost(ctx, body) (*ProteinDesignEstimateCostResponse, error)
POST/compute/v1/protein/design/estimate-cost

Estimate the cost of a protein design run without creating any resource or consuming GPU.

ParametersExpand Collapse
body ProteinDesignEstimateCostParams

Binder specification for protein design. Use no_template for sequence-defined binders, structure_template for uploaded binder structures, or boltz_curated for Boltz-managed nanobody and antibody defaults.

type ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpec struct{…}

Binder specification starting from an existing 3D structure. Upload a CIF/PDB file and select which chains to include, which residues to keep, and which regions to redesign. Only chains included in chain_selection are part of the engine run.

ChainSelection map[string, ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecChainSelectionUnion]

Chains selected from the uploaded binder structure, keyed by chain ID. Only chains listed here are included in the engine run — any chains omitted from this mapping are ignored. Each value defines which residues to keep (crop_residues). Omit design_motifs to include the chain as fixed scaffold context.

Accepts one of the following:
type ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpec struct{…}

Per-chain crop and design specification for a polymer chain in structure_template mode.

ChainType Polymer
CropResidues ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecCropResiduesUnion

0-indexed residue indices to retain from this chain, or 'all' to keep all residues. Residues not listed are removed before design.

Accepts one of the following:
type ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecCropResiduesArray []int64
type All string
DesignMotifs []ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotifUnionoptional

Optional motifs (replacement or insertion) defining which regions to redesign on this chain. Omit this field to include the chain as fixed scaffold context.

Accepts one of the following:
type ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotif struct{…}

Replace a contiguous region of the sequence with a designed segment. Residues from start_index to end_index (inclusive) are replaced with a new sequence of the specified length.

DesignLengthRange ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotifDesignLengthRange

Allowed sequence length range for designed regions

Max int64

Maximum sequence length in residues. Must be >= min.

minimum0
Min int64

Minimum sequence length in residues

minimum0
EndIndex int64

0-indexed end residue (inclusive)

minimum0
StartIndex int64

0-indexed start residue (inclusive)

minimum0
Type Replacement
type ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotif struct{…}

Insert a designed segment at a specific position in the sequence.

AfterResidueIndex int64

0-indexed position after which to insert. Use -1 to insert before the first residue.

minimum-1
DesignLengthRange ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotifDesignLengthRange

Allowed sequence length range for designed regions

Max int64

Maximum sequence length in residues. Must be >= min.

minimum0
Min int64

Minimum sequence length in residues

minimum0
Type Insertion
type ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplateLigandChainSpec struct{…}

Per-chain specification for a ligand chain in structure_template mode. The full ligand is always included.

ChainType Ligand
Modality ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecModality
Accepts one of the following:
const ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecModalityPeptide ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecModality = "peptide"
const ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecModalityAntibody ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecModality = "antibody"
const ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecModalityNanobody ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecModality = "nanobody"
const ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecModalityCustomProtein ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecModality = "custom_protein"
Structure ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecStructureUnion

How to provide a CIF structure file. URLs are auto-detected; base64 uploads must use chemical/x-cif media type.

Accepts one of the following:
type ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecStructureURLSource struct{…}
Type URL
URL string
formaturi
type ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecStructureCifBase64Source struct{…}
Data string

Base64-encoded CIF file contents

MediaType ChemicalXCif

Must be chemical/x-cif for CIF files

Type Base64
Type StructureTemplate
Rules ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecRulesoptional

Constraints applied during sequence design

ExcludedAminoAcids []stringoptional

Single-letter amino acid codes to exclude from design (e.g. ['C', 'P'] to exclude cysteine and proline)

ExcludedSequenceMotifs []stringoptional

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. "NGS", "NXS").

MaxHydrophobicFraction float64optional

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpec struct{…}

Binder specification without a structural template. Define the binder from sequence components (fixed and designed segments) without providing a starting 3D structure.

Entities []ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityUnion

Binder entities composing the design. At least one must be a designed_protein entity. Additional fixed entities (RNA, DNA, ligands) can be included as part of the complex.

Accepts one of the following:
type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityDesignedProteinEntity struct{…}

Protein binder entity with designed and/or fixed segments.

ChainIDs []string

Chain IDs to assign to this entity

Type DesignedProtein
Value string

Binder sequence specification. Fixed amino acids are written as literal single-letter codes. Designed regions are written as a length (fixed) or a length range (min..max). Example: "MKTAYI5..10VKSHFSRQ" means fixed MKTAYI, then 5-10 designed residues, then fixed VKSHFSRQ. "20" means 20 fully designed residues. "ACDE8GHI" means fixed ACDE, then 8 designed residues, then fixed GHI.

Cyclic booloptional

Whether the sequence is cyclic

Modifications []ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityDesignedProteinEntityModificationUnionoptional

Optional polymer modifications. Defaults to [] when omitted.

Accepts one of the following:
type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityDesignedProteinEntityModificationCcdModification struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Ccd
Value string

CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for phosphoserine)

type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityDesignedProteinEntityModificationSmilesModification struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Smiles
Value string

SMILES string for the modification

type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityFixedProteinEntity struct{…}

A fixed protein entity whose sequence is not redesigned.

ChainIDs []string

Chain IDs to assign to this entity

Type Protein
Value string

Amino acid sequence (one-letter codes)

Cyclic booloptional

Whether the sequence is cyclic

Modifications []ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityFixedProteinEntityModificationUnionoptional

Optional polymer modifications. Defaults to [] when omitted.

Accepts one of the following:
type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityFixedProteinEntityModificationCcdModification struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Ccd
Value string

CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for phosphoserine)

type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityFixedProteinEntityModificationSmilesModification struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Smiles
Value string

SMILES string for the modification

type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityFixedRnaEntity struct{…}
ChainIDs []string

Chain IDs to assign to this entity

Type Rna
Value string

RNA nucleotide sequence (A, C, G, U, N)

Cyclic booloptional

Whether the sequence is cyclic

Modifications []ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityFixedRnaEntityModificationUnionoptional

Optional polymer modifications. Defaults to [] when omitted.

Accepts one of the following:
type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityFixedRnaEntityModificationCcdModification struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Ccd
Value string

CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for phosphoserine)

type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityFixedRnaEntityModificationSmilesModification struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Smiles
Value string

SMILES string for the modification

type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityFixedDnaEntity struct{…}
ChainIDs []string

Chain IDs to assign to this entity

Type Dna
Value string

DNA nucleotide sequence (A, C, G, T, N)

Cyclic booloptional

Whether the sequence is cyclic

Modifications []ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityFixedDnaEntityModificationUnionoptional

Optional polymer modifications. Defaults to [] when omitted.

Accepts one of the following:
type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityFixedDnaEntityModificationCcdModification struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Ccd
Value string

CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for phosphoserine)

type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityFixedDnaEntityModificationSmilesModification struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Smiles
Value string

SMILES string for the modification

type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityFixedLigandSmilesEntity struct{…}
ChainIDs []string

Chain IDs to assign to this entity

Type LigandSmiles
Value string

SMILES string representing the ligand

type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecEntityFixedLigandCcdEntity struct{…}
ChainIDs []string

Chain IDs to assign to this entity

Type LigandCcd
Value string

CCD code from RCSB PDB (e.g. 'ATP', 'ADP')

Modality ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecModality
Accepts one of the following:
const ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecModalityPeptide ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecModality = "peptide"
const ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecModalityAntibody ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecModality = "antibody"
const ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecModalityNanobody ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecModality = "nanobody"
const ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecModalityCustomProtein ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecModality = "custom_protein"
Type NoTemplate
Bonds []ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecBondoptional

Covalent bond constraints between atoms in the binder complex. If defining bonds where an atom is part of a designed protein chain, assume residue indices count designed regions as the minimum length. Example: designed protein "1..3C1..2", "C" is residue 1 (0-indexed) of the designed protein.

Atom1 ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecBondAtom1Union

Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

Accepts one of the following:
type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecBondAtom1LigandAtom struct{…}

Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

AtomName string

Standardized atom name (verifiable in CIF file on RCSB). Atom-level references to ligand_smiles entities are currently unsupported; use ligand_ccd instead.

ChainID string

Chain ID containing the atom

Type LigandAtom
type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecBondAtom1PolymerAtom struct{…}
AtomName string

Standardized atom name (verifiable in CIF file on RCSB)

ChainID string

Chain ID containing the atom

ResidueIndex int64

0-based residue index

minimum0
Type PolymerAtom
Atom2 ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecBondAtom2Union

Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

Accepts one of the following:
type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecBondAtom2LigandAtom struct{…}

Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

AtomName string

Standardized atom name (verifiable in CIF file on RCSB). Atom-level references to ligand_smiles entities are currently unsupported; use ligand_ccd instead.

ChainID string

Chain ID containing the atom

Type LigandAtom
type ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecBondAtom2PolymerAtom struct{…}
AtomName string

Standardized atom name (verifiable in CIF file on RCSB)

ChainID string

Chain ID containing the atom

ResidueIndex int64

0-based residue index

minimum0
Type PolymerAtom
Rules ProteinDesignEstimateCostParamsBinderSpecificationNoTemplateBinderSpecRulesoptional

Constraints applied during sequence design

ExcludedAminoAcids []stringoptional

Single-letter amino acid codes to exclude from design (e.g. ['C', 'P'] to exclude cysteine and proline)

ExcludedSequenceMotifs []stringoptional

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. "NGS", "NXS").

MaxHydrophobicFraction float64optional

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
type ProteinDesignEstimateCostParamsBinderSpecificationBoltzCuratedBinderSpec struct{…}

Boltz-managed curated binder specification. Choose a curated nanobody or antibody family and Boltz will select from maintained template lists during design. The curated lists are managed by Boltz and may be updated over time to improve quality and coverage.

Binder ProteinDesignEstimateCostParamsBinderSpecificationBoltzCuratedBinderSpecBinder

Boltz-managed curated binder family. Boltz maintains and may update the underlying template lists on behalf of customers.

Accepts one of the following:
const ProteinDesignEstimateCostParamsBinderSpecificationBoltzCuratedBinderSpecBinderBoltzNanobody ProteinDesignEstimateCostParamsBinderSpecificationBoltzCuratedBinderSpecBinder = "boltz_nanobody"
const ProteinDesignEstimateCostParamsBinderSpecificationBoltzCuratedBinderSpecBinderBoltzAntibody ProteinDesignEstimateCostParamsBinderSpecificationBoltzCuratedBinderSpecBinder = "boltz_antibody"
Type BoltzCurated
Rules ProteinDesignEstimateCostParamsBinderSpecificationBoltzCuratedBinderSpecRulesoptional

Constraints applied during sequence design

ExcludedAminoAcids []stringoptional

Single-letter amino acid codes to exclude from design (e.g. ['C', 'P'] to exclude cysteine and proline)

ExcludedSequenceMotifs []stringoptional

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. "NGS", "NXS").

MaxHydrophobicFraction float64optional

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
NumProteins param.Field[int64]

Number of protein designs to generate. Must be between 10 and 1,000,000.

minimum10
maximum1000000

Target specification (structure template or template-free)

type ProteinDesignEstimateCostParamsTargetStructureTemplateTarget struct{…}

Target defined by an uploaded 3D structure (CIF or PDB file). Only chains included in chain_selection are used.

ChainSelection map[string, ProteinDesignEstimateCostParamsTargetStructureTemplateTargetChainSelectionUnion]

Chains selected from the uploaded structure, keyed by chain ID. Only chains listed here are included in the engine run — any chains omitted from this mapping are ignored. Each value defines which residues to keep, which are epitope residues, and which are flexible.

Accepts one of the following:
type ProteinDesignEstimateCostParamsTargetStructureTemplateTargetChainSelectionStructureTemplateTargetPolymerChainSpec struct{…}

Per-chain specification for a polymer (protein/RNA/DNA) chain in a structure template target.

ChainType Polymer
CropResidues ProteinDesignEstimateCostParamsTargetStructureTemplateTargetChainSelectionStructureTemplateTargetPolymerChainSpecCropResiduesUnion

0-indexed residue indices to retain from this chain, or 'all' to keep all residues. Residues not listed are excluded from the engine run.

Accepts one of the following:
type ProteinDesignEstimateCostParamsTargetStructureTemplateTargetChainSelectionStructureTemplateTargetPolymerChainSpecCropResiduesArray []int64

0-indexed residue indices to keep

type All string
EpitopeResidues []int64optional

0-indexed residue indices where binder contact is desired (the epitope). All indices must be present in crop_residues.

FlexibleResidues []int64optional

0-indexed residue indices allowed to move during design (e.g. flexible loop regions). All indices must be present in crop_residues.

type ProteinDesignEstimateCostParamsTargetStructureTemplateTargetChainSelectionStructureTemplateTargetLigandChainSpec struct{…}

Per-chain specification for a ligand chain in a structure template target. The full ligand is always included.

ChainType Ligand
Structure ProteinDesignEstimateCostParamsTargetStructureTemplateTargetStructureUnion

How to provide a CIF structure file. URLs are auto-detected; base64 uploads must use chemical/x-cif media type.

Accepts one of the following:
type ProteinDesignEstimateCostParamsTargetStructureTemplateTargetStructureURLSource struct{…}
Type URL
URL string
formaturi
type ProteinDesignEstimateCostParamsTargetStructureTemplateTargetStructureCifBase64Source struct{…}
Data string

Base64-encoded CIF file contents

MediaType ChemicalXCif

Must be chemical/x-cif for CIF files

Type Base64
Type StructureTemplate
type ProteinDesignEstimateCostParamsTargetNoTemplateTarget struct{…}

Target defined by sequences only, without a 3D structure template

Entities []ProteinDesignEstimateCostParamsTargetNoTemplateTargetEntityUnion

Entities (proteins, RNA, DNA, ligands) defining the target complex.

Accepts one of the following:
type ProteinDesignEstimateCostParamsTargetNoTemplateTargetEntityProteinEntity struct{…}
ChainIDs []string

Chain IDs for this entity

Type Protein
Value string

Amino acid sequence (one-letter codes)

Cyclic booloptional

Whether the sequence is cyclic

Modifications []ProteinDesignEstimateCostParamsTargetNoTemplateTargetEntityProteinEntityModificationUnionoptional

Post-translational modifications. Optional; defaults to an empty list when omitted.

Accepts one of the following:
type ProteinDesignEstimateCostParamsTargetNoTemplateTargetEntityProteinEntityModificationCcdModification struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Ccd
Value string

CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for phosphoserine)

type ProteinDesignEstimateCostParamsTargetNoTemplateTargetEntityProteinEntityModificationSmilesModification struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Smiles
Value string

SMILES string for the modification

type ProteinDesignEstimateCostParamsTargetNoTemplateTargetEntityRnaEntity struct{…}
ChainIDs []string

Chain IDs for this entity

Type Rna
Value string

RNA nucleotide sequence (A, C, G, U, N)

Cyclic booloptional

Whether the sequence is cyclic

Modifications []ProteinDesignEstimateCostParamsTargetNoTemplateTargetEntityRnaEntityModificationUnionoptional

Chemical modifications. Optional; defaults to an empty list when omitted.

Accepts one of the following:
type ProteinDesignEstimateCostParamsTargetNoTemplateTargetEntityRnaEntityModificationCcdModification struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Ccd
Value string

CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for phosphoserine)

type ProteinDesignEstimateCostParamsTargetNoTemplateTargetEntityRnaEntityModificationSmilesModification struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Smiles
Value string

SMILES string for the modification

type ProteinDesignEstimateCostParamsTargetNoTemplateTargetEntityDnaEntity struct{…}
ChainIDs []string

Chain IDs for this entity

Type Dna
Value string

DNA nucleotide sequence (A, C, G, T, N)

Cyclic booloptional

Whether the sequence is cyclic

Modifications []ProteinDesignEstimateCostParamsTargetNoTemplateTargetEntityDnaEntityModificationUnionoptional

Chemical modifications. Optional; defaults to an empty list when omitted.

Accepts one of the following:
type ProteinDesignEstimateCostParamsTargetNoTemplateTargetEntityDnaEntityModificationCcdModification struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Ccd
Value string

CCD code from RCSB PDB (e.g. 'MSE' for selenomethionine, 'SEP' for phosphoserine)

type ProteinDesignEstimateCostParamsTargetNoTemplateTargetEntityDnaEntityModificationSmilesModification struct{…}
ResidueIndex int64

0-based index of the residue to modify

minimum0
Type Smiles
Value string

SMILES string for the modification

type ProteinDesignEstimateCostParamsTargetNoTemplateTargetEntityLigandCcdEntity struct{…}
ChainIDs []string

Chain IDs for this ligand

Type LigandCcd
Value string

CCD code (e.g., ATP, ADP)

type ProteinDesignEstimateCostParamsTargetNoTemplateTargetEntityLigandSmilesEntity struct{…}
ChainIDs []string

Chain IDs for this ligand

Type LigandSmiles
Value string

SMILES string representing the ligand

Type NoTemplate
Bonds []ProteinDesignEstimateCostParamsTargetNoTemplateTargetBondoptional

Covalent bond constraints between atoms in the target complex. Atom-level ligand references currently support ligand_ccd only; ligand_smiles is unsupported.

Atom1 ProteinDesignEstimateCostParamsTargetNoTemplateTargetBondAtom1Union

Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

Accepts one of the following:
type ProteinDesignEstimateCostParamsTargetNoTemplateTargetBondAtom1LigandAtom struct{…}

Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

AtomName string

Standardized atom name (verifiable in CIF file on RCSB). Atom-level references to ligand_smiles entities are currently unsupported; use ligand_ccd instead.

ChainID string

Chain ID containing the atom

Type LigandAtom
type ProteinDesignEstimateCostParamsTargetNoTemplateTargetBondAtom1PolymerAtom struct{…}
AtomName string

Standardized atom name (verifiable in CIF file on RCSB)

ChainID string

Chain ID containing the atom

ResidueIndex int64

0-based residue index

minimum0
Type PolymerAtom
Atom2 ProteinDesignEstimateCostParamsTargetNoTemplateTargetBondAtom2Union

Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

Accepts one of the following:
type ProteinDesignEstimateCostParamsTargetNoTemplateTargetBondAtom2LigandAtom struct{…}

Ligand atom reference. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

AtomName string

Standardized atom name (verifiable in CIF file on RCSB). Atom-level references to ligand_smiles entities are currently unsupported; use ligand_ccd instead.

ChainID string

Chain ID containing the atom

Type LigandAtom
type ProteinDesignEstimateCostParamsTargetNoTemplateTargetBondAtom2PolymerAtom struct{…}
AtomName string

Standardized atom name (verifiable in CIF file on RCSB)

ChainID string

Chain ID containing the atom

ResidueIndex int64

0-based residue index

minimum0
Type PolymerAtom
Constraints []ProteinDesignEstimateCostParamsTargetNoTemplateTargetConstraintUnionoptional

Structural constraints (pocket and contact). Atom-level ligand references currently support ligand_ccd only; ligand_smiles is unsupported.

Accepts one of the following:
type ProteinDesignEstimateCostParamsTargetNoTemplateTargetConstraintPocketConstraint struct{…}

Constrains the binder to interact with specific pocket residues on the target.

BinderChainID string

Chain ID of the binder molecule

ContactResidues map[string, []int64]

Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. "A") and the value is an array of 0-indexed residue indices that define the pocket on that chain.

MaxDistanceAngstrom float64

Maximum allowed distance in Angstroms between binder and pocket residues. Typical range: 4-8 A.

Type Pocket
Force booloptional

Whether to force the constraint

type ProteinDesignEstimateCostParamsTargetNoTemplateTargetConstraintContactConstraint struct{…}

Contact constraint between two tokens. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

MaxDistanceAngstrom float64

Maximum distance in Angstroms

Token1 ProteinDesignEstimateCostParamsTargetNoTemplateTargetConstraintContactConstraintToken1Union

Ligand contact token. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

Accepts one of the following:
type ProteinDesignEstimateCostParamsTargetNoTemplateTargetConstraintContactConstraintToken1PolymerContactToken struct{…}
ChainID string

Chain ID

ResidueIndex int64

0-based residue index

minimum0
Type PolymerContact
type ProteinDesignEstimateCostParamsTargetNoTemplateTargetConstraintContactConstraintToken1LigandContactToken struct{…}

Ligand contact token. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

AtomName string

Atom name. Atom-level references to ligand_smiles entities are currently unsupported; use ligand_ccd instead.

ChainID string

Chain ID

Type LigandContact
Token2 ProteinDesignEstimateCostParamsTargetNoTemplateTargetConstraintContactConstraintToken2Union

Ligand contact token. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

Accepts one of the following:
type ProteinDesignEstimateCostParamsTargetNoTemplateTargetConstraintContactConstraintToken2PolymerContactToken struct{…}
ChainID string

Chain ID

ResidueIndex int64

0-based residue index

minimum0
Type PolymerContact
type ProteinDesignEstimateCostParamsTargetNoTemplateTargetConstraintContactConstraintToken2LigandContactToken struct{…}

Ligand contact token. Atom-level ligand references currently support ligand_ccd entities only; ligand_smiles is unsupported.

AtomName string

Atom name. Atom-level references to ligand_smiles entities are currently unsupported; use ligand_ccd instead.

ChainID string

Chain ID

Type LigandContact
Type Contact
Force booloptional

Whether to force the constraint

EpitopeLigandChains []stringoptional

Chain IDs of ligand entities that are part of the binding epitope. Ligands are marked as epitope in full (no residue-level selection).

EpitopeResidues map[string, []int64]optional

Polymer chain residues where binder contact is desired (the epitope). Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices.

IdempotencyKey param.Field[string]optional

Client-provided key to prevent duplicate submissions on retries

maxLength255
WorkspaceID param.Field[string]optional

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

ReturnsExpand Collapse
type ProteinDesignEstimateCostResponse struct{…}

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

Breakdown ProteinDesignEstimateCostResponseBreakdown

Cost breakdown for the billed application.

Application ProteinDesignEstimateCostResponseBreakdownApplication
Accepts one of the following:
const ProteinDesignEstimateCostResponseBreakdownApplicationStructureAndBinding ProteinDesignEstimateCostResponseBreakdownApplication = "structure_and_binding"
const ProteinDesignEstimateCostResponseBreakdownApplicationSmallMoleculeDesign ProteinDesignEstimateCostResponseBreakdownApplication = "small_molecule_design"
const ProteinDesignEstimateCostResponseBreakdownApplicationSmallMoleculeLibraryScreen ProteinDesignEstimateCostResponseBreakdownApplication = "small_molecule_library_screen"
const ProteinDesignEstimateCostResponseBreakdownApplicationProteinDesign ProteinDesignEstimateCostResponseBreakdownApplication = "protein_design"
const ProteinDesignEstimateCostResponseBreakdownApplicationProteinLibraryScreen ProteinDesignEstimateCostResponseBreakdownApplication = "protein_library_screen"
const ProteinDesignEstimateCostResponseBreakdownApplicationAdme ProteinDesignEstimateCostResponseBreakdownApplication = "adme"
CostPerUnitUsd 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.

NumUnits int64

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
EstimatedCostUsd string

Estimated total cost as a decimal string

Estimate cost for a protein design run

package main

import (
  "context"
  "fmt"

  "github.com/boltz-bio/boltz-api-go"
  "github.com/boltz-bio/boltz-api-go/option"
)

func main() {
  client := boltzapi.NewClient(
    option.WithAPIKey("My API Key"),
  )
  response, err := client.Protein.Design.EstimateCost(context.TODO(), boltzapi.ProteinDesignEstimateCostParams{
    BinderSpecification: boltzapi.ProteinDesignEstimateCostParamsBinderSpecificationUnion{
      OfProteinDesignEstimateCostsBinderSpecificationStructureTemplateBinderSpec: &boltzapi.ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpec{
        ChainSelection: map[string]boltzapi.ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecChainSelectionUnion{
        "B": boltzapi.ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecChainSelectionUnion{
          OfProteinDesignEstimateCostsBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpec: &boltzapi.ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpec{
            CropResidues: boltzapi.ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecCropResiduesUnion{
              OfIntArray: []int64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
            },
          },
        },
        },
        Modality: boltzapi.ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecModalityPeptide,
        Structure: boltzapi.ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecStructureUnion{
          OfProteinDesignEstimateCostsBinderSpecificationStructureTemplateBinderSpecStructureURLSource: &boltzapi.ProteinDesignEstimateCostParamsBinderSpecificationStructureTemplateBinderSpecStructureURLSource{
            URL: "https://example.com",
          },
        },
      },
    },
    NumProteins: 10,
    Target: boltzapi.ProteinDesignEstimateCostParamsTargetUnion{
      OfProteinDesignEstimateCostsTargetStructureTemplateTarget: &boltzapi.ProteinDesignEstimateCostParamsTargetStructureTemplateTarget{
        ChainSelection: map[string]boltzapi.ProteinDesignEstimateCostParamsTargetStructureTemplateTargetChainSelectionUnion{
        "A": boltzapi.ProteinDesignEstimateCostParamsTargetStructureTemplateTargetChainSelectionUnion{
          OfProteinDesignEstimateCostsTargetStructureTemplateTargetChainSelectionStructureTemplateTargetPolymerChainSpec: &boltzapi.ProteinDesignEstimateCostParamsTargetStructureTemplateTargetChainSelectionStructureTemplateTargetPolymerChainSpec{
            CropResidues: boltzapi.ProteinDesignEstimateCostParamsTargetStructureTemplateTargetChainSelectionStructureTemplateTargetPolymerChainSpecCropResiduesUnion{
              OfIntArray: []int64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12},
            },
          },
        },
        },
        Structure: boltzapi.ProteinDesignEstimateCostParamsTargetStructureTemplateTargetStructureUnion{
          OfProteinDesignEstimateCostsTargetStructureTemplateTargetStructureURLSource: &boltzapi.ProteinDesignEstimateCostParamsTargetStructureTemplateTargetStructureURLSource{
            URL: "https://example.com",
          },
        },
      },
    },
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.Breakdown)
}
{
  "breakdown": {
    "application": "structure_and_binding",
    "cost_per_unit_usd": "0.0500",
    "num_units": 1
  },
  "disclaimer": "This is an estimate only and may differ from your actual charges. Final billing is based on exact token counts computed at run time. For large library screens, the estimate is extrapolated from a sample and may be less accurate for highly variable inputs.",
  "estimated_cost_usd": "0.0500"
}
Returns Examples
{
  "breakdown": {
    "application": "structure_and_binding",
    "cost_per_unit_usd": "0.0500",
    "num_units": 1
  },
  "disclaimer": "This is an estimate only and may differ from your actual charges. Final billing is based on exact token counts computed at run time. For large library screens, the estimate is extrapolated from a sample and may be less accurate for highly variable inputs.",
  "estimated_cost_usd": "0.0500"
}