mirrored listing x402 eip155:8453

Compile a liquid-handling plan (Flex robot, pipettes, deck labware, liquids, transfer/dist

Compile a liquid-handling plan (Flex robot, pipettes, deck labware, liquids, transfer/distribute/serial-dilute/mix/delay steps) into a self-contained Python protocol, run a static volume tracker and a real opentrons simulation, and return a pass/fail report with platemap, reagent-usage, and simulation-log artifacts. This proves the protocol runs, never that the experiment is scientifically valid.

Do you run lab.api.williamrobinson.dev? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
150000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-11
updated

Provider

lab.api.williamrobinson.dev · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0x26026370fe8b2bb17af9092a17691c76519366da",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "150000",
    "maxTimeoutSeconds": 300
  }
]

Output schema

{
  "bazaar": {
    "info": {
      "input": {
        "body": {
          "labware": [
            {
              "id": "plate",
              "label": "PCR plate",
              "slot": "A1",
              "type": "opentrons_96_wellplate_200ul_pcr_full_skirt"
            },
            {
              "id": "tips50",
              "label": "50 uL tips",
              "slot": "A2",
              "type": "opentrons_flex_96_tiprack_50ul"
            },
            {
              "id": "mmix_res",
              "label": "Master mix reservoir",
              "slot": "B1",
              "type": "nest_12_reservoir_15ml"
            },
            {
              "id": "tubes",
              "label": "Sample tubes",
              "slot": "B2",
              "type": "opentrons_24_tuberack_nest_1.5ml_snapcap"
            }
          ],
          "liquids": [
            {
              "deadVolumeUl": 300,
              "id": "mastermix",
              "location": {
                "labware": "mmix_res",
                "volumeUl": 5000,
                "wells": "A1"
              },
              "name": "PCR master mix"
            },
            {
              "deadVolumeUl": 20,
              "id": "samples",
              "location": {
                "labware": "tubes",
                "volumeUl": 200,
                "wells": "A1:D2"
              },
              "name": "Patient samples"
            }
          ],
          "name": "PCR setup with 8-sample column and column-12 dilution series",
          "options": {
            "defaultNewTip": "once",
            "forbidCrossLiquidTipReuse": true,
            "trashSlot": "A3"
          },
          "pipettes": [
            {
              "model": "flex_8channel_50",
              "mount": "left"
            },
            {
              "model": "flex_1channel_50",
              "mount": "right"
            }
          ],
          "robot": "flex",
          "steps": [
            {
              "dests": {
                "labware": "plate",
                "wells": "A1:H12"
              },
              "kind": "distribute",
              "newTip": "once",
              "source": {
                "labware": "mmix_res",
                "well": "A1"
              },
              "volumeUl": 20
            },
            {
              "dest": {
                "labware": "plate",
                "well": "A1"
              },
              "kind": "transfer",
              "newTip": "always",
              "source": {
                "labware": "tubes",
                "well": "A1"
              },
              "volumeUl": 5
            },
            {
              "dest": {
                "labware": "plate",
                "well": "B1"
              },
              "kind": "transfer",
              "newTip": "always",
              "source": {
                "labware": "tubes",
                "well": "A2"
              },
              "volumeUl": 5
            },
            {
              "dest": {
                "labware": "plate",
                "well": "C1"
              },
              "kind": "transfer",
              "newTip": "always",
              "source": {
                "labware": "tubes",
                "well": "B1"
              },
              "volumeUl": 5
            },
            {
              "dest": {
                "labware": "plate",
                "well": "D1"
              },
              "kind": "transfer",
              "newTip": "always",
              "source": {
                "labware": "tubes",
                "well": "B2"
              },
              "volumeUl": 5
            },
            {
              "dest": {
                "labware": "plate",
                "well": "E1"
              },
              "kind": "transfer",
              "newTip": "always",
              "source": {
                "labware": "tubes",
                "well": "C1"
              },
              "volumeUl": 5
            },
            {
              "dest": {
                "labware": "plate",
                "well": "F1"
              },
              "kind": "transfer",
              "newTip": "always",
              "source": {
                "labware": "tubes",
                "well": "C2"
              },
              "volumeUl": 5
            },
            {
              "dest": {
                "labware": "plate",
                "well": "G1"
              },
              "kind": "transfer",
              "newTip": "always",
              "source": {
                "labware": "tubes",
                "well": "D1"
              },
              "volumeUl": 5
            },
            {
              "dest": {
                "labware": "plate",
                "well": "H1"
              },
              "kind": "transfer",
              "newTip": "always",
              "source": {
                "labware": "tubes",
                "well": "D2"
              },
              "volumeUl": 5
            },
            {
              "kind": "serial_dilute",
              "labware": "plate",
              "mixRepetitions": 3,
              "mixUl": 15,
              "newTip": "always",
              "transferUl": 10,
              "wells": "A12:H12"
            },
            {
              "kind": "delay",
              "message": "Incubate before sealing",
              "seconds": 60
            }
          ]
        },
        "bodyType": "json",
        "method": "POST",
        "type": "http"
      },
      "output": {
        "example": {
          "artifacts": [
            {
              "href": "https://lab.api.williamrobinson.dev/v1/lab/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/protocol.py",
              "mediaType": "text/x-python; charset=utf-8",
              "name": "protocol.py",
              "sha256": "02d424abe63b8fd8b2717803b5f3690504e09d695142ece16d8b0f03f7174dba",
              "sizeBytes": 6561
            },
            {
              "href": "https://lab.api.williamrobinson.dev/v1/lab/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/platemap.csv",
              "mediaType": "text/csv; charset=utf-8",
              "name": "platemap.csv",
              "sha256": "9dc370d60f4ac51c9036bc6d33d90c5af5d24a74ed2adae0a1b7ade1fd76d9f9",
              "sizeBytes": 2425
            },
            {
              "href": "https://lab.api.williamrobinson.dev/v1/lab/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/platemap.svg",
              "mediaType": "image/svg+xml",
              "name": "platemap.svg",
              "sha256": "c2dc914c4c34cb6d879352e0ed8d66e3f285904e82e3f61ba27b659ba03fc70d",
              "sizeBytes": 23733
            },
            {
              "href": "https://lab.api.williamrobinson.dev/v1/lab/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/reagents.csv",
              "mediaType": "text/csv; charset=utf-8",
              "name": "reagents.csv",
              "sha256": "3dabbe14d42a323cf294de9b0219d8d66f2cc5867ab4ea86c4925aca057cf7ce",
              "sizeBytes": 196
            },
            {
              "href": "https://lab.api.williamrobinson.dev/v1/lab/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/simulation-log.txt",
              "mediaType": "text/plain; charset=utf-8",
              "name": "simulation-log.txt",
              "sha256": "11946c6bdbe0ad5d64ecdc45d36fca4422bde6327a0cd9be02e8ebfa2a60d1bb",
              "sizeBytes": 12799
            },
            {
              "href": "https://lab.api.williamrobinson.dev/v1/lab/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/report.json",
              "mediaType": "application/json",
              "name": "report.json",
              "sha256": "bccaa49a8943c4008b6ea10c0126367ec6bc64489151a08de291d9ad834ba173",
              "sizeBytes": 10756
            }
          ],
          "checks": [
            {
              "code": "plan_valid",
              "detail": "111 elementary transfer(s) across 4 labware and 2 pipette(s) resolved cleanly",
              "status": "passed"
            },
            {
              "code": "labware_compatible",
              "detail": "every pipette has a compatible tip rack and every multi-channel step is column-aligned",
              "status": "passed"
            },
            {
              "code": "volumes_within_capacity",
              "detail": "no well exceeds its fill limit",
              "status": "passed"
            },
            {
              "code": "liquids_sufficient",
              "detail": "every source liquid has enough usable volume",
              "status": "passed"
            },
            {
              "code": "pipette_ranges_respected",
              "detail": "every transfer volume is within its pipette's range",
              "status": "passed"
            },
            {
              "code": "tips_sufficient",
              "detail": "loaded tip racks cover every pickup",
              "status": "passed"
            },
            {
              "code": "tip_reuse_safe",
              "detail": "no tip touched two different liquids without a fresh pickup",
              "status": "passed"
            },
            {
              "code": "simulation_passed",
              "detail": "147 simulated command(s)",
              "status": "passed"
            }
          ],
          "expiresAt": "2026-09-12T08:10:35.369Z",
          "findings": [],
          "limitations": [
            "Simulation proves the protocol is executable by Opentrons robot software; it is not proof that the underlying experiment is scientifically valid.",
            "No liquid-class or viscosity modelling is performed; every transfer is assumed ideal (no air gaps, splashing, or evaporation effects).",
            "The static volume tracker assumes declared dead volumes are accurate; it cannot detect physically inaccessible liquid the caller did not declare.",
            "OT-2 robots are not supported in v1; every generated protocol targets Opentrons Flex only.",
            "The simulator does not check well overfill; the well_overflow finding above is this compiler's own static check."
          ],
          "liquids": [
            {
              "availableUl": 5000,
              "consumedUl": 1920,
              "id": "mastermix",
              "name": "PCR master mix",
              "remainingUl": 3080,
              "shortfallUl": 0
            },
            {
              "availableUl": 1600,
              "consumedUl": 40,
              "id": "samples",
              "name": "Patient samples",
              "remainingUl": 1560,
              "shortfallUl": 0
            }
          ],
          "robot": "flex",
          "simulation": {
            "commands": 147,
            "error": null,
            "ok": true,
            "ran": true
          },
          "status": "passed",
          "summary": {
            "estimatedMinutes": 13.63,
            "labware": 4,
            "liquids": 2,
            "steps": 11,
            "tipsUsed": {
              "left": 8,
              "right": 15
            },
            "transfers": 111
          },
          "tools": {
            "apiLevel": "2.20",
            "opentrons": "9.1.2"
          },
          "truncated": true,
          "warnings": [],
          "wells": [
            {
              "labware": "mmix_res",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 3080,
              "well": "A1"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix",
                "samples"
              ],
              "volumeUl": 25,
              "well": "A1"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "A2"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "A3"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "A4"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "A5"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "A6"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "A7"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "A8"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "A9"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "A10"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "A11"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 10,
              "well": "A12"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix",
                "samples"
              ],
              "volumeUl": 25,
              "well": "B1"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "B2"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "B3"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "B4"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "B5"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "B6"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "B7"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "B8"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "B9"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "B10"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "B11"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "B12"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix",
                "samples"
              ],
              "volumeUl": 25,
              "well": "C1"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "C2"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "C3"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "C4"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "C5"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "C6"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "C7"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "C8"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "C9"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "C10"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "C11"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "C12"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix",
                "samples"
              ],
              "volumeUl": 25,
              "well": "D1"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "D2"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "D3"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "D4"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "D5"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "D6"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "D7"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "D8"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "D9"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "D10"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "D11"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "D12"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix",
                "samples"
              ],
              "volumeUl": 25,
              "well": "E1"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "E2"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "E3"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "E4"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "E5"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "E6"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "E7"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "E8"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "E9"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "E10"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "E11"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "E12"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix",
                "samples"
              ],
              "volumeUl": 25,
              "well": "F1"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "F2"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "F3"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "F4"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "F5"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "F6"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "F7"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "F8"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "F9"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "F10"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "F11"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "F12"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix",
                "samples"
              ],
              "volumeUl": 25,
              "well": "G1"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "G2"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "G3"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "G4"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "G5"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "G6"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "G7"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "G8"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "G9"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "G10"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "G11"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "G12"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix",
                "samples"
              ],
              "volumeUl": 25,
              "well": "H1"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "H2"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "H3"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "H4"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "H5"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "H6"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "H7"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "H8"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "H9"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "H10"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 20,
              "well": "H11"
            },
            {
              "labware": "plate",
              "liquids": [
                "mastermix"
              ],
              "volumeUl": 30,
              "well": "H12"
            },
            {
              "labware": "tubes",
              "liquids": [
                "samples"
              ],
              "volumeUl": 195,
              "well": "A1"
            },
            {
              "labware": "tubes",
              "liquids": [
                "samples"
              ],
              "volumeUl": 195,
              "well": "A2"
            },
            {
              "labware": "tubes",
              "liquids": [
                "samples"
              ],
              "volumeUl": 195,
              "well": "B1"
            }
          ]
        },
        "type": "json"
      }
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "additionalProperties": false,
          "properties": {
            "body": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "additionalProperties": false,
              "properties": {
                "labware": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "id": {
                        "description": "Caller-assigned identifier, unique within its array.",
                        "pattern": "^[A-Za-z0-9_-]{1,32}$",
                        "type": "string"
                      },
                      "label": {
                        "maxLength": 128,
                        "minLength": 1,
                        "type": "string"
                      },
                      "slot": {
                        "enum": [
                          "A1",
                          "A2",
                          "A3",
                          "B1",
                          "B2",
                          "B3",
                          "C1",
                          "C2",
                          "C3",
                          "D1",
                          "D2",
                          "D3"
                        ],
                        "type": "string"
                      },
                      "type": {
                        "enum": [
                          "opentrons_96_wellplate_200ul_pcr_full_skirt",
                          "corning_96_wellplate_360ul_flat",
                          "nest_96_wellplate_2ml_deep",
                          "corning_384_wellplate_112ul_flat",
                          "nest_12_reservoir_15ml",
                          "nest_1_reservoir_195ml",
                          "opentrons_24_tuberack_nest_1.5ml_snapcap",
                          "opentrons_flex_96_tiprack_50ul",
                          "opentrons_flex_96_tiprack_200ul",
                          "opentrons_flex_96_tiprack_1000ul"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "type",
                      "slot"
                    ],
                    "type": "object"
                  },
                  "maxItems": 12,
                  "minItems": 1,
                  "type": "array"
                },
                "liquids": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "deadVolumeUl": {
                        "maximum": 50000,
                        "minimum": 0,
                        "type": "number"
                      },
                      "id": {
                        "description": "Caller-assigned identifier, unique within its array.",
                        "pattern": "^[A-Za-z0-9_-]{1,32}$",
                        "type": "string"
                      },
                      "location": {
                        "additionalProperties": false,
                        "properties": {
                          "labware": {
                            "description": "Caller-assigned identifier, unique within its array.",
                            "pattern": "^[A-Za-z0-9_-]{1,32}$",
                            "type": "string"
                          },
                          "volumeUl": {
                            "exclusiveMinimum": 0,
                            "maximum": 300000,
                            "type": "number"
                          },
                          "wells": {
                            "description": "A well or well range: \"A1\", \"A1:H1\" (column), \"A1:A12\" (row), or \"A1:H12\" (rectangle), expanded row-major.",
                            "pattern": "^[A-P](?:[1-9]|1[0-9]|2[0-4])(?::[A-P](?:[1-9]|1[0-9]|2[0-4]))?$",
                            "type": "string"
                          }
                        },
                        "required": [
                          "labware",
                          "wells",
                          "volumeUl"
                        ],
                        "type": "object"
                      },
                      "name": {
                        "maxLength": 200,
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "location"
                    ],
                    "type": "object"
                  },
                  "maxItems": 32,
                  "type": "array"
                },
                "name": {
                  "maxLength": 200,
                  "minLength": 1,
                  "type": "string"
                },
                "options": {
                  "additionalProperties": false,
                  "properties": {
                    "defaultNewTip": {
                      "enum": [
                        "always",
                        "once",
                        "never"
                      ],
                      "type": "string"
                    },
                    "forbidCrossLiquidTipReuse": {
                      "type": "boolean"
                    },
                    "trashSlot": {
                      "description": "Flex default is A3. Column 1 or 3 only (column 2 and the column-4 staging area are not valid trash locations).",
                      "enum": [
                        "A1",
                        "B1",
                        "C1",
                        "D1",
                        "A3",
                        "B3",
                        "C3",
                        "D3"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "trashSlot",
                    "defaultNewTip",
                    "forbidCrossLiquidTipReuse"
                  ],
                  "type": "object"
                },
                "pipettes": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "model": {
                        "enum": [
                          "flex_1channel_50",
                          "flex_1channel_1000",
                          "flex_8channel_50",
                          "flex_8channel_1000"
                        ],
                        "type": "string"
                      },
                      "mount": {
                        "enum": [
                          "left",
                          "right"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "mount",
                      "model"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array"
                },
                "robot": {
                  "const": "flex",
                  "description": "Opentrons Flex only; OT-2 is not supported (opentrons 9.x's simulator refuses OT-2 protocols)."
                },
                "steps": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "dest": {
                            "additionalProperties": false,
                            "properties": {
                              "labware": {
                                "description": "Caller-assigned identifier, unique within its array.",
                                "pattern": "^[A-Za-z0-9_-]{1,32}$",
                                "type": "string"
                              },
                              "well": {
                                "description": "A single well, e.g. \"A1\" (rows A-P, columns 1-24).",
                                "pattern": "^[A-P](?:[1-9]|1[0-9]|2[0-4])$",
                                "type": "string"
                              }
                            },
                            "required": [
                              "labware",
                              "well"
                            ],
                            "type": "object"
                          },
                          "kind": {
                            "const": "transfer"
                          },
                          "mixAfterRepetitions": {
                            "maximum": 20,
                            "minimum": 1,
                            "type": "integer"
                          },
                          "mixAfterUl": {
                            "description": "Microlitres.",
                            "exclusiveMinimum": 0,
                            "maximum": 10000,
                            "type": "number"
                          },
                          "newTip": {
                            "enum": [
                              "always",
                              "once",
                              "never"
                            ],
                            "type": "string"
                          },
                          "source": {
                            "additionalProperties": false,
                            "properties": {
                              "labware": {
                                "description": "Caller-assigned identifier, unique within its array.",
                                "pattern": "^[A-Za-z0-9_-]{1,32}$",
                                "type": "string"
                              },
                              "well": {
                                "description": "A single well, e.g. \"A1\" (rows A-P, columns 1-24).",
                                "pattern": "^[A-P](?:[1-9]|1[0-9]|2[0-4])$",
                                "type": "string"
                              }
                            },
                            "required": [
                              "labware",
                              "well"
                            ],
                            "type": "object"
                          },
                          "volumeUl": {
                            "description": "Microlitres.",
                            "exclusiveMinimum": 0,
                            "maximum": 10000,
                            "type": "number"
                          }
                        },
                        "required": [
                          "kind",
                          "source",
                          "dest",
                          "volumeUl"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "dests": {
                            "additionalProperties": false,
                            "properties": {
                              "labware": {
                                "description": "Caller-assigned identifier, unique within its array.",
                                "pattern": "^[A-Za-z0-9_-]{1,32}$",
                                "type": "string"
                              },
                              "wells": {
                                "description": "A well or well range: \"A1\", \"A1:H1\" (column), \"A1:A12\" (row), or \"A1:H12\" (rectangle), expanded row-major.",
                                "pattern": "^[A-P](?:[1-9]|1[0-9]|2[0-4])(?::[A-P](?:[1-9]|1[0-9]|2[0-4]))?$",
                                "type": "string"
                              }
                            },
                            "required": [
                              "labware",
                              "wells"
                            ],
                            "type": "object"
                          },
                          "kind": {
                            "const": "distribute"
                          },
                          "newTip": {
                            "enum": [
                              "always",
                              "once",
                              "never"
                            ],
                            "type": "string"
                          },
                          "source": {
                            "additionalProperties": false,
                            "properties": {
                              "labware": {
                                "description": "Caller-assigned identifier, unique within its array.",
                                "pattern": "^[A-Za-z0-9_-]{1,32}$",
                                "type": "string"
                              },
                              "well": {
                                "description": "A single well, e.g. \"A1\" (rows A-P, columns 1-24).",
                                "pattern": "^[A-P](?:[1-9]|1[0-9]|2[0-4])$",
                                "type": "string"
                              }
                            },
                            "required": [
                              "labware",
                              "well"
                            ],
                            "type": "object"
                          },
                          "volumeUl": {
                            "description": "Microlitres.",
                            "exclusiveMinimum": 0,
                            "maximum": 10000,
                            "type": "number"
                          }
                        },
                        "required": [
                          "kind",
                          "source",
                          "dests",
                          "volumeUl"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "kind": {
                            "const": "serial_dilute"
                          },
                          "labware": {
                            "description": "Caller-assigned identifier, unique within its array.",
                            "pattern": "^[A-Za-z0-9_-]{1,32}$",
                            "type": "string"
                          },
                          "mixRepetitions": {
                            "maximum": 20,
                            "minimum": 1,
                            "type": "integer"
                          },
                          "mixUl": {
                            "description": "Microlitres.",
                            "exclusiveMinimum": 0,
                            "maximum": 10000,
                            "type": "number"
                          },
                          "newTip": {
                            "enum": [
                              "always",
                              "once",
                              "never"
                            ],
                            "type": "string"
                          },
                          "transferUl": {
                            "description": "Microlitres.",
                            "exclusiveMinimum": 0,
                            "maximum": 10000,
                            "type": "number"
                          },
                          "wells": {
                            "description": "A well or well range: \"A1\", \"A1:H1\" (column), \"A1:A12\" (row), or \"A1:H12\" (rectangle), expanded row-major.",
                            "pattern": "^[A-P](?:[1-9]|1[0-9]|2[0-4])(?::[A-P](?:[1-9]|1[0-9]|2[0-4]))?$",
                            "type": "string"
                          }
                        },
                        "required": [
                          "kind",
                          "labware",
                          "wells",
                          "transferUl",
                          "mixUl",
                          "mixRepetitions"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "kind": {
                            "const": "mix"
                          },
                          "newTip": {
                            "enum": [
                              "always",
                              "once",
                              "never"
                            ],
                            "type": "string"
                          },
                          "repetitions": {
                            "maximum": 20,
                            "minimum": 1,
                            "type": "integer"
                          },
                          "target": {
                            "additionalProperties": false,
                            "properties": {
                              "labware": {
                                "description": "Caller-assigned identifier, unique within its array.",
                                "pattern": "^[A-Za-z0-9_-]{1,32}$",
                                "type": "string"
                              },
                              "wells": {
                                "description": "A well or well range: \"A1\", \"A1:H1\" (column), \"A1:A12\" (row), or \"A1:H12\" (rectangle), expanded row-major.",
                                "pattern": "^[A-P](?:[1-9]|1[0-9]|2[0-4])(?::[A-P](?:[1-9]|1[0-9]|2[0-4]))?$",
                                "type": "string"
                              }
                            },
                            "required": [
                              "labware",
                              "wells"
                            ],
                            "type": "object"
                          },
                          "volumeUl": {
                            "description": "Microlitres.",
                            "exclusiveMinimum": 0,
                            "maximum": 10000,
                            "type": "number"
                          }
                        },
                        "required": [
                          "kind",
                          "target",
                          "volumeUl",
                          "repetitions"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "kind": {
                            "const": "delay"
                          },
                          "message": {
                            "maxLength": 500,
                            "minLength": 1,
                            "type": "string"
                          },
                          "seconds": {
                            "maximum": 3600,
                            "minimum": 1,
                            "type": "integer"
                          }
                        },
                        "required": [
                          "kind",
                          "seconds"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "maxItems": 200,
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "name",
                "robot",
                "pipettes",
                "labware",
                "liquids",
                "steps",
                "options"
              ],
              "type": "object"
            },
            "bodyType": {
              "enum": [
                "json",
                "form-data",
                "text"
              ],
              "type": "string"
            },
            "method": {
              "enum": [
                "POST"
              ],
              "type": "string"
            },
            "type": {
              "const": "http",
              "type": "string"
            }
          },
          "required": [
            "type",
            "method",
            "bodyType",
            "body"
          ],
          "type": "object"
        },
        "output": {
          "properties": {
            "example": {
              "$defs": {
                "check": {
                  "additionalProperties": false,
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "status": {
                      "enum": [
                        "passed",
                        "failed",
                        "not_checked"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "status",
                    "detail"
                  ],
                  "type": "object"
                }
              },
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "additionalProperties": false,
              "properties": {
                "artifacts": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "href": {
                        "format": "uri",
                        "type": "string"
                      },
                      "mediaType": {
                        "maxLength": 128,
                        "minLength": 1,
                        "type": "string"
                      },
                      "name": {
                        "enum": [
                          "protocol.py",
                          "platemap.csv",
                          "platemap.svg",
                          "reagents.csv",
                          "simulation-log.txt",
                          "report.json"
                        ],
                        "type": "string"
                      },
                      "sha256": {
                        "pattern": "^[a-f0-9]{64}$",
                        "type": "string"
                      },
                      "sizeBytes": {
                        "minimum": 0,
                        "type": "integer"
                      }
                    },
                    "required": [
                      "name",
                      "mediaType",
                      "sizeBytes",
                      "sha256",
                      "href"
                    ],
                    "type": "object"
                  },
                  "maxItems": 6,
                  "type": "array"
                },
                "checks": {
                  "items": {
                    "$ref": "#/properties/output/properties/example/$defs/check"
                  },
                  "type": "array"
                },
                "expiresAt": {
                  "format": "date-time",
                  "type": "string"
                },
                "findings": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "detail": {
                        "type": "string"
                      },
                      "severity": {
                        "enum": [
                          "error",
                          "warning"
                        ],
                        "type": "string"
                      },
                      "step": {
                        "minimum": -1,
                        "type": "integer"
                      }
                    },
                    "required": [
                      "step",
                      "code",
                      "severity",
                      "detail"
                    ],
                    "type": "object"
                  },
                  "maxItems": 100,
                  "type": "array"
                },
                "limitations": {
                  "items": {
                    "maxLength": 4096,
                    "type": "string"
                  },
                  "maxItems": 16,
                  "type": "array"
                },
                "liquids": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "availableUl": {
                        "type": "number"
                      },
                      "consumedUl": {
                        "type": "number"
                      },
                      "id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "remainingUl": {
                        "type": "number"
                      },
                      "shortfallUl": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "availableUl",
                      "consumedUl",
                      "remainingUl",
                      "shortfallUl"
                    ],
                    "type": "object"
                  },
                  "maxItems": 32,
                  "type": "array"
                },
                "robot": {
                  "const": "flex"
                },
                "simulation": {
                  "additionalProperties": false,
                  "properties": {
                    "commands": {
                      "minimum": 0,
                      "type": "integer"
                    },
                    "error": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "ok": {
                      "type": "boolean"
                    },
                    "ran": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "ran",
                    "ok",
                    "commands",
                    "error"
                  ],
                  "type": "object"
                },
                "status": {
                  "enum": [
                    "passed",
                    "failed"
                  ],
                  "type": "string"
                },
                "summary": {
                  "additionalProperties": false,
                  "properties": {
                    "estimatedMinutes": {
                      "minimum": 0,
                      "type": "number"
                    },
                    "labware": {
                      "maximum": 12,
                      "minimum": 0,
                      "type": "integer"
                    },
                    "liquids": {
                      "maximum": 32,
                      "minimum": 0,
                      "type": "integer"
                    },
                    "steps": {
                      "maximum": 200,
                      "minimum": 0,
                      "type": "integer"
                    },
                    "tipsUsed": {
                      "additionalProperties": {
                        "minimum": 0,
                        "type": "integer"
                      },
                      "type": "object"
                    },
                    "transfers": {
                      "maximum": 2000,
                      "minimum": 0,
                      "type": "integer"
                    }
                  },
                  "required": [
                    "steps",
                    "transfers",
                    "tipsUsed",
                    "estimatedMinutes",
                    "labware",
                    "liquids"
                  ],
                  "type": "object"
                },
                "tools": {
                  "additionalProperties": false,
                  "properties": {
                    "apiLevel": {
                      "type": "string"
                    },
                    "opentrons": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "opentrons",
                    "apiLevel"
                  ],
                  "type": "object"
                },
                "truncated": {
                  "type": "boolean"
                },
                "warnings": {
                  "items": {
                    "maxLength": 4096,
                    "type": "string"
                  },
                  "maxItems": 100,
                  "type": "array"
                },
                "wells": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "labware": {
                        "type": "string"
                      },
                      "liquids": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "volumeUl": {
                        "minimum": 0,
                        "type": "number"
                      },
                      "well": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "labware",
                      "well",
                      "volumeUl",
                      "liquids"
                    ],
                    "type": "object"
                  },
                  "maxItems": 100,
                  "type": "array"
                }
              },
              "required": [
                "status",
                "tools",
                "robot",
                "summary",
                "liquids",
                "wells",
                "findings",
                "simulation",
                "checks",
                "warnings",
                "limitations",
                "truncated",
                "expiresAt",
                "artifacts"
              ],
              "type": "object"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  },
  "builder-code": {
    "info": {
      "s": [
        "cdp_sdk_server"
      ]
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "additionalProperties": false,
      "properties": {
        "a": {
          "description": "App builder code",
          "pattern": "^[a-z0-9_]{1,32}$",
          "type": "string"
        },
        "s": {
          "description": "Service builder codes",
          "items": {
            "pattern": "^[a-z0-9_]{1,32}$",
            "type": "string"
          },
          "maxItems": 11,
          "type": "array"
        },
        "w": {
          "description": "Wallet builder code",
          "pattern": "^[a-z0-9_]{1,32}$",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "eip2612GasSponsoring": {},
  "erc20ApprovalGasSponsoring": {},
  "payment-identifier": {
    "info": {
      "required": true
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "id": {
          "maxLength": 128,
          "minLength": 16,
          "pattern": "^[a-zA-Z0-9_-]+$",
          "type": "string"
        },
        "required": {
          "type": "boolean"
        }
      },
      "required": [
        "required"
      ],
      "type": "object"
    }
  }
}

Use it

curl

curl "https://lab.api.williamrobinson.dev/v1/lab/compile"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://lab.api.williamrobinson.dev/v1/lab/compile");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://lab.api.williamrobinson.dev/v1/lab/compile")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/8202.json, and this resource appears in /discovery/resources and /discovery/search.