Research use only. This page documents independent third-party test results for research compounds sold by Bastion Peptides. It is a data and methodology reference for laboratory and research audiences. It is not medical advice and makes no claim about human use, safety, or efficacy.
Most peptide vendors show you one certificate. Usually it’s a single screenshot, often for their best-looking lot, with no way to tell whether it matches what shipped. We’d rather show the whole table. Below is every independent Janoshik test behind our current catalog, the purity each one returned, and the Janoshik task number and batch code for each test. No cherry-picking. The weakest number is on this page too.
Key findings. Independent HPLC testing by Janoshik Analytical across eight compounds returned a mean purity of 99.339%, ranging from 98.426% (Epithalon, Janoshik Task #102370) to 99.662% (Retatrutide 30mg, Task #102372). Seven of the eight tested at or above 99.0% purity. NAD+ is verified separately by mass quantity rather than percentage purity. Each result lists its Janoshik task number and batch code.
What purity levels the Janoshik tests show

Across 8 compounds verified by High-Performance Liquid Chromatography (HPLC), the results look like this:
- Mean purity: 99.339%.
- Range: 98.426% to 99.662%. The high is Retatrutide 30mg. The low is Epithalon 10mg.
- 7 of 8 tested at or above 99%. All 8 cleared 98%.
- One additional product, NAD+ 500mg, is verified by quantity rather than purity (more on why below).
Those 9 test reports cover 16 catalog SKUs. That isn’t a discrepancy. One HPLC run on a tested batch of, say, Tirzepatide covers the 5mg, 10mg, and 30mg listings drawn from that same batch. We map each report to the SKUs it actually backs, which is why the table reads “SKUs covered.”
The full dataset: every Janoshik result by batch
Every row lists the Janoshik task number and batch code for that test, so each result is tied to a specific production lot rather than a generic claim.
| Product (SKUs covered) | Janoshik Task # | Tested batch | Result | Independent verification |
|---|---|---|---|---|
| Semaglutide 5mg | #92904 | PPH-202511 | 99.387% | Janoshik HPLC |
| Tirzepatide 5mg / 10mg / 30mg | #92885 | PPH-202511 | 99.595% | Janoshik HPLC |
| Retatrutide 5mg / 10mg | #92883 | PPH-202511 | 99.641% | Janoshik HPLC |
| Retatrutide 30mg | #102372 | PPH-2026029 | 99.662% | Janoshik HPLC |
| GHK-Cu 50mg | #92900 | PPH-202511 | 99.500% | Janoshik HPLC |
| CJC-1295 No DAC 2mg | #92901 | PPH-202511 | 99.121% | Janoshik HPLC |
| NAD+ 500mg | #92899 | PPH-202511 | 1086.46mg quantified | Janoshik HPLC |
| MOTS-c 10mg | #92905 | PPH-202511 | 99.382% | Janoshik HPLC |
| Epithalon 10mg | #102370 | PPH-2026023 | 98.426% | Janoshik HPLC |
Why peptide purity percentage matters for research
In research, the impurity is the problem. A peptide that’s 95% pure isn’t simply “5% weaker.” That missing fraction is something else: truncated sequences, deletion analogues, residual synthesis reagents, or counter-ions. Any of those can bind where you don’t expect, skew an assay, or quietly confound a result you then can’t reproduce. When an experiment won’t replicate, the starting material is one of the first suspects.
That’s why a main-peak percentage from an independent lab carries weight a vendor’s word never will. It puts a measured number on how much of what’s in the vial is actually the compound on the label. Same method, two labs, the same answer. That’s the bar. A higher number means fewer unknowns in your system, and fewer unknowns is the whole game in a controlled experiment.
What “independently tested” actually means here
Three things make a purity number worth anything: who ran it, how they ran it, and whether it matches your vial.
Who. The lab is Janoshik Analytical, a third-party testing service widely used in the research-peptide community. It isn’t us, and it isn’t the manufacturer. That independence is the entire point.
How. Each result comes from HPLC, the standard method for separating a peptide from its related impurities and reporting the main-peak percentage. A purity figure is a measurement, not a marketing adjective.
What you’re reading on a certificate is a chromatogram: a trace with one dominant peak for the target compound and, ideally, very little else. The purity figure is that main peak’s share of the total peak area. The small neighbouring peaks are related substances. A tall single peak on a flat baseline is what a strong result looks like.
Whether it matches. This is the part most vendors skip. A certificate only means something if it corresponds to the batch you receive, which is why we publish the batch code (for example PPH-202511) alongside each task number. Our COA walkthrough shows you how to confirm a match-batch yourself in under a minute.
One more piece of honesty most pages leave out: the current tests were commissioned through our supplier, Peptide Pole HongKong (PPHK). As our volume grows we plan to commission Bastion-branded testing across the catalog. We’d rather tell you that now than imply a capability we don’t yet have.
Why one batch tested at 98.426%
A 99.3% average is strong for research-grade material. It’s also not magic, and a few rows deserve a plain-English note.
Epithalon came back at 98.426%. That’s the lowest figure here. It still clears the 98% line that most researchers treat as a working floor, but we’re not going to round it up or bury it. Epithalon is a short, simple peptide, and small synthesis-related impurities are common. The number is the number.
NAD+ is the odd one out. It’s reported as a quantified mass rather than an HPLC purity percentage, because the meaningful question for NAD+ in a vial is “how much is in here,” not “what fraction of the peak is the target.” The Janoshik report quantified roughly 1086mg against a 1000mg label, which is the kind of check that catches under-filled vials.
You’ll also notice two batch eras in the table: the PPH-202511 run from late 2025, and the newer PPH-2026 batches. Re-testing on new batches is the norm, not an afterthought. A purity number is only as current as the batch it describes.
How we publish this data
A vendor grading its own product should expect skepticism, so we publish the whole table instead of a hand-picked certificate. For every tested batch you get the Janoshik task number, the batch code, and the main-peak purity from the HPLC run, including the lowest result. Nothing here is averaged up or rounded in our favour, and the weakest number stays on the page.
Each number is transcribed from the Janoshik certificate issued for that specific lot, and new batches are retested rather than carried on an older certificate, so a result is only as current as the batch it describes. The same logic is laid out in our how-to-read-a-COA guide and the broader purity reporting standards we hold ourselves to.
What this data does not tell you
These are limits of batch-level HPLC testing that apply to every vendor, not flaws specific to Bastion’s data.
Purity is one axis. It isn’t the only one, and a good reference page should say so.
- It’s batch-level, not vial-level. HPLC is run on a sample from a batch. It’s strong evidence for the lot, not an individual guarantee for every vial poured from it.
- Purity is not sterility or endotoxin status. A high main-peak percentage says nothing about microbial or endotoxin load, which are separate tests.
- It reflects the tested batch only. When a batch sells through and a new one is produced, the relevant number is the new report, not this one.
- Current testing is supplier-commissioned. Independent, but routed through PPHK for now, with Bastion-branded testing planned as volume scales.
None of that weakens the case for third-party data. It just keeps the claim honest, which is the only kind of claim worth publishing on a research site.
Frequently asked questions
Why show the lowest number? Because a table that only contains 99%+ results is a marketing asset, not a data asset. The Epithalon row is the one that makes the rest credible.
Do all 16 SKUs have their own test? No, and they don’t need one. SKUs drawn from the same tested batch share that batch’s certificate. The table shows which report backs which products.
Can the verify links expire?
Is a higher purity number always better? For a given compound, broadly yes. Across different compounds it’s not a clean comparison, since synthesis difficulty and impurity profiles differ by peptide.
How to tell if a peptide vendor’s lab results are legitimate
Use the same five questions on every vendor, not just this one:
- Is the lab independent and named? “In-house tested” is not third-party testing.
- Is there a task or report number you can look up on the lab’s own site?
- Is the batch code published, so a certificate ties to a specific lot?
- Is the full catalog shown, or one flattering screenshot?
- Is the lowest result visible, or only the best one?
A page that fails three of those five is decoration. We built this one to pass all five, and we’d expect you to hold the next vendor to the same list. If a competitor’s COA page can’t answer them, that tells you something the purity number alone won’t.
We’ll keep this page current as new batches are tested. If you want to understand the method behind the numbers before you read them, start with the Janoshik match-batch explainer. If you want to act on the numbers, every certificate above is one click away.