Claims vs COA / Hydro Research
Hydro Research: claims vs COA
Website claim: 99% purity. “…ormation, lab-backed resources, and research-use materials. 99%+ purity focus COA testing proof 21+ research access Hydro Research…” Source (read 2026-09-25)
58
certificates read
38 / 43
vials outside ±3% of label
23
beyond ±10% (major)
4 / 52
below advertised purity
| Product | Label → measured | Purity | Main impurity | Lab | COA |
|---|---|---|---|---|---|
| 5 mg | 5mg → 5.97mg Overfilled +19.4% | 98.707% 0.29 pts below 99% | 1.29% not itemised | janoshik | Open |
| KPV 10 mg | 10mg → 12.66mg Overfilled +26.6% | 98.157% 0.84 pts below 99% | 1.84% not itemised | janoshik | Open |
| TB-500 10 mg | 10mg → 11.1mg Overfilled +11.0% | 98.322% 0.68 pts below 99% | 1.68% not itemised | janoshik | Open |
| Tesamorelin 10mg | 10mg → 11.35mg Overfilled +13.5% | 98.507% 0.49 pts below 99% | 1.49% not itemised | janoshik | Open |
| 5-Amino-1 MQ 50 mg | 50mg → 44.38mg Underfilled -11.2% | — | — | janoshik | Open |
| BPC 5 mg | 5mg → 5.57mg Overfilled +11.4% | 99.645% Meets 99% | 0.36% not itemised | janoshik | Open |
| CJCNo Dac 5 mg | 5mg → 5.9mg Overfilled +18.0% | 99.536% Meets 99% | 0.46% not itemised | janoshik | Open |
| Cagrilitide 5 mg | 5mg → 6.24mg Overfilled +24.8% | 99.931% Meets 99% | 0.07% not itemised | janoshik | Open |
| GHK-CU 100mg | 100mg → 110.53mg Overfilled +10.5% | 99.564% Meets 99% | 0.44% not itemised | janoshik | Open |
| L-Glutathione 1500mg | 1500mg → 1689.04mg Overfilled +12.6% | 99.208% Meets 99% | 0.79% not itemised | janoshik | Open |
| Melanotan Il 10mg | 10mg → 8.18mg Underfilled -18.2% | 99.455% Meets 99% | 0.55% not itemised | janoshik | Open |
| Melanotan | 10mg | 10mg → 8.5mg Underfilled -15.0% | 99.597% Meets 99% | 0.40% not itemised | janoshik | Open |
| Selank 5 mg | 5mg → 7.23mg Overfilled +44.6% | 99.037% Meets 99% | 0.96% not itemised | janoshik | Open |
| Tesamorelin 6mg/Ipa 2 mg | Tesamorelin: 6mg → 6.98mg Overfilled +16.3% Ipamorelin: 2mg → 1.93mg Under label -3.5% | — | — | janoshik | Open |
| Thymosin 1 10mg | 10mg → 12.42mg Overfilled +24.2% | 99.164% Meets 99% | 0.84% not itemised | janoshik | Open |
| Tirzepatide 10 mg | 10mg → 11.48mg Overfilled +14.8% | 99.656% Meets 99% | 0.34% not itemised | janoshik | Open |
| Tirzepatide 100 mg | 100mg → 110.64mg Overfilled +10.6% | 99.92% Meets 99% | 0.08% not itemised | janoshik | Open |
| Tirzepatide 15 mg | 15mg → 17.34mg Overfilled +15.6% | 99.655% Meets 99% | 0.34% not itemised | janoshik | Open |
| Tirzepatide 30 mg | 30mg → 35.05mg Overfilled +16.8% | 99.858% Meets 99% | 0.14% not itemised | janoshik | Open |
| Tirzepatide 5 mg | 5mg → 5.66mg Overfilled +13.2% | 99.388% Meets 99% | 0.61% not itemised | janoshik | Open |
| Tirzepatide 60 mg | 60mg → 68.98mg Overfilled +15.0% | 99.845% Meets 99% | 0.16% not itemised | janoshik | Open |
| lpamoralin 5 mg | 5mg → 5.72mg Overfilled +14.4% | 99.86% Meets 99% | 0.14% not itemised | janoshik | Open |
| vial or vials | BPC-157: 5mg → 6.14mg Overfilled +22.8% TB-500 (TB4): 5mg → 5.27mg Over label +5.4% | — | — | janoshik | Open |
| 60 mg | 60mg → 66mg Over label +10.0% | 99.763% Meets 99% | 0.24% not itemised | janoshik | Open |
| Adamax | 5mg → 5.19mg Over label +3.8% | 99.44% Meets 99% | 0.56% not itemised | ils-labs | Open |
| BPC-157 10mg | 10mg → 10.6mg Over label +6.0% | 99.713% Meets 99% | 0.29% not itemised | janoshik | Open |
| Retatrutide | 10mg → 10.66mg Over label +6.6% | 99.57% Meets 99% | 0.43% not itemised | ils-labs | Open |
| Retatrutide | 40mg → 42.64mg Over label +6.6% | 99.9% Meets 99% | 0.10% not itemised | ils-labs | Open |
| Retatrutide | 5mg → 5.17mg Over label +3.4% | 99.71% Meets 99% | 0.29% not itemised | ils-labs | Open |
| Retatrutide | 60mg → 63.39mg Over label +5.7% | 99.94% Meets 99% | 0.06% not itemised | ils-labs | Open |
| Semaglutide | 10mg → 10.64mg Over label +6.4% | 99.76% Meets 99% | 0.24% not itemised | ils-labs | Open |
| Sermorelin | 10mg → 10.35mg Over label +3.5% | 99.87% Meets 99% | 0.13% not itemised | ils-labs | Open |
| Tirzepatide | 30mg → 31.67mg Over label +5.6% | 99.98% Meets 99% | 0.02% not itemised | ils-labs | Open |
| Tirzepatide | 10mg → 10.48mg Over label +4.8% | 99.78% Meets 99% | 0.22% not itemised | ils-labs | Open |
| Tirzepatide | 100mg → 105.11mg Over label +5.1% | 99.8% Meets 99% | 0.20% not itemised | ils-labs | Open |
| Tirzepatide | 15mg → 15.64mg Over label +4.3% | 99.88% Meets 99% | 0.12% not itemised | ils-labs | Open |
| Tirzepatide | 20mg → 21.25mg Over label +6.3% | 99.91% Meets 99% | 0.09% not itemised | ils-labs | Open |
| Tirzepatide | 60mg → 63.29mg Over label +5.5% | 99.86% Meets 99% | 0.14% not itemised | ils-labs | Open |
| ILS-H-C-S.pdf | Not measured | 99.8% Meets 99% | 0.20% not itemised | ils-labs | Open |
| ILS-H-C-R.pdf | Not measured | 99.87% Meets 99% | 0.13% not itemised | ils-labs | Open |
| Adamax 5mg | 5mg → 5.06mg On label +1.2% | 99.232% Meets 99% | 0.77% not itemised | janoshik | Open |
| Cagrilintide | Not measured | 99.72% Meets 99% | 0.28% not itemised | ils-labs | Open |
| DSIP | Not measured | 99.856% Meets 99% | 0.14% not itemised | janoshik | Open |
| Epithalon | Not measured | 99.576% Meets 99% | 0.42% not itemised | janoshik | Open |
| GHK | — → 108.27mg Not checked | 99.859% Meets 99% | 0.14% not itemised | janoshik | Open |
| IGF-LR3 | — → 1.07mg Not checked | — | — | janoshik | Open |
| Kisspeptin | 10mg → 10.27mg On label +2.7% | 99.25% Meets 99% | 0.75% not itemised | ils-labs | Open |
| Kisspeptin | — → 11.89mg Not checked | 99.817% Meets 99% | 0.18% not itemised | janoshik | Open |
| MOTS-c | — → 11.74mg Not checked | 99.712% Meets 99% | 0.29% not itemised | janoshik | Open |
| Methylcobalamin | — → 4.92mg Not checked | — | — | janoshik | Open |
| NAD+ | — → 1050.28mg Not checked | — | — | janoshik | Open |
| Retatrutide | 20mg → 20.53mg On label +2.7% | 99.86% Meets 99% | 0.14% not itemised | ils-labs | Open |
| SNAP-8 | Not measured | 99.63% Meets 99% | unidentified peak at 1.5 min 0.5% | mz-biolabs | Open |
| SS-31 50 mg | 50mg → 49.87mg On label -0.3% | 99.793% Meets 99% | 0.21% not itemised | janoshik | Open |
| Semaglutide | 5mg → 5.13mg On label +2.6% | 99.47% Meets 99% | 0.53% not itemised | ils-labs | Open |
| Semax | — → 11.91mg Not checked | 99.588% Meets 99% | 0.41% not itemised | janoshik | Open |
| Sermorelin | — → 10.24mg Not checked | 99.721% Meets 99% | 0.28% not itemised | janoshik | Open |
| Snap-8 | Not measured | 99.828% Meets 99% | 0.17% not itemised | janoshik | Open |
How this is checked
- Vial content. Measured net peptide content against the size on the label. Within ±3% is on label, 3–10% is off label, beyond ±10% is a major deviation (under- or overfilled). When a certificate weighs several vials of the batch, the vial farthest from the label is the one judged, and with several purity results the lowest counts. Blends are only checked when the certificate lists each component.
- Purity. HPLC purity on each certificate against the purity the supplier promises site-wide on its own website. Up to 1 point below the claim is amber, more than that is red. Only a direct promise counts (“99%+ purity guaranteed”); explanations of what purity means, one product's figure and page code are not treated as a claim. A certificate that reports only a bound (“>99%”) is judged only when the bound meets the claim, and a specification line is never read as a result.
- Whose certificate. A certificate is only read once our client-identity review has looked at it, and one issued to a different company is left out — whether the automatic check or a manual review found it. A certificate issued to the company that runs the supplier's own website counts as the supplier's. A file hosted on another supplier's website is not counted for this one. The same rules decide which certificates appear on supplier and product pages. Only peptide certificates are read: bacteriostatic water, acetic acid and other diluents are left out, and so are product data sheets, which state a specification rather than a batch result.
- Main impurity. Shown when the certificate itemises it: a named impurity (TFA, deletion sequence, oxidation…) or the largest secondary peak in the HPLC peak table. Most certificates report only a purity figure, so the rest of the sample is not itemised.
- Trust Score. These checks are 10 of the 25 Transparency points: vial content 7 (full credit within ±3%, half up to ±10%, none beyond, over- and underfilled alike), purity 3 (98% is the bar when a supplier advertises no figure). Fewer than 5 readable results gives half credit rather than a guess.
- These are the supplier's own published certificates, read automatically from the PDF or image. Janoshik results tables are read twice from the image, cell by cell, and a figure the two readings disagree on is left out rather than guessed. A certificate covers one batch on one date. We have not tested these batches ourselves.