Print Prototype Engineer

Apply deterministic parameter edits to a self-contained OpenSCAD model, verify preserve constraints against the baseline, slice it with PrusaSlicer, and return checked alternatives (orientations, partial edits) when goals are unmet.

InferenceLiveeip155:8453Exactvia cdp
3d-printingOpenscadPrusaslicerPrototypingOrientation
Calls · 30d
1
This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 13 snapshots so far.
$2.45
Verified settled volume
23 settlements proven x402 by their on-chain EIP-3009 marker.
$0.150
Listed price
As published in the catalog. Always read the live 402 before paying.
1
Calls · 30d
Upstream's own call count for this endpoint, not ours.
1
Unique payers · 30d
Last called 2026-09-11 20:08Z
Upstream on-chain volume
Reported by the source catalog.
Paid to
0x26026370fe8b2bb17af9092a17691c76519366da

The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.

Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Provider

The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.

Accepts

The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.

0.15USDC≈ $0.15 USD
on Base · exact scheme

Pay 0.15 USDC on Base to 0x2602…366da. The signed payment is good for 5 minutes.

USD Coin contract
0x8335…02913
Payment window
5 minutes
As published
150000 smallest units
The catalog’s raw entry
[
  {
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "extra": {
      "name": "USD Coin",
      "version": "2"
    },
    "payTo": "0x26026370fe8b2bb17af9092a17691c76519366da",
    "amount": "150000",
    "scheme": "exact",
    "network": "eip155:8453",
    "maxTimeoutSeconds": 300
  }
]

Extensions

