# First Ruble Agent: print and vector QA tools
Choose the smallest suitable tool. Prices are per request in USDC on Base, x402 v2. No subscription. Discovery, schemas and fixed samples are free.
## SVG Print Preflight — 0.02 USDC
Use when: Find artwork risks before sending SVG to print.
POST https://first-ruble-agent.tohaa28.workers.dev/api/preflight
Input: SVG text, up to 128 KiB
Limits: Flags raster, live text, RGB, effects and open-path candidates. Heuristic, not certification.
Free fixed sample: POST https://first-ruble-agent.tohaa28.workers.dev/demo
Example JSON: {"svg":""}
## PrintCheck Geometry — 0.05 USDC
Use when: Check whether sampled details are too fine for a printing method.
POST https://first-ruble-agent.tohaa28.workers.dev/api/printcheck
Input: Binary ink rows, final dimensions in mm, method code
Limits: Measures sampled ink geometry. Not a PDF/CDR importer.
Free fixed sample: GET https://first-ruble-agent.tohaa28.workers.dev/demo/printcheck
Example JSON: {"rows":["................","................","...##########...","...##########...","...##########...","................","................","................"],"widthMm":8,"heightMm":4,"method":"B1","conditions":{"underbase":false}}
## Bezier Curve Clearance — 0.03 USDC
Use when: Measure the gap between two curves before engraving or printing.
POST https://first-ruble-agent.tohaa28.workers.dev/api/curve-clearance
Input: Two line, quadratic or cubic segments in mm
Limits: Returns witness points and a conservative bound; check completeness.
Free fixed sample: GET https://first-ruble-agent.tohaa28.workers.dev/demo/curve-clearance
Example JSON: {"a":[[0,0],[10,0]],"b":[[0,0.2],[10,0.2]],"thresholdMm":0.3}
## Small Feature Detector — 0.03 USDC
Use when: Find tiny polygon objects and holes before production.
POST https://first-ruble-agent.tohaa28.workers.dev/api/small-features
Input: Explicit polygon rings in millimeters
Limits: Checks object and hole dimensions; no SVG or curve import.
Free fixed sample: GET https://first-ruble-agent.tohaa28.workers.dev/demo/small-features
Example JSON: {"minWidthMm":0.1,"minHeightMm":0.1,"shapes":[{"id":"outer","outer":[[0,0],[10,0],[10,10],[0,10]],"holes":[[[3,3],[3.05,3],[3.05,3.05],[3,3.05]]]},{"id":"tiny","outer":[[12,1],[12.05,1],[12.05,1.04],[12,1.04]]}]}
## Vector Health Check — 0.05 USDC
Use when: Find duplicate nodes and short edges in prepared vector paths.
POST https://first-ruble-agent.tohaa28.workers.dev/api/vector-health
Input: Normalized polyline points in millimeters
Limits: Checks explicit polylines, not unconverted curved artwork.
Free fixed sample: GET https://first-ruble-agent.tohaa28.workers.dev/demo/vector-health
Example JSON: {"minSegmentMm":0.1,"nearNodeMm":0.015,"closeGapMm":0.05,"paths":[{"id":"tiny-gap","closed":false,"points":[[0,0],[10,0],[10,10],[0,10],[0,0.03]]},{"id":"short-edge","closed":true,"points":[[12,0],[15,0],[15,0.04],[15,4],[12,4]]}]}
## Cutting Path Validator — 0.05 USDC
Use when: Find open contours and self-intersections before cutting.
POST https://first-ruble-agent.tohaa28.workers.dev/api/cutting-paths
Input: Normalized polyline points in millimeters
Limits: Reports topology risks; not CNC certification.
Free fixed sample: GET https://first-ruble-agent.tohaa28.workers.dev/demo/cutting-paths
Example JSON: {"minSegmentMm":0.1,"nearNodeMm":0.015,"closeGapMm":0.05,"paths":[{"id":"tiny-gap","closed":false,"points":[[0,0],[10,0],[10,10],[0,10],[0,0.03]]},{"id":"short-edge","closed":true,"points":[[12,0],[15,0],[15,0.04],[15,4],[12,4]]}]}
## Native Bezier Health — 0.08 USDC
Use when: Inspect original SVG or restricted CorelDRAW EPS curve commands.
POST https://first-ruble-agent.tohaa28.workers.dev/api/native-vector-health
Input: Path-only SVG or supported CorelDRAW EPS text
Limits: Preserves native curves; rejects unsupported constructs and EPS transforms.
Free fixed sample: GET https://first-ruble-agent.tohaa28.workers.dev/demo/native-vector-health
Example JSON: {"format":"svg","source":"","minSegmentMm":0.1}
## Connect
MCP Streamable HTTP: https://first-ruble-agent.tohaa28.workers.dev/mcp
OpenAPI: https://first-ruble-agent.tohaa28.workers.dev/openapi.json
Catalog: https://first-ruble-agent.tohaa28.workers.dev/api/catalog
JavaScript buyer client: https://first-ruble-agent.tohaa28.workers.dev/clients/buyer.mjs
MCP discovery and sample tools are free. Seven request-preparation tools return the canonical HTTP URL, input and price; use an x402-capable HTTP client to complete a paid call. MCP alone is not a wallet.
Only pay with the user's authorized budget. Check the exact endpoint, amount, USDC contract, receiving address and Base chain from PAYMENT-REQUIRED before signing. Keep wallet secrets in your own client. No blind paid retries after a timeout; reconcile the receipt/transaction first. No confirmed end-to-end funded payment is claimed by these docs.