Binder DesignBinder Design

BindCraft Tutorial: One-Shot Binder Design Against Any Target

Step-by-step tutorial for the BindCraft end-to-end binder pipeline: BoltzGen → Boltz-2 → ProteinMPNN → composite ranking.

SciRouter Team
April 11, 2026
11 min read

BindCraft is the easiest way to get a useful binder design out of a generative protein model in 2026. It bundles BoltzGen, Boltz-2, and ProteinMPNN into a single pipeline with sensible defaults, so you do not have to run them separately or tune each stage by hand. This tutorial walks through the full workflow using SciRouter's managed API.

You will learn what BindCraft does internally, how to call it with a single HTTP request, how to interpret the ranked output, and what a reasonable follow-up wet-lab plan looks like.

What BindCraft actually does

Under the hood BindCraft is three models in a row:

  • BoltzGen generates a candidate binder backbone conditioned on the target surface and the hotspot residues you specify.
  • Boltz-2 co-folds the generated binder with the target to check whether the backbone is actually compatible with the intended interface. This replaces the old AlphaFold-based filtering step with a model that was explicitly trained on bound complexes.
  • ProteinMPNN designs one or more sequences that are predicted to fold into the generated backbone, so you have something you can actually order as a gene fragment.

Each stage feeds into the next, and the final output is a ranked table of candidate sequences with interface confidence scores, predicted binding poses, and links to 3D structure files.

Note
The benefit of BindCraft is not just that it saves you plumbing. Because Boltz-2 was trained on the same geometric vocabulary as BoltzGen, its filter is more correlated with real wet-lab success than AlphaFold was on RFdiffusion outputs. You discard fewer good designs and keep fewer bad ones.

Step 1: Pick a target

For this tutorial we will use PD-L1 (PDB ID 5C3T), a well-studied immune checkpoint target. PD-L1 is a great choice for learning because it has a defined interface, plenty of published binders to compare against, and the structure is small enough to iterate quickly. If you want a longer walkthrough specifically on PD-L1, see our PD-L1 weekend project guide.

The hotspot residues for PD-L1 that touch the PD-1 interface are roughly residues 54, 56, 66, 115, 121, 123, and 124. Pick three or four of those and you have a target surface.

Step 2: Call BindCraft with curl

The simplest way to call BindCraft is a single POST to /v1/labs/binder/discover. Here is the whole request:

BindCraft request (curl)
curl -X POST https://scirouter-gateway-production.up.railway.app/v1/labs/binder/discover \
  -H "Authorization: Bearer sk-sci-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "target_pdb_id": "5C3T",
    "hotspot_residues": [54, 56, 66, 115, 121],
    "num_designs": 40,
    "min_length": 60,
    "max_length": 100
  }'

The response is a job ID. BindCraft is async because a full run takes several minutes. You poll for status until the job finishes.

Polling for results
curl https://scirouter-gateway-production.up.railway.app/v1/labs/binder/discover/JOB_ID \
  -H "Authorization: Bearer sk-sci-YOUR_API_KEY"

Step 3: Call BindCraft with Python

If you prefer Python, the SciRouter SDK wraps all of the above into a single call that handles polling automatically.

BindCraft via Python SDK
from scirouter import SciRouter

client = SciRouter(api_key="sk-sci-YOUR_API_KEY")

result = client.labs.binder.discover(
    target_pdb_id="5C3T",
    hotspot_residues=[54, 56, 66, 115, 121],
    num_designs=40,
    min_length=60,
    max_length=100,
)

for i, design in enumerate(result.ranked_candidates[:10]):
    print(f"#{i+1}  score={design.score:.3f}  seq={design.sequence}")

If the campaign succeeds, you will get back up to 40 candidates ranked by BindCraft's internal scoring function. The top 10 are usually the most worth ordering.

Step 4: Read the output

Each candidate in the response includes:

  • A sequence that ProteinMPNN designed to fold into the BoltzGen backbone.
  • A score between 0 and 1 that combines Boltz-2 interface confidence and binder self-consistency.
  • A predicted binding pose in PDB format, so you can visualize the interface in PyMOL or ChimeraX.
  • A set of per-residue interface contact annotations that tell you which residues are predicted to touch which hotspot.

As a rule of thumb, candidates with a BindCraft score above 0.7 are worth taking seriously. Below 0.5, the model itself is not confident and the wet-lab hit rate drops sharply.

Step 5: Pick winners and order

For a first campaign we recommend picking the top 8 to 12 unique candidates that span different backbone topologies. You do not want all alpha helix bundles or all beta sheet binders. Diversity helps if the model is systematically wrong about one topology class.

Order your chosen sequences as gene fragments from Twist, IDT, or GenScript, clone them into a standard expression vector, and test binding by biolayer interferometry or surface plasmon resonance. Most academic labs can run a 10-candidate campaign from design to first data in two or three weeks.

Warning
BindCraft scores are informative but not guarantees. Always build a few negative controls (scrambled sequences, known non-binders) into your wet-lab panel so you can calibrate the assay.

What to try after your first campaign

  • Re-run with more designs (80 to 160) to give the ranker more to choose from.
  • Swap the hotspot set to target a different epitope on the same protein.
  • Add a length constraint that matches your expression host (E. coli, mammalian, cell-free).
  • Compare BindCraft output against a parallel RFdiffusion run to diversify your candidate pool.

Bottom line

BindCraft is the shortest path between “I have a target” and “I have candidate sequences to order.” A single API call, a five-minute wait, and a ranked table of 40 possibilities. The rest is biology.

Open the Binder Design studio →

Frequently Asked Questions

What is BindCraft?

BindCraft is an end-to-end protein binder design pipeline that chains BoltzGen for backbone generation, Boltz-2 for co-folding validation, and ProteinMPNN for sequence design. It takes a target PDB and hotspot residues and returns a ranked list of candidate binders from a single API call.

What are BindCraft's wet-lab validation rates?

Published BindCraft results show 10 to 30 percent wet-lab hit rates depending on the target, which is a significant jump over vanilla RFdiffusion pipelines. Targets with clear pockets or concave interfaces score higher, while flat, featureless surfaces are harder for any pipeline.

How long does a BindCraft run take?

A single campaign generating 40 candidates typically completes in 5 to 15 minutes on an A100 GPU. The first request may cold-start the worker and take an extra minute or two. Subsequent runs are faster because the worker stays warm.

Do I need to install anything to use BindCraft?

No. On SciRouter you can call the BindCraft endpoint directly from curl, Python, or any HTTP client. You do not need to install BoltzGen, Boltz-2, or ProteinMPNN locally, and you do not need your own GPU.

What inputs does BindCraft need?

At minimum, a target structure in PDB format and a list of hotspot residues. Optionally you can specify a length range, the number of candidates to generate, and ranking preferences. SciRouter exposes the full API through the /v1/labs/binder/discover endpoint.

Can I run BindCraft in my browser?

Yes. The Binder Design studio on SciRouter wraps BindCraft in a point-and-click interface. You can upload a PDB, mark hotspots visually, and watch the pipeline run without writing any code.

Try this yourself

500 free credits. No credit card required.