{
  "bazaar": {
    "info": {
      "input": {
        "body": {
          "edits": [
            {
              "kind": "offset",
              "name": "shelf",
              "delta": 10
            }
          ],
          "goals": {
            "maxSizeMm": [
              220,
              220,
              250
            ],
            "noSupports": true
          },
          "source": "wall = 5; shelf = 40; height = 60; depth = 30;\nunion() {\n  cube([wall, depth, height]);\n  translate([0, 0, height - wall]) cube([shelf, depth, wall]);\n}\n",
          "profile": "fdm-pla-0.4",
          "preserve": [
            {
              "axis": "z",
              "kind": "bounds_axis",
              "toleranceMm": 0.05
            }
          ],
          "parameters": {
            "height": 60
          },
          "maxAlternatives": 3,
          "orientationSearch": true
        },
        "type": "http",
        "method": "POST",
        "bodyType": "json"
      },
      "output": {
        "type": "json",
        "example": {
          "delta": {
            "sizeMm": [
              10,
              0,
              0
            ],
            "volumeMm3": 1500,
            "volumePercent": 10.526315789473683
          },
          "tools": {
            "slicer": "PrusaSlicer-2.5.0+UNKNOWN based on Slic3r (with GUI support)",
            "openscad": "OpenSCAD version 2021.01"
          },
          "checks": [
            {
              "code": "SOURCE_SELF_CONTAINED",
              "detail": "No external file-reading OpenSCAD constructs were found",
              "status": "passed"
            },
            {
              "code": "PARAMETERS_APPLIED",
              "detail": "1 named source parameters were patched",
              "status": "passed"
            },
            {
              "code": "EDITS_APPLIED",
              "detail": "1 edits were applied in order",
              "status": "passed"
            },
            {
              "code": "PRESERVE_PARAMETER",
              "detail": "No parameter preserve constraint was requested",
              "status": "not_checked"
            },
            {
              "code": "BASELINE_COMPILE",
              "detail": "OpenSCAD rendered the baseline model",
              "status": "passed"
            },
            {
              "code": "CAD_COMPILE",
              "detail": "OpenSCAD rendered the revised model",
              "status": "passed"
            },
            {
              "code": "MESH_VALIDITY",
              "detail": "Binary STL has finite vertices and no degenerate triangles",
              "status": "passed"
            },
            {
              "code": "MESH_WATERTIGHT",
              "detail": "Every undirected triangle edge appears exactly twice",
              "status": "passed"
            },
            {
              "code": "MESH_ENCLOSED_VOLUME",
              "detail": "15750.000 mm³ enclosed volume",
              "status": "passed"
            },
            {
              "code": "PRESERVE_BOUNDS",
              "detail": "Every preserved axis stayed within its tolerance",
              "status": "passed"
            },
            {
              "code": "PRESERVE_VOLUME",
              "detail": "No volume preserve constraint was requested",
              "status": "not_checked"
            },
            {
              "code": "PRINTER_BED",
              "detail": "50.000 × 30.000 × 60.000 mm against 220 × 220 × 250 mm printer bed",
              "status": "passed"
            },
            {
              "code": "SLICER",
              "detail": "PrusaSlicer produced bounded G-code with the fixed profile",
              "status": "passed"
            },
            {
              "code": "EXTRUSION_TOOLPATH",
              "detail": "G-code contains at least one extrusion move",
              "status": "passed"
            },
            {
              "code": "GOAL_NO_SUPPORTS",
              "detail": "Support filament used: 3669.318 mm",
              "status": "failed"
            },
            {
              "code": "GOAL_PRINT_TIME",
              "detail": "No maxPrintTimeMin goal was requested",
              "status": "not_checked"
            },
            {
              "code": "GOAL_FILAMENT",
              "detail": "No maxFilamentG goal was requested",
              "status": "not_checked"
            },
            {
              "code": "GOAL_FIT",
              "detail": "50.000 × 30.000 × 60.000 mm against requested 220 × 220 × 250 mm",
              "status": "passed"
            },
            {
              "code": "ORIENTATION_SEARCH",
              "detail": "Every orientation candidate needed by the search budget and maxAlternatives was evaluated",
              "status": "passed"
            },
            {
              "code": "PREVIEW",
              "detail": "Headless OpenSCAD rendered preview.png",
              "status": "passed"
            }
          ],
          "status": "goals_unmet",
          "changes": [
            {
              "name": "shelf",
              "after": 50,
              "before": 40
            }
          ],
          "profile": "fdm-pla-0.4",
          "revised": {
            "boundsMm": {
              "max": [
                50,
                30,
                60
              ],
              "min": [
                0,
                0,
                0
              ],
              "size": [
                50,
                30,
                60
              ]
            },
            "volumeMm3": 15750,
            "watertight": true,
            "triangleCount": 20
          },
          "timings": {
            "sliceMs": 258.936095,
            "totalMs": 1349.33955,
            "searchMs": 487.178505,
            "compileMs": 117.91681300000005,
            "previewMs": 336.740849
          },
          "baseline": {
            "boundsMm": {
              "max": [
                40,
                30,
                60
              ],
              "min": [
                0,
                0,
                0
              ],
              "size": [
                40,
                30,
                60
              ]
            },
            "volumeMm3": 14250,
            "watertight": true,
            "triangleCount": 20
          },
          "warnings": [],
          "artifacts": [
            {
              "href": "https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/revised.scad",
              "name": "revised.scad",
              "sha256": "6c8f087904109cd19d9a6994a3cfe9eb88d8784730b1f0a4f1e50e41d9a48ab1",
              "mediaType": "text/plain; charset=utf-8",
              "sizeBytes": 153
            },
            {
              "href": "https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/baseline.stl",
              "name": "baseline.stl",
              "sha256": "21dfae091297d772a86b87186a6804950e88b4ca35fc0bd323a979beddb049ad",
              "mediaType": "model/stl",
              "sizeBytes": 1084
            },
            {
              "href": "https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/revised.stl",
              "name": "revised.stl",
              "sha256": "81d262c41426000dc34d0da6e2a240a035522d57bc9e7250442a22dba9b2b945",
              "mediaType": "model/stl",
              "sizeBytes": 1084
            },
            {
              "href": "https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/revised.gcode",
              "name": "revised.gcode",
              "sha256": "1e7175a999f29ec0fedea7a2d247b12df599eea7c54e4649356df2f5f7ef7e24",
              "mediaType": "text/plain; charset=utf-8",
              "sizeBytes": 737838
            },
            {
              "href": "https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/profile.ini",
              "name": "profile.ini",
              "sha256": "c69f01a9e2b8aafaf09486afa03a5c2aceffb879d90409b6273a70403c9e4297",
              "mediaType": "text/plain; charset=utf-8",
              "sizeBytes": 582
            },
            {
              "href": "https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/report.json",
              "name": "report.json",
              "sha256": "72fd8c40face6f6400b4e6a26e11dff9a26cd4f323ecda5bc89ef256d3d8e269",
              "mediaType": "application/json",
              "sizeBytes": 7647
            },
            {
              "href": "https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/changes.diff",
              "name": "changes.diff",
              "sha256": "6876ee6a6ac29b7b73885aed99280aeeb238beef5ce6929c5428c337e12ea994",
              "mediaType": "text/x-diff; charset=utf-8",
              "sizeBytes": 254
            },
            {
              "href": "https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/alternative-1.gcode",
              "name": "alternative-1.gcode",
              "sha256": "c4b0c15fa7b5b087e9e8f08b765358f33b899d162c659da0e34d244e3e24646f",
              "mediaType": "text/plain; charset=utf-8",
              "sizeBytes": 483111
            },
            {
              "href": "https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/alternative-2.gcode",
              "name": "alternative-2.gcode",
              "sha256": "8d1349486f3965ef380a6a553560d7e5790abed5d162a39833d348945e8a65ee",
              "mediaType": "text/plain; charset=utf-8",
              "sizeBytes": 491287
            },
            {
              "href": "https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/alternative-3.gcode",
              "name": "alternative-3.gcode",
              "sha256": "81bc546b42fc6bcada971e3cbfc8af154020233f69dbaca207e901c23ef7ab08",
              "mediaType": "text/plain; charset=utf-8",
              "sizeBytes": 375942
            },
            {
              "href": "https://prototype.api.williamrobinson.dev/v1/prototype/artifacts/0123456789abcdef0123456789abcdef0123456789abcdef/preview.png",
              "name": "preview.png",
              "sha256": "8c760f9b61e1bebd29e64089781b4ba39081dc72325eed7883ff34671eb020a0",
              "mediaType": "image/png",
              "sizeBytes": 7861
            }
          ],
          "expiresAt": "2026-09-13T12:43:55.474Z",
          "requested": {
            "goals": {
              "fit": true,
              "filament": true,
              "printTime": true,
              "noSupports": false
            },
            "slice": {
              "filamentG": 20.94,
              "filamentMm": 7020.67,
              "layerCount": 480,
              "needsSupport": true,
              "supportFilamentMm": 3669.3182300001085,
              "estimatedPrintTimeMin": 84.75
            },
            "sliced": true,
            "overhang": {
              "heightMm": 60,
              "footprintMm": [
                50,
                30
              ],
              "overhangAreaMm2": 1350,
              "bedContactAreaMm2": 150
            },
            "rotation": {
              "xDeg": 0,
              "yDeg": 0
            },
            "orientation": "+z"
          },
          "evaluations": [
            {
              "goals": {
                "fit": true,
                "filament": true,
                "printTime": true,
                "noSupports": false
              },
              "slice": {
                "filamentG": 20.94,
                "filamentMm": 7020.67,
                "layerCount": 480,
                "needsSupport": true,
                "supportFilamentMm": 3669.3182300001085,
                "estimatedPrintTimeMin": 84.75
              },
              "sliced": true,
              "overhang": {
                "heightMm": 60,
                "footprintMm": [
                  50,
                  30
                ],
                "overhangAreaMm2": 1350,
                "bedContactAreaMm2": 150
              },
              "rotation": {
                "xDeg": 0,
                "yDeg": 0
              },
              "orientation": "+z"
            },
            {
              "goals": null,
              "slice": null,
              "sliced": false,
              "overhang": {
                "heightMm": 60.00000000000001,
                "footprintMm": [
                  50,
                  30.000000000000007
                ],
                "overhangAreaMm2": 0,
                "bedContactAreaMm2": 1500
              },
              "rotation": {
                "xDeg": 180,
                "yDeg": 0
              },
              "orientation": "-z"
            },
            {
              "goals": {
                "fit": true,
                "filament": true,
                "printTime": true,
                "noSupports": true
              },
              "slice": {
                "filamentG": 9.92,
                "filamentMm": 3326.3,
                "layerCount": 250,
                "needsSupport": false,
                "supportFilamentMm": 0,
                "estimatedPrintTimeMin": 55.266666666666666
              },
              "sliced": true,
              "overhang": {
                "heightMm": 50.00000000000001,
                "footprintMm": [
                  60,
                  30
                ],
                "overhangAreaMm2": 0,
                "bedContactAreaMm2": 1800
              },
              "rotation": {
                "xDeg": 0,
                "yDeg": -90
              },
              "orientation": "+x"
            },
            {
              "goals": null,
              "slice": null,
              "sliced": false,
              "overhang": {
                "heightMm": 50.00000000000001,
                "footprintMm": [
                  60,
                  30
                ],
                "overhangAreaMm2": 1650,
                "bedContactAreaMm2": 150
              },
              "rotation": {
                "xDeg": 0,
                "yDeg": 90
              },
              "orientation": "-x"
            },
            {
              "goals": {
                "fit": true,
                "filament": true,
                "printTime": true,
                "noSupports": true
              },
              "slice": {
                "filamentG": 10.05,
                "filamentMm": 3370.97,
                "layerCount": 150,
                "needsSupport": false,
                "supportFilamentMm": 0,
                "estimatedPrintTimeMin": 48.06666666666667
              },
              "sliced": true,
              "overhang": {
                "heightMm": 30.000000000000004,
                "footprintMm": [
                  50,
                  60
                ],
                "overhangAreaMm2": 0,
                "bedContactAreaMm2": 525
              },
              "rotation": {
                "xDeg": 90,
                "yDeg": 0
              },
              "orientation": "+y"
            },
            {
              "goals": {
                "fit": true,
                "filament": true,
                "printTime": true,
                "noSupports": true
              },
              "slice": {
                "filamentG": 10.05,
                "filamentMm": 3371.2,
                "layerCount": 150,
                "needsSupport": false,
                "supportFilamentMm": 0,
                "estimatedPrintTimeMin": 48.1
              },
              "sliced": true,
              "overhang": {
                "heightMm": 30.000000000000004,
                "footprintMm": [
                  50,
                  60
                ],
                "overhangAreaMm2": 0,
                "bedContactAreaMm2": 525
              },
              "rotation": {
                "xDeg": -90,
                "yDeg": 0
              },
              "orientation": "-y"
            }
          ],
          "limitations": [
            "The service validates CAD, mesh closure, dimensions, preserve constraints, and slicer output only; it does not verify physical printability, strength, tolerances, or material certification.",
            "OpenSCAD coordinates are interpreted as millimetres; no automatic unit conversion is performed.",
            "Overhang analysis is a pure 45°-surface-normal geometric heuristic; the needsSupport goal is decided by PrusaSlicer's own automatic support generator, which can disagree with the heuristic.",
            "G-code is not byte-deterministic across runs (seam placement jitters by a few microns); only the parsed header metrics are treated as stable.",
            "This service charges for every outcome it returns — passed, goals_unmet, or rejected — because CAD compilation, mesh inspection, and slicing work is performed before the outcome is known."
          ],
          "alternatives": [
            {
              "kind": "orientation",
              "mesh": {
                "boundsMm": {
                  "max": [
                    50,
                    1.83697019872103e-15,
                    30.000000000000004
                  ],
                  "min": [
                    0,
                    -60,
                    0
                  ],
                  "size": [
                    50,
                    60,
                    30.000000000000004
                  ]
                },
                "volumeMm3": 15750,
                "watertight": true,
                "triangleCount": 20
              },
              "slice": {
                "filamentG": 10.05,
                "filamentMm": 3370.97,
                "layerCount": 150,
                "needsSupport": false,
                "supportFilamentMm": 0,
                "estimatedPrintTimeMin": 48.06666666666667
              },
              "artifact": "alternative-1.gcode",
              "orientation": "+y",
              "editFraction": null,
              "meetsAllGoals": true,
              "parametersApplied": null
            },
            {
              "kind": "orientation",
              "mesh": {
                "boundsMm": {
                  "max": [
                    50,
                    60,
                    3.67394039744206e-15
                  ],
                  "min": [
                    0,
                    0,
                    -30
                  ],
                  "size": [
                    50,
                    60,
                    30.000000000000004
                  ]
                },
                "volumeMm3": 15750,
                "watertight": true,
                "triangleCount": 20
              },
              "slice": {
                "filamentG": 10.05,
                "filamentMm": 3371.2,
                "layerCount": 150,
                "needsSupport": false,
                "supportFilamentMm": 0,
                "estimatedPrintTimeMin": 48.1
              },
              "artifact": "alternative-2.gcode",
              "orientation": "-y",
              "editFraction": null,
              "meetsAllGoals": true,
              "parametersApplied": null
            },
            {
              "kind": "orientation",
              "mesh": {
                "boundsMm": {
                  "max": [
                    3.061616997868383e-16,
                    30,
                    50.00000000000001
                  ],
                  "min": [
                    -60,
                    0,
                    0
                  ],
                  "size": [
                    60,
                    30,
                    50.00000000000001
                  ]
                },
                "volumeMm3": 15750,
                "watertight": true,
                "triangleCount": 20
              },
              "slice": {
                "filamentG": 9.92,
                "filamentMm": 3326.3,
                "layerCount": 250,
                "needsSupport": false,
                "supportFilamentMm": 0,
                "estimatedPrintTimeMin": 55.266666666666666
              },
              "artifact": "alternative-3.gcode",
              "orientation": "+x",
              "editFraction": null,
              "meetsAllGoals": true,
              "parametersApplied": null
            }
          ],
          "recommendations": [
            {
              "code": "BETTER_ORIENTATION",
              "message": "A different axis-aligned orientation meets every requested goal; see the orientation alternatives."
            }
          ],
          "parametersApplied": {
            "height": 60
          }
        }
      }
    },
    "schema": {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "required": [
            "type",
            "method",
            "bodyType",
            "body"
          ],
          "properties": {
            "body": {
              "type": "object",
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "required": [
                "source"
              ],
              "properties": {
                "edits": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "oneOf": [
                      {
                        "required": [
                          "kind",
                          "name",
                          "value"
                        ],
                        "properties": {
                          "kind": {
                            "const": "set"
                          },
                          "name": {
                            "type": "string",
                            "pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
                          },
                          "value": {
                            "anyOf": [
                              {
                                "type": "string",
                                "maxLength": 512,
                                "description": "Maximum 512 UTF-8 bytes."
                              },
                              {
                                "type": "number",
                                "maximum": 1000000,
                                "minimum": -1000000
                              },
                              {
                                "type": "boolean"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "required": [
                          "kind",
                          "name",
                          "delta"
                        ],
                        "properties": {
                          "kind": {
                            "const": "offset"
                          },
                          "name": {
                            "type": "string",
                            "pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
                          },
                          "delta": {
                            "type": "number",
                            "maximum": 1000000,
                            "minimum": -1000000
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "required": [
                          "kind",
                          "name",
                          "factor"
                        ],
                        "properties": {
                          "kind": {
                            "const": "scale"
                          },
                          "name": {
                            "type": "string",
                            "pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
                          },
                          "factor": {
                            "type": "number",
                            "maximum": 1000000,
                            "exclusiveMinimum": 0
                          }
                        },
                        "additionalProperties": false
                      }
                    ]
                  },
                  "default": [],
                  "maxItems": 16,
                  "description": "Deterministic edits applied in order to a top-level scalar assignment: set a literal, offset a numeric value, or scale it by a positive factor."
                },
                "goals": {
                  "type": "object",
                  "default": {},
                  "properties": {
                    "maxSizeMm": {
                      "type": "array",
                      "items": {
                        "type": "number",
                        "maximum": 1000,
                        "exclusiveMinimum": 0
                      },
                      "default": [
                        220,
                        220,
                        250
                      ],
                      "maxItems": 3,
                      "minItems": 3
                    },
                    "noSupports": {
                      "type": "boolean",
                      "default": true
                    },
                    "maxFilamentG": {
                      "type": "number",
                      "maximum": 100000,
                      "minimum": 0.01
                    },
                    "maxPrintTimeMin": {
                      "type": "number",
                      "maximum": 100000,
                      "minimum": 1
                    }
                  },
                  "additionalProperties": false
                },
                "source": {
                  "type": "string",
                  "maxLength": 16384,
                  "minLength": 1,
                  "description": "Self-contained OpenSCAD, interpreted in millimetres; maximum 16 KiB UTF-8. External imports are prohibited."
                },
                "profile": {
                  "enum": [
                    "fdm-pla-0.4",
                    "fdm-petg-0.4"
                  ],
                  "type": "string",
                  "default": "fdm-pla-0.4"
                },
                "preserve": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "oneOf": [
                      {
                        "required": [
                          "kind",
                          "name"
                        ],
                        "properties": {
                          "kind": {
                            "const": "parameter"
                          },
                          "name": {
                            "type": "string",
                            "pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "required": [
                          "kind",
                          "axis"
                        ],
                        "properties": {
                          "axis": {
                            "enum": [
                              "x",
                              "y",
                              "z"
                            ],
                            "type": "string"
                          },
                          "kind": {
                            "const": "bounds_axis"
                          },
                          "toleranceMm": {
                            "type": "number",
                            "default": 0.05,
                            "maximum": 1000,
                            "minimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      {
                        "required": [
                          "kind"
                        ],
                        "properties": {
                          "kind": {
                            "const": "volume"
                          },
                          "tolerancePercent": {
                            "type": "number",
                            "default": 1,
                            "maximum": 100,
                            "minimum": 0
                          }
                        },
                        "additionalProperties": false
                      }
                    ]
                  },
                  "default": [],
                  "maxItems": 16,
                  "description": "Constraints the revision must not violate: an edit must not target a named parameter, a bounding-box axis must stay within a tolerance, or the volume must stay within a percentage."
                },
                "parameters": {
                  "type": "object",
                  "default": {},
                  "description": "Overrides must name unique top-level scalar literal assignments, not derived expressions or reserved names.",
                  "maxProperties": 64,
                  "propertyNames": {
                    "pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
                  },
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 512,
                        "description": "Maximum 512 UTF-8 bytes."
                      },
                      {
                        "type": "number",
                        "maximum": 1000000,
                        "minimum": -1000000
                      },
                      {
                        "type": "boolean"
                      }
                    ]
                  }
                },
                "maxAlternatives": {
                  "type": "integer",
                  "default": 3,
                  "maximum": 4,
                  "minimum": 0
                },
                "orientationSearch": {
                  "type": "boolean",
                  "default": true,
                  "description": "Evaluate the other five axis-aligned orientations as alternatives."
                }
              },
              "additionalProperties": false
            },
            "type": {
              "type": "string",
              "const": "http"
            },
            "method": {
              "enum": [
                "POST"
              ],
              "type": "string"
            },
            "bodyType": {
              "enum": [
                "json",
                "form-data",
                "text"
              ],
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "output": {
          "type": "object",
          "required": [
            "type"
          ],
          "properties": {
            "type": {
              "type": "string"
            },
            "example": {
              "type": "object",
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "required": [
                "status",
                "profile",
                "tools",
                "parametersApplied",
                "changes",
                "baseline",
                "revised",
                "delta",
                "requested",
                "evaluations",
                "alternatives",
                "checks",
                "warnings",
                "recommendations",
                "limitations",
                "timings",
                "expiresAt",
                "artifacts"
              ],
              "properties": {
                "delta": {
                  "anyOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "object",
                      "required": [
                        "sizeMm",
                        "volumeMm3",
                        "volumePercent"
                      ],
                      "properties": {
                        "sizeMm": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          },
                          "maxItems": 3,
                          "minItems": 3
                        },
                        "volumeMm3": {
                          "type": "number"
                        },
                        "volumePercent": {
                          "type": "number"
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                },
                "tools": {
                  "type": "object",
                  "required": [
                    "openscad",
                    "slicer"
                  ],
                  "properties": {
                    "slicer": {
                      "type": "string"
                    },
                    "openscad": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                },
                "checks": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "status",
                      "detail"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 128,
                        "minLength": 1
                      },
                      "detail": {
                        "type": "string",
                        "maxLength": 4096
                      },
                      "status": {
                        "enum": [
                          "passed",
                          "failed",
                          "not_checked"
                        ],
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  },
                  "maxItems": 32
                },
                "status": {
                  "enum": [
                    "passed",
                    "goals_unmet",
                    "rejected"
                  ],
                  "type": "string"
                },
                "changes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "name",
                      "before",
                      "after"
                    ],
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "after": {
                        "anyOf": [
                          {
                            "type": "string",
                            "maxLength": 512,
                            "description": "Maximum 512 UTF-8 bytes."
                          },
                          {
                            "type": "number",
                            "maximum": 1000000,
                            "minimum": -1000000
                          },
                          {
                            "type": "boolean"
                          }
                        ]
                      },
                      "before": {
                        "anyOf": [
                          {
                            "type": "string",
                            "maxLength": 512,
                            "description": "Maximum 512 UTF-8 bytes."
                          },
                          {
                            "type": "number",
                            "maximum": 1000000,
                            "minimum": -1000000
                          },
                          {
                            "type": "boolean"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false
                  },
                  "maxItems": 16
                },
                "profile": {
                  "enum": [
                    "fdm-pla-0.4",
                    "fdm-petg-0.4"
                  ],
                  "type": "string"
                },
                "revised": {
                  "anyOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "object",
                      "required": [
                        "triangleCount",
                        "boundsMm",
                        "volumeMm3",
                        "watertight"
                      ],
                      "properties": {
                        "boundsMm": {
                          "type": "object",
                          "required": [
                            "min",
                            "max",
                            "size"
                          ],
                          "properties": {
                            "max": {
                              "type": "array",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3
                            },
                            "min": {
                              "type": "array",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3
                            },
                            "size": {
                              "type": "array",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3
                            }
                          },
                          "additionalProperties": false
                        },
                        "volumeMm3": {
                          "type": "number",
                          "minimum": 0
                        },
                        "watertight": {
                          "type": "boolean"
                        },
                        "triangleCount": {
                          "type": "integer",
                          "minimum": 0
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                },
                "timings": {
                  "type": "object",
                  "required": [
                    "compileMs",
                    "sliceMs",
                    "searchMs",
                    "previewMs",
                    "totalMs"
                  ],
                  "properties": {
                    "sliceMs": {
                      "type": "number",
                      "minimum": 0
                    },
                    "totalMs": {
                      "type": "number",
                      "minimum": 0
                    },
                    "searchMs": {
                      "type": "number",
                      "minimum": 0
                    },
                    "compileMs": {
                      "type": "number",
                      "minimum": 0
                    },
                    "previewMs": {
                      "type": "number",
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "baseline": {
                  "anyOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "object",
                      "required": [
                        "triangleCount",
                        "boundsMm",
                        "volumeMm3",
                        "watertight"
                      ],
                      "properties": {
                        "boundsMm": {
                          "type": "object",
                          "required": [
                            "min",
                            "max",
                            "size"
                          ],
                          "properties": {
                            "max": {
                              "type": "array",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3
                            },
                            "min": {
                              "type": "array",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3
                            },
                            "size": {
                              "type": "array",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 3,
                              "minItems": 3
                            }
                          },
                          "additionalProperties": false
                        },
                        "volumeMm3": {
                          "type": "number",
                          "minimum": 0
                        },
                        "watertight": {
                          "type": "boolean"
                        },
                        "triangleCount": {
                          "type": "integer",
                          "minimum": 0
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                },
                "warnings": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "maxLength": 4096
                  },
                  "maxItems": 32
                },
                "artifacts": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "name",
                      "mediaType",
                      "sizeBytes",
                      "sha256",
                      "href"
                    ],
                    "properties": {
                      "href": {
                        "type": "string",
                        "format": "uri"
                      },
                      "name": {
                        "enum": [
                          "revised.scad",
                          "changes.diff",
                          "baseline.stl",
                          "revised.stl",
                          "revised.gcode",
                          "alternative-1.gcode",
                          "alternative-2.gcode",
                          "alternative-3.gcode",
                          "alternative-4.gcode",
                          "profile.ini",
                          "preview.png",
                          "report.json"
                        ],
                        "type": "string"
                      },
                      "sha256": {
                        "type": "string",
                        "pattern": "^[a-f0-9]{64}$"
                      },
                      "mediaType": {
                        "type": "string",
                        "maxLength": 128,
                        "minLength": 1
                      },
                      "sizeBytes": {
                        "type": "integer",
                        "minimum": 0
                      }
                    },
                    "additionalProperties": false
                  },
                  "maxItems": 12
                },
                "expiresAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "requested": {
                  "anyOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "object",
                      "required": [
                        "orientation",
                        "rotation",
                        "overhang",
                        "slice",
                        "goals",
                        "sliced"
                      ],
                      "properties": {
                        "goals": {
                          "anyOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "object",
                              "required": [
                                "noSupports",
                                "printTime",
                                "filament",
                                "fit"
                              ],
                              "properties": {
                                "fit": {
                                  "type": "boolean"
                                },
                                "filament": {
                                  "type": "boolean"
                                },
                                "printTime": {
                                  "type": "boolean"
                                },
                                "noSupports": {
                                  "type": "boolean"
                                }
                              },
                              "additionalProperties": false
                            }
                          ]
                        },
                        "slice": {
                          "anyOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "object",
                              "required": [
                                "estimatedPrintTimeMin",
                                "filamentG",
                                "filamentMm",
                                "supportFilamentMm",
                                "layerCount",
                                "needsSupport"
                              ],
                              "properties": {
                                "filamentG": {
                                  "type": "number",
                                  "minimum": 0
                                },
                                "filamentMm": {
                                  "type": "number",
                                  "minimum": 0
                                },
                                "layerCount": {
                                  "type": "integer",
                                  "minimum": 0
                                },
                                "needsSupport": {
                                  "type": "boolean"
                                },
                                "supportFilamentMm": {
                                  "type": "number",
                                  "minimum": 0
                                },
                                "estimatedPrintTimeMin": {
                                  "type": "number",
                                  "minimum": 0
                                }
                              },
                              "additionalProperties": false
                            }
                          ]
                        },
                        "sliced": {
                          "type": "boolean"
                        },
                        "overhang": {
                          "type": "object",
                          "required": [
                            "overhangAreaMm2",
                            "bedContactAreaMm2",
                            "heightMm",
                            "footprintMm"
                          ],
                          "properties": {
                            "heightMm": {
                              "type": "number",
                              "minimum": 0
                            },
                            "footprintMm": {
                              "type": "array",
                              "items": {
                                "type": "number"
                              },
                              "maxItems": 2,
                              "minItems": 2
                            },
                            "overhangAreaMm2": {
                              "type": "number",
                              "minimum": 0
                            },
                            "bedContactAreaMm2": {
                              "type": "number",
                              "minimum": 0
                            }
                          },
                          "additionalProperties": false
                        },
                        "rotation": {
                          "type": "object",
                          "required": [
                            "xDeg",
                            "yDeg"
                          ],
                          "properties": {
                            "xDeg": {
                              "type": "number"
                            },
                            "yDeg": {
                              "type": "number"
                            }
                          },
                          "additionalProperties": false
                        },
                        "orientation": {
                          "enum": [
                            "+z",
                            "-z",
                            "+x",
                            "-x",
                            "+y",
                            "-y"
                          ],
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                },
                "evaluations": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "orientation",
                      "rotation",
                      "overhang",
                      "slice",
                      "goals",
                      "sliced"
                    ],
                    "properties": {
                      "goals": {
                        "anyOf": [
                          {
                            "type": "null"
                          },
                          {
                            "type": "object",
                            "required": [
                              "noSupports",
                              "printTime",
                              "filament",
                              "fit"
                            ],
                            "properties": {
                              "fit": {
                                "type": "boolean"
                              },
                              "filament": {
                                "type": "boolean"
                              },
                              "printTime": {
                                "type": "boolean"
                              },
                              "noSupports": {
                                "type": "boolean"
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      },
                      "slice": {
                        "anyOf": [
                          {
                            "type": "null"
                          },
                          {
                            "type": "object",
                            "required": [
                              "estimatedPrintTimeMin",
                              "filamentG",
                              "filamentMm",
                              "supportFilamentMm",
                              "layerCount",
                              "needsSupport"
                            ],
                            "properties": {
                              "filamentG": {
                                "type": "number",
                                "minimum": 0
                              },
                              "filamentMm": {
                                "type": "number",
                                "minimum": 0
                              },
                              "layerCount": {
                                "type": "integer",
                                "minimum": 0
                              },
                              "needsSupport": {
                                "type": "boolean"
                              },
                              "supportFilamentMm": {
                                "type": "number",
                                "minimum": 0
                              },
                              "estimatedPrintTimeMin": {
                                "type": "number",
                                "minimum": 0
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      },
                      "sliced": {
                        "type": "boolean"
                      },
                      "overhang": {
                        "type": "object",
                        "required": [
                          "overhangAreaMm2",
                          "bedContactAreaMm2",
                          "heightMm",
                          "footprintMm"
                        ],
                        "properties": {
                          "heightMm": {
                            "type": "number",
                            "minimum": 0
                          },
                          "footprintMm": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            },
                            "maxItems": 2,
                            "minItems": 2
                          },
                          "overhangAreaMm2": {
                            "type": "number",
                            "minimum": 0
                          },
                          "bedContactAreaMm2": {
                            "type": "number",
                            "minimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "rotation": {
                        "type": "object",
                        "required": [
                          "xDeg",
                          "yDeg"
                        ],
                        "properties": {
                          "xDeg": {
                            "type": "number"
                          },
                          "yDeg": {
                            "type": "number"
                          }
                        },
                        "additionalProperties": false
                      },
                      "orientation": {
                        "enum": [
                          "+z",
                          "-z",
                          "+x",
                          "-x",
                          "+y",
                          "-y"
                        ],
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  },
                  "maxItems": 6
                },
                "limitations": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "maxLength": 4096
                  },
                  "maxItems": 16
                },
                "alternatives": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "kind",
                      "artifact",
                      "orientation",
                      "parametersApplied",
                      "editFraction",
                      "mesh",
                      "slice",
                      "meetsAllGoals"
                    ],
                    "properties": {
                      "kind": {
                        "enum": [
                          "orientation",
                          "partial_edit"
                        ],
                        "type": "string"
                      },
                      "mesh": {
                        "anyOf": [
                          {
                            "type": "null"
                          },
                          {
                            "type": "object",
                            "required": [
                              "triangleCount",
                              "boundsMm",
                              "volumeMm3",
                              "watertight"
                            ],
                            "properties": {
                              "boundsMm": {
                                "type": "object",
                                "required": [
                                  "min",
                                  "max",
                                  "size"
                                ],
                                "properties": {
                                  "max": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3
                                  },
                                  "min": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3
                                  },
                                  "size": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    },
                                    "maxItems": 3,
                                    "minItems": 3
                                  }
                                },
                                "additionalProperties": false
                              },
                              "volumeMm3": {
                                "type": "number",
                                "minimum": 0
                              },
                              "watertight": {
                                "type": "boolean"
                              },
                              "triangleCount": {
                                "type": "integer",
                                "minimum": 0
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      },
                      "slice": {
                        "type": "object",
                        "required": [
                          "estimatedPrintTimeMin",
                          "filamentG",
                          "filamentMm",
                          "supportFilamentMm",
                          "layerCount",
                          "needsSupport"
                        ],
                        "properties": {
                          "filamentG": {
                            "type": "number",
                            "minimum": 0
                          },
                          "filamentMm": {
                            "type": "number",
                            "minimum": 0
                          },
                          "layerCount": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "needsSupport": {
                            "type": "boolean"
                          },
                          "supportFilamentMm": {
                            "type": "number",
                            "minimum": 0
                          },
                          "estimatedPrintTimeMin": {
                            "type": "number",
                            "minimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "artifact": {
                        "anyOf": [
                          {
                            "type": "null"
                          },
                          {
                            "enum": [
                              "alternative-1.gcode",
                              "alternative-2.gcode",
                              "alternative-3.gcode",
                              "alternative-4.gcode"
                            ],
                            "type": "string"
                          }
                        ]
                      },
                      "orientation": {
                        "enum": [
                          "+z",
                          "-z",
                          "+x",
                          "-x",
                          "+y",
                          "-y"
                        ],
                        "type": "string"
                      },
                      "editFraction": {
                        "anyOf": [
                          {
                            "type": "null"
                          },
                          {
                            "type": "number",
                            "maximum": 1,
                            "minimum": 0
                          }
                        ]
                      },
                      "meetsAllGoals": {
                        "type": "boolean"
                      },
                      "parametersApplied": {
                        "anyOf": [
                          {
                            "type": "null"
                          },
                          {
                            "type": "object",
                            "default": {},
                            "description": "Overrides must name unique top-level scalar literal assignments, not derived expressions or reserved names.",
                            "maxProperties": 64,
                            "propertyNames": {
                              "pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
                            },
                            "additionalProperties": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "maxLength": 512,
                                  "description": "Maximum 512 UTF-8 bytes."
                                },
                                {
                                  "type": "number",
                                  "maximum": 1000000,
                                  "minimum": -1000000
                                },
                                {
                                  "type": "boolean"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    "additionalProperties": false
                  },
                  "maxItems": 4
                },
                "recommendations": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string",
                        "maxLength": 128
                      },
                      "message": {
                        "type": "string",
                        "maxLength": 4096
                      }
                    },
                    "additionalProperties": false
                  },
                  "maxItems": 32
                },
                "parametersApplied": {
                  "type": "object",
                  "default": {},
                  "description": "Overrides must name unique top-level scalar literal assignments, not derived expressions or reserved names.",
                  "maxProperties": 64,
                  "propertyNames": {
                    "pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
                  },
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 512,
                        "description": "Maximum 512 UTF-8 bytes."
                      },
                      {
                        "type": "number",
                        "maximum": 1000000,
                        "minimum": -1000000
                      },
                      {
                        "type": "boolean"
                      }
                    ]
                  }
                }
              },
              "additionalProperties": false
            }
          }
        }
      }
    }
  },
  "builder-code": {
    "info": {
      "s": [
        "cdp_sdk_server"
      ]
    },
    "schema": {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "a": {
          "type": "string",
          "pattern": "^[a-z0-9_]{1,32}$",
          "description": "App builder code"
        },
        "s": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[a-z0-9_]{1,32}$"
          },
          "maxItems": 11,
          "description": "Service builder codes"
        },
        "w": {
          "type": "string",
          "pattern": "^[a-z0-9_]{1,32}$",
          "description": "Wallet builder code"
        }
      },
      "additionalProperties": false
    }
  },
  "payment-identifier": {
    "info": {
      "required": true
    },
    "schema": {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "required"
      ],
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^[a-zA-Z0-9_-]+$",
          "maxLength": 128,
          "minLength": 16
        },
        "required": {
          "type": "boolean"
        }
      }
    }
  },
  "eip2612GasSponsoring": {},
  "erc20ApprovalGasSponsoring": {}
}

Provenance

Seen in the source catalog
2026-09-11 20:08Z
Last indexed by Roundhouse
2026-09-24 10:40Z
Last enriched (probe, favicon, geo)
2026-09-11 20:16Z
x402 version
2
Max timeout
300s
Liveness probe
HTTP 404
Report

Hand this page to an agent

Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.

GET api.roundhouseai.io/v0/endpoints

This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 13 snapshots so far. Verified volume counts only settlements with an on-chain EIP-3009 marker.

Open skill.md
Show the prompt
Using Roundhouse, look up the x402 service Print Prototype Engineer and tell me whether it is
worth paying: what a call costs, whether the endpoint answered when last probed, and what
its payment record actually shows.

curl -s 'https://api.roundhouseai.io/v0/endpoints?q=Print%20Prototype%20Engineer'
curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>'

Then call it: read the price from the live 402 at https://prototype.api.williamrobinson.dev/v1/prototype/revise, never from
a cached figure, and pay with an x402 client.

The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except
/v0/unified* and /v0/endpoints. Mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402,
or use an organization key from https://roundhouseai.io/dashboard/team.

If you do not have Roundhouse tools or skills installed, read
https://roundhouseai.io/skill.md first — it is the whole procedure.