{"openapi":"3.1.0","info":{"title":"HALOWERK biowerk","version":"1.0.0","description":"HALOWERK biowerk — bezahlte Endpunkte nach x402. Preise in USDC auf Base Mainnet.","contact":{"url":"https://bio.halowerk.com/"}},"servers":[{"url":"https://bio.halowerk.com"}],"paths":{"/v1/protein-folding":{"post":{"operationId":"biowerk_protein_folding","summary":"Validates and scores a supplied two-dimensional HP lattice conformation.","description":"Checks that a hydrophobic/polar sequence follows a self-avoiding unit-step lattice path, then counts non-consecutive hydrophobic contacts and assigns one negative energy unit per contact. It evaluates a supplied toy conformation only; it neither predicts a fold nor represents atomic chemistry, kinetics, solvent or biological function.","tags":["biowerk"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["hp_sequence","coordinates"],"additionalProperties":false,"properties":{"hp_sequence":{"type":"string","minLength":3,"maxLength":256,"pattern":"^[HP]+$","description":"Hydrophobic/polar toy-model sequence."},"coordinates":{"type":"array","minItems":3,"maxItems":256,"items":{"type":"object","required":["x","y"],"additionalProperties":false,"properties":{"x":{"type":"integer","minimum":-1000000,"maximum":1000000},"y":{"type":"integer","minimum":-1000000,"maximum":1000000}}}}}}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","required":["method"],"properties":{"method":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"Eingabe ungültig, charged=false"},"402":{"description":"Zahlung erforderlich. Die Antwort trägt accepts, description und inputSchema.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}}},"429":{"description":"Zu viele unbezahlte Anfragen, charged=false"},"502":{"description":"Gegenstelle nicht erreichbar, charged=false"},"504":{"description":"Zeitbudget überschritten, charged=false"}}}},"/v1/crispr-offtarget":{"post":{"operationId":"biowerk_crispr_offtarget","summary":"Ranks supplied candidate sequences by guide mismatches and PAM compatibility.","description":"Compares one guide with caller-supplied candidate protospacers, weights mismatches in the guide’s final ten positions twice, applies a simple NGG PAM penalty, and ranks a transparent similarity score. It does not search a genome, model bulges, chromatin or nuclease-specific biology, and must not be used as a clinical or laboratory safety decision.","tags":["biowerk"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["guide","candidates"],"additionalProperties":false,"properties":{"guide":{"type":"string","minLength":17,"maxLength":30,"pattern":"^[ACGT]+$","description":"Guide sequence written 5-prime to 3-prime."},"candidates":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["id","protospacer","pam"],"additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":128},"protospacer":{"type":"string","minLength":17,"maxLength":30,"pattern":"^[ACGT]+$"},"pam":{"type":"string","minLength":2,"maxLength":8,"pattern":"^[ACGT]+$"}}}}}}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","required":["method"],"properties":{"method":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"Eingabe ungültig, charged=false"},"402":{"description":"Zahlung erforderlich. Die Antwort trägt accepts, description und inputSchema.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}}},"429":{"description":"Zu viele unbezahlte Anfragen, charged=false"},"502":{"description":"Gegenstelle nicht erreichbar, charged=false"},"504":{"description":"Zeitbudget überschritten, charged=false"}}}},"/v1/dna-storage-encode":{"post":{"operationId":"biowerk_dna_storage_encode","summary":"Encodes UTF-8 bytes into a deterministic A/C/G/T representation.","description":"Maps each two-bit group of caller-supplied UTF-8 bytes to A, C, G or T and reports a SHA-256 checksum of the original bytes. This reversible representation performs no biological synthesis, homopolymer balancing, GC optimization, addressing or error-correcting code.","tags":["biowerk"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["text"],"additionalProperties":false,"properties":{"text":{"type":"string","minLength":1,"maxLength":4096,"description":"Text to encode as UTF-8 bytes."}}}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","required":["method"],"properties":{"method":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"Eingabe ungültig, charged=false"},"402":{"description":"Zahlung erforderlich. Die Antwort trägt accepts, description und inputSchema.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}}},"429":{"description":"Zu viele unbezahlte Anfragen, charged=false"},"502":{"description":"Gegenstelle nicht erreichbar, charged=false"},"504":{"description":"Zeitbudget überschritten, charged=false"}}}},"/v1/microbiome-diversity":{"post":{"operationId":"biowerk_microbiome_diversity","summary":"Calculates standard alpha-diversity indices from supplied taxon counts.","description":"Normalizes non-negative caller-supplied taxon counts and computes observed richness, natural-log Shannon entropy, Simpson diversity and Pielou evenness. It does not perform sequence classification, compositional correction, rarefaction, cohort comparison or medical interpretation.","tags":["biowerk"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["taxa"],"additionalProperties":false,"properties":{"taxa":{"type":"array","minItems":1,"maxItems":10000,"items":{"type":"object","required":["taxon","count"],"additionalProperties":false,"properties":{"taxon":{"type":"string","minLength":1,"maxLength":256},"count":{"type":"number","minimum":0,"maximum":1000000000000000}}}}}}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","required":["method"],"properties":{"method":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"Eingabe ungültig, charged=false"},"402":{"description":"Zahlung erforderlich. Die Antwort trägt accepts, description und inputSchema.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}}},"429":{"description":"Zu viele unbezahlte Anfragen, charged=false"},"502":{"description":"Gegenstelle nicht erreichbar, charged=false"},"504":{"description":"Zeitbudget überschritten, charged=false"}}}},"/v1/pathogen-r0":{"post":{"operationId":"biowerk_pathogen_r0","summary":"Calculates a transparent homogeneous-mixing R0 and susceptible-adjusted Re.","description":"Multiplies per-contact transmission probability, effective contacts per day and infectious duration to obtain a simple basic reproduction number, then applies a susceptible fraction for an effective number. It is a classroom homogeneous-mixing calculation, not an outbreak estimate, fitted epidemiological model or public-health forecast.","tags":["biowerk"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["transmission_probability_per_contact","effective_contacts_per_day","infectious_duration_days","susceptible_fraction"],"additionalProperties":false,"properties":{"transmission_probability_per_contact":{"type":"number","minimum":0,"maximum":1},"effective_contacts_per_day":{"type":"number","minimum":0,"maximum":1000000},"infectious_duration_days":{"type":"number","minimum":0,"maximum":100000},"susceptible_fraction":{"type":"number","minimum":0,"maximum":1}}}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","required":["method"],"properties":{"method":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"Eingabe ungültig, charged=false"},"402":{"description":"Zahlung erforderlich. Die Antwort trägt accepts, description und inputSchema.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}}},"429":{"description":"Zu viele unbezahlte Anfragen, charged=false"},"502":{"description":"Gegenstelle nicht erreichbar, charged=false"},"504":{"description":"Zeitbudget überschritten, charged=false"}}}},"/v1/biomarker-longevity":{"post":{"operationId":"biowerk_biomarker_longevity","summary":"Builds a transparent weighted standardized index from caller-defined biomarker references.","description":"Standardizes each supplied value against its supplied mean and standard deviation, flips markers whose favorable direction is lower, and computes a weighted composite mapped to a bounded 0–100 index. The references and weights come entirely from the caller; this is not a validated longevity score, diagnosis, prognosis or medical advice.","tags":["biowerk"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["biomarkers"],"additionalProperties":false,"properties":{"biomarkers":{"type":"array","minItems":1,"maxItems":200,"items":{"type":"object","required":["name","value","reference_mean","reference_sd","favorable_direction","weight"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"number","minimum":-1000000000000,"maximum":1000000000000},"reference_mean":{"type":"number","minimum":-1000000000000,"maximum":1000000000000},"reference_sd":{"type":"number","minimum":1e-12,"maximum":1000000000000},"favorable_direction":{"type":"string","enum":["higher","lower"]},"weight":{"type":"number","minimum":0,"maximum":1000000}}}}}}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","required":["method"],"properties":{"method":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"Eingabe ungültig, charged=false"},"402":{"description":"Zahlung erforderlich. Die Antwort trägt accepts, description und inputSchema.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}}},"429":{"description":"Zu viele unbezahlte Anfragen, charged=false"},"502":{"description":"Gegenstelle nicht erreichbar, charged=false"},"504":{"description":"Zeitbudget überschritten, charged=false"}}}},"/v1/syn-yeast-yield":{"post":{"operationId":"biowerk_syn_yeast_yield","summary":"Calculates a stoichiometric product ceiling and process-adjusted yield from supplied substrates.","description":"Divides each available substrate mass by its required mass per product mass, selects the limiting substrate, and applies a caller-supplied process efficiency. It does not model yeast metabolism, kinetics, oxygen transfer, toxicity, regulation or actual fermentation performance.","tags":["biowerk"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["substrates","process_efficiency"],"additionalProperties":false,"properties":{"substrates":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","required":["name","available_g","required_g_per_g_product"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":128},"available_g":{"type":"number","minimum":0,"maximum":1000000000000},"required_g_per_g_product":{"type":"number","minimum":1e-12,"maximum":1000000000000}}}},"process_efficiency":{"type":"number","minimum":0,"maximum":1}}}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","required":["method"],"properties":{"method":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"Eingabe ungültig, charged=false"},"402":{"description":"Zahlung erforderlich. Die Antwort trägt accepts, description und inputSchema.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}}},"429":{"description":"Zu viele unbezahlte Anfragen, charged=false"},"502":{"description":"Gegenstelle nicht erreichbar, charged=false"},"504":{"description":"Zeitbudget überschritten, charged=false"}}}},"/v1/allergen-epitope":{"post":{"operationId":"biowerk_allergen_epitope","summary":"Compares a protein sequence with supplied epitopes using transparent sequence similarity metrics.","description":"Builds amino-acid k-mer sets, calculates Jaccard similarity, and finds the highest contiguous identity between each supplied epitope and any equal-length window of the query. It does not predict immune binding, allergenicity, cross-reactivity or clinical risk and cannot replace curated databases or laboratory testing.","tags":["biowerk"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["query_sequence","known_epitopes","kmer_size"],"additionalProperties":false,"properties":{"query_sequence":{"type":"string","minLength":2,"maxLength":10000,"pattern":"^[ACDEFGHIKLMNPQRSTVWY]+$"},"known_epitopes":{"type":"array","minItems":1,"maxItems":200,"items":{"type":"object","required":["id","sequence"],"additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":128},"sequence":{"type":"string","minLength":2,"maxLength":500,"pattern":"^[ACDEFGHIKLMNPQRSTVWY]+$"}}}},"kmer_size":{"type":"integer","minimum":2,"maximum":12}}}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","required":["method"],"properties":{"method":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"Eingabe ungültig, charged=false"},"402":{"description":"Zahlung erforderlich. Die Antwort trägt accepts, description und inputSchema.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}}},"429":{"description":"Zu viele unbezahlte Anfragen, charged=false"},"502":{"description":"Gegenstelle nicht erreichbar, charged=false"},"504":{"description":"Zeitbudget überschritten, charged=false"}}}},"/v1/phage-matching":{"post":{"operationId":"biowerk_phage_matching","summary":"Finds best exact-length spacer matches in a supplied phage sequence and its reverse complement.","description":"Slides each caller-supplied spacer over a bounded phage sequence in both orientations, records its minimum Hamming distance and reports matches within a caller-selected mismatch threshold. It does not account for PAMs, phage taxonomy, infection biology, escape, host range or therapeutic suitability.","tags":["biowerk"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["phage_sequence","spacers","max_mismatches"],"additionalProperties":false,"properties":{"phage_sequence":{"type":"string","minLength":1,"maxLength":10000,"pattern":"^[ACGT]+$"},"spacers":{"type":"array","minItems":1,"maxItems":50,"items":{"type":"object","required":["id","sequence"],"additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":128},"sequence":{"type":"string","minLength":15,"maxLength":60,"pattern":"^[ACGT]+$"}}}},"max_mismatches":{"type":"integer","minimum":0,"maximum":5}}}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","required":["method"],"properties":{"method":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"Eingabe ungültig, charged=false"},"402":{"description":"Zahlung erforderlich. Die Antwort trägt accepts, description und inputSchema.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}}},"429":{"description":"Zu viele unbezahlte Anfragen, charged=false"},"502":{"description":"Gegenstelle nicht erreichbar, charged=false"},"504":{"description":"Zeitbudget überschritten, charged=false"}}}},"/v1/tissue-scaffold":{"post":{"operationId":"biowerk_tissue_scaffold","summary":"Estimates idealized porous-scaffold permeability and superficial flow.","description":"Uses the Kozeny-Carman relation with supplied porosity and pore diameter, then applies Darcy’s law with supplied thickness, viscosity and pressure drop. It is an idealized homogeneous porous-medium calculation, not scaffold design validation, cell-transport modeling, biocompatibility assessment or medical guidance.","tags":["biowerk"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["porosity_fraction","mean_pore_diameter_um","scaffold_thickness_mm","fluid_dynamic_viscosity_pa_s","pressure_drop_pa"],"additionalProperties":false,"properties":{"porosity_fraction":{"type":"number","minimum":0.01,"maximum":0.99},"mean_pore_diameter_um":{"type":"number","minimum":0.001,"maximum":1000000},"scaffold_thickness_mm":{"type":"number","minimum":0.001,"maximum":1000000},"fluid_dynamic_viscosity_pa_s":{"type":"number","minimum":1e-9,"maximum":1000000},"pressure_drop_pa":{"type":"number","minimum":-1000000000000,"maximum":1000000000000},"kozeny_constant":{"type":"number","minimum":1,"maximum":10000}}}}}},"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","required":["method"],"properties":{"method":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"Eingabe ungültig, charged=false"},"402":{"description":"Zahlung erforderlich. Die Antwort trägt accepts, description und inputSchema.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}}},"429":{"description":"Zu viele unbezahlte Anfragen, charged=false"},"502":{"description":"Gegenstelle nicht erreichbar, charged=false"},"504":{"description":"Zeitbudget überschritten, charged=false"}}}}},"components":{"schemas":{"PaymentRequired":{"type":"object","properties":{"x402Version":{"type":"integer"},"error":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object"},"accepts":{"type":"array","items":{"type":"object"}}}}},"securitySchemes":{"x402":{"type":"apiKey","in":"header","name":"PAYMENT-SIGNATURE","description":"x402 Zahlungsnachweis"}}}}