coa-methodology

The peptide grey market collapsed in 9 months. Quality got dramatically better at the same time.

Bottom line

Evidence reviewed 2026-04-22

Between June 2025 and March 2026 the research-peptide grey market lost its three biggest players: Amino Asylum to an FDA raid, Science.bio to voluntary closure, and Peptide Sciences to a regulatory reversal. We measured what happened to quality across 62,079 published certificates from roughly 3,860 manufacturers, and the story nobody is telling is that purity went up while dose accuracy did not.

Evidence base: See the cited sources and documentary record

Evidence boundary: This older article does not yet have a structured evidence boundary. Treat unreported facts as unknown and check each cited source's scope.

Who this is for: if you’re new to research peptides, a short glossary lives at the bottom of this piece. If you’ve been buying from this market for years, the vocabulary here will read native. We’ve written for both.

Editor's note · rewritten July 31, 2026: Every figure below has been recomputed against the live corpus, which now holds 62,079 published certificates across roughly 3,860 resolved manufacturers, up from the 8,452 batches this piece was originally published on. Two findings did not survive the recount. The claim that Melanotan II, CJC-1295 and Ipamorelin ship light has reversed sign, and the advice to re-dose those compounds upward is withdrawn; the "8× fail-rate improvement" no longer reproduces and has been replaced with the underlying levels. Details are in the corrections at the foot. Earlier editor's notes on this piece asserted that nothing directional had changed. That was true in April and is not true now. The URL still reads 7007, the certificate count on the day of first publication; we have left the slug alone rather than break every inbound link to this piece.
Key findings
  • The peptide grey market lost its three biggest vendors between June 2025 and March 2026: Amino Asylum (FDA raid), Science.bio (voluntary), Peptide Sciences (voluntary).
  • Across 62,079 published certificates, the monthly sub-95%-purity fail rate fell from about 6.6% in early 2025 to under 1% by mid-2026. Quality improved as the weakest operators exited.
  • Purity is rarely the problem. Dose accuracy is. Measured against the printed label, 45 of the 48 compounds with 50+ dose measurements average over label. Nothing readers were previously told to re-dose upward ships light.
  • The labs disagree with each other about quantity. Finnrick averages +2.1% against label where Janoshik reads +7.4% and Freedom Diagnostics +10.1%, a methodology disagreement, not noise.
  • HGH is the dark corner: 6,172 Discord mentions versus 394 third-party assays, the largest discussion-to-testing gap in the dataset.

The headline

Between June 2025 and March 2026, the three largest vendors in the US research-peptide grey market stopped shipping.

In that same window, US Customs and Border Protection seized roughly 5,000 individual peptide shipments entering through Cincinnati alone.4

The market peptide buyers are operating in today is not the market of early 2025. It is post-collapse. That matters for every sentence that follows.

What we measured

TitrateLab maintains a database of every verifiable third-party peptide assay we can get our hands on. The sources feeding it include Finnrick’s 6,813-sample panel testing program,5 Janoshik’s public-verification portal6 at public.janoshik.com (~1,600 OCR’d records after a recent corpus expansion crawl of MESO-Rx’s analytical-lab subforum), MESO-Rx community uploads, and Discord drops where a buyer paid out of pocket to get a vial through HPLC.

As of this recount (July 31, 2026):

Metric Value
Published certificates with extracted peptide identification12 62,079
Certificates with measured purity (HPLC or UHPLC) 50,617
Certificates with a measured dose-vs-label figure 41,065
Distinct resolved manufacturers (see caveat) ~3,86013
Lab providers 3 primary (Freedom Diagnostics 62%, Janoshik public portal 19%, Finnrick panels 14%)
Time span Sep 2024 → Jul 27 2026 (~22 months)
Monthly test volume, peak 8,485 (Jun 2026)
Monthly test volume, same month prior year 852 (Jun 2025)

Peak-month testing volume is up roughly 10× year over year. Third-party assay has gone from a premium signal to a bare-minimum-to-ship signal in that window.

The corpus has also changed shape, not just size. When this piece was first published it was two labs, and Finnrick was most of it. Freedom Diagnostics is now 38,508 published rows, about 62% of everything, which matters for every aggregate below because the three sources do not agree with each other about dose. That disagreement is Finding three.

Finding one: quality has gotten dramatically better

If you asked an MESO-Rx regular “is the peptide market getting worse or better,” the default answer through most of 2025 was “worse.” Exit scams were in the feed weekly. Photoshopped Certificates of Analysis7 were circulating. The Ambrus et al. paper, published in JMIR in 2024, had tested seven randomly-purchased samples of research-grade semaglutide and found measured purity in the 7.7%–14.37% range versus the 99% claimed, with endotoxin detected in every single sample.8 The Ambrus finding is still the most-cited peer-reviewed primary source in the space.

We looked at the monthly rate of batches testing below 95% purity, the threshold most experienced buyers treat as the floor for consumable material:

Month Tests that month % below 95% purity
Jan 2025 350 2.3%
Feb 2025 591 6.6%
Apr 2025 574 4.9%
Jul 2025 1,144 2.5%
Oct 2025 2,691 1.4%
Feb 2026 5,233 1.1%
Jun 2026 7,965 0.7%

The fail rate falls from a peak of about 6.6% in February 2025 to under 1% by mid-2026, on monthly volumes that grew by more than an order of magnitude. That is the dominant story in the data and nobody is writing it.

Why there is no multiple attached to that sentence The original version of this piece said "8× improvement," anchored on a January 2025 that held only 55 tests and read 10.2% sub-95%. Backfill has since taken that same month to 350 tests at 2.3%, which makes the old start point an artifact of thin early coverage rather than a measurement of the market. Depending on which month you anchor to, the same live data supports anything from 1.4× to 9×. That range is the tell: the improvement is real and the multiple was never load-bearing, so we state the levels and let them stand on their own.
The peptide market that is actually shipping in 2026 is not the market Ambrus et al. sampled in 2023. The bad operators left; the fail rate collapsed.

There is a causal explanation and it is exactly the one that the post-collapse framing implies. The weakest operators left the market, voluntarily or otherwise, during the same window that the fail rate collapsed. The regulatory wave (FDA Category 2 reclassification in September 20239, the Dec 2024 warning-letter wave, the Amino Asylum raid, the Science.bio closure, the Peptide Sciences shutdown, the April 2025 ITC General Exclusion Order giving CBP seizure authority on tirzepatide10) was not just a shutdown wave. It was a filter.

The Ambrus 2024 finding remains real, and every new GLP-1 buyer should read it before their first order. But the population Ambrus sampled (randomly-purchased semaglutide from the open grey market in 2023) is not the population that is shipping in 2026. The bad operators that produced those 7.7%-pure samples have either closed, been seized, or been priced out of the market by buyers who now demand a valid Janoshik verification URL before they purchase.

Finding two: purity is rarely the problem. Dose accuracy is.

Across 50,617 certificates where we have a measured purity:

Purity bucket Certificates Share
≥99.5% 36,065 71.3%
99.0–99.5% 10,482 20.7%
98.0–99.0% 1,940 3.8%
95.0–98.0% 1,278 2.5%
90.0–95.0% 340 0.7%
<90.0% 512 1.0%

Nearly three of every four certificates come back with ≥99.5% purity. Only 1.7% are below 95%.

But there are two different measurements here. Purity is the fraction of the peptide-plus-impurities mixture that is the target compound. Dose accuracy is whether the vial actually contains as much peptide as the label claims. A vial can be 99.8% pure and still contain 30% less peptide than its label says, if the manufacturer weighed the acetate salt and called it “5 mg peptide.”

Here are the same certificates grouped by peptide (minimum 50 samples, measured against the printed label, ordered by average deviation; deviations with |value| > 50% excluded as OCR/label anomalies):

Peptide Samples Avg purity Avg dev vs label >5% under >5% over
GHK-Cu 2,118 99.7% +3.5% 20.5% 43.6%
CJC-1295 527 97.4% +4.6% 20.7% 53.7%
Ipamorelin 970 99.5% +6.3% 19.1% 46.7%
Melanotan II 618 99.7% +6.8% 17.2% 53.1%
PT-141 518 99.7% +7.1% 17.4% 51.7%
Tirzepatide 6,306 99.7% +7.3% 9.3% 58.0%
Retatrutide 8,499 99.7% +7.6% 10.6% 58.6%
Semaglutide 692 99.5% +7.9% 10.1% 59.8%
Tesamorelin 1,968 99.0% +9.0% 10.3% 63.8%
TB-500 1,046 98.9% +9.7% 8.2% 68.2%
Cagrilintide 629 99.5% +10.4% 8.6% 63.9%
BPC-157 2,037 99.2% +11.2% 10.5% 69.4%
Correction, July 31, 2026. Until today this table reported Melanotan II at −4.5%, CJC-1295 at −2.5% and Ipamorelin at −2.0%, and the surrounding text told readers those three "consistently ship light" and to re-dose them upward by the COA. Both halves of that were wrong, and the advice was the harmful part. Two things produced it. First, the original figure was computed from a column that measures the assay against the vendor's batch claim where one exists, and a batch claim is usually an advertised overfill, so a vial that ran over its printed label could still book a large negative. Measured honestly against the printed label, the same Finnrick rows that produced −4.5% for Melanotan II read −1.3%. Second, the corpus has grown roughly sevenfold and now includes two large sources that read heavier than Finnrick. On the live label figure all three compounds average over label. Nobody should be adding to a dose on the strength of what this article used to say.

So the sign is gone, but the ordering is not, and the ordering is the part worth keeping. Melanotan II, CJC-1295 and Ipamorelin still sit at the light end of the ranking, and the last two columns show why that still matters: about one certificate in five for those compounds comes in more than 5% under label, roughly double the under-label rate of the GLP-1s. They are not underfilled on average. They are inconsistent, missing the label hard in both directions, which is a different problem with a different remedy.

The corpus-wide picture is that essentially nothing ships light on average. Of the 48 compounds with 50 or more dose measurements, 45 average over the printed label; the three that do not (VIP at −2.7%, oxymetholone at −2.8%, glutathione at −0.4%) are not among the compounds this article previously flagged. BPC-157 averages 11.2% over. Tirzepatide and cagrilintide test heavier than claimed. There are two honest explanations for the overfill, and we have not yet earned the right to pick between them:

  1. Manufacturers are hedging. Add extra peptide to avoid short-ship complaints, which are easier to verify and louder than “my vial was labeled 5mg but it was actually 5.4mg.”
  2. The mass measurement is catching things other than the peptide. HPLC tells you purity. It does not tell you mass. A batch that reads “5.4 mg with 99.0% purity” may have 5.4 mg of stuff, of which 5.35 mg is peptide and 50 μg is residual TFA.

Each of these happens on some batches. Which one dominates in aggregate, we don’t know yet. When the data answers that question, we’ll write it up.

Practical takeaway for Segment A readers: the “my vendor shorted me” narrative is genuinely less common than the forum surface area suggests, and the opposite miss is now the common one. Assume nothing about direction from the compound alone. The three peptides with the widest spread against label are Melanotan II, CJC-1295 and Ipamorelin, which means a batch-specific COA is worth more on those than on a GLP-1, but read it to find out which way your batch missed. Do not apply a standing upward correction to any compound in this table on the strength of its average, and do not apply one to those three at all. An earlier version of this article told you to, which was wrong.

Practical takeaway for Segment B readers: when you look at a COA, the number you care about is not only the purity percentage. Also look for “quantity,” “net peptide content,” or “mass recovery”, whatever the lab calls its measurement of actual peptide mass versus label. A 99% pure vial that contains 3mg instead of the labeled 5mg is a worse product than a 95% pure vial that contains exactly 5mg.

Finding three: the labs disagree with each other on quantity, and it matters

Three testing ecosystems now dominate our data, where two did when this piece was written. Finnrick runs panel testing against a rotating pool of aggregator labs and publishes summary reports; Janoshik is the Czech independent lab most experienced community buyers treat as the gold standard for direct verification; Freedom Diagnostics is the source that has grown fastest and is now the majority of the corpus by volume.

Source n (dose vs label) Avg purity Avg dev vs label
Freedom Diagnostics 24,079 99.58% +10.08%
Finnrick panels (all aggregator labs combined) 8,346 99.24% +2.10%
Janoshik public portal 5,857 99.35% +7.37%
Combined corpus 39,926 99.48% +7.98%
Methodology note, outlier filter 1,139 records with absolute deviation > 50% are excluded as almost certainly OCR errors or vial-label misreads (e.g. a 1mg-labeled Cagrilintide vial that OCR'd as "11.75mg tested" when it was almost certainly a 10mg-labeled vial). Their inclusion was what historically produced implausibly high Janoshik aggregates in earlier versions of this post. The excluded records are 2.8% of the dose-populated corpus.
Methodology note, which deviation column Every deviation figure in this article is now measured against the printed label. Finnrick's own headline divergence figure is computed against the vendor's batch claim when one exists, and that claim is frequently an advertised overfill, so the two can disagree by tens of percentage points on the same certificate. Earlier versions of this post used the headline figure, which is what produced the withdrawn "ships light" finding in Finding two. Where a label comparison is unavailable we fall back to the headline figure, which is a mixed denominator we flag rather than hide.

Finnrick reads roughly 5 percentage points lighter than Janoshik and 8 lighter than Freedom Diagnostics, on overlapping compound populations. That is not noise. The community has argued three explanations for the gap:

  1. Different analytical method. Janoshik appears to include measurements that detect mass Finnrick’s aggregator labs don’t, counter-ions, residual solvents, water of hydration. Under this reading Janoshik is more rigorous and the “over-labeling” they report is real.
  2. Self-selection in the submission pipeline. Vendors who believe their batch is heavy submit to Janoshik preferentially because they trust the result. This would explain higher measured deviation without implying any methodology difference.
  3. Finnrick’s aggregator labs may systematically undercount over-labeling. The uncharitable reading: vendors contracting into Finnrick’s panels want to see purity, not mass, and the selected lab methods accommodate that. This would damage the credibility of aggregated datasets, including ours, that lean Finnrick-heavy. We list it as one of three competing explanations we can’t rule out, not as an assertion.

We have not resolved this. The same peptides show the same direction of gap, and the third source sits at the heavy end with Janoshik rather than splitting the difference:

Peptide Finnrick Janoshik Freedom Diagnostics
Retatrutide +1.6% +9.5% +11.2%
Tirzepatide +3.8% +9.0% +9.8%
BPC-157 +5.0% +11.9% +14.2%

Compound by compound, Janoshik reads 5 to 7 percentage points heavier than Finnrick and Freedom Diagnostics reads heavier still. A disagreement that consistent across distinct peptides and three independent sources is hard to attribute to chance, and it means the corpus-wide overfill figure in Finding two is partly a statement about which labs are supplying our data.

We have stopped publishing a single aggregate trust score based on these sources until we finish that work. The test_score column in our database is currently bimodal, it spikes at 8.0 and 10.0 rather than distributing smoothly, precisely because we weight Janoshik and Finnrick equally when they measure different things. That’s a methodology bug on our side and we’re fixing it before we publish any vendor leaderboard.

Our near-term editorial rule: when you see a quantity-deviation number in a TitrateLab post, we will disclose whether it came from Finnrick-aggregator labs or Janoshik direct verification.

What actually got tested

Top ten single-compound peptides by test volume, in descending order:

Rank Peptide Certificates
1 Retatrutide 9,859
2 Tirzepatide 7,475
3 BPC-157 2,522
4 GHK-Cu 2,516
5 Tesamorelin 2,260
6 MOTS-C 1,989
7 NAD+ 1,499
8 TB-500 1,322
9 Ipamorelin 1,154
10 Semaglutide 941

A further 8,730 certificates cover blends rather than single compounds and are excluded from this table.

Retatrutide was tested 7 times in our first month of data. In June 2026 it was tested 1,633 times in a single month. The growth is not a lab’s marketing budget, it is the post-collapse market consolidating around compounds that actually have something clinical underneath them. Retatrutide and tirzepatide are Eli Lilly pipeline molecules; cagrilintide and semaglutide are Novo Nordisk. All four carry real phase-III trial data. They are also, overwhelmingly, what the new GLP-1 segment is buying.

Finding four: there is a peptide being bought blind

Human growth hormone (“HGH,” “generic HGH,” “rec HGH”) appeared in 6,172 peptide-tagged Discord messages at the April 2026 snapshot of our message corpus. We now have 394 third-party assays on HGH across the entire span, counting every spelling the certificates use (HGH, rHGH, somatropin, human growth hormone) and excluding the 176-191 fragment, which is a different molecule. Earlier versions of this post gave 70 in the body and 96 in the key findings, which disagreed with each other; 394 supersedes both.

That’s a roughly 16× gap between how much HGH is discussed and how much HGH is tested, still the largest gap of any compound we track. It has narrowed a great deal from the 88× this article originally claimed, and most of that narrowing is testing catching up rather than discussion falling off. People are buying it on vendor-claim, with minimal verification, at scale. And the sentiment profile backs this up quantitatively: in the Tier-2-enriched subset of HGH-tagged Discord messages (n=267 peptide-relevant HGH messages processed through Claude Haiku 4.5 classification), questions outnumber positive + negative sentiment combined — 70 questions vs 34 positive vs 27 negative. Buyers aren’t confidently describing results. They’re asking whether it’s real.11

Our next piece after this one is a deep dive on why HGH is the dark corner of the post-collapse market and what the 394 third-party assays we now have show.

Methodology and what we’re not saying

This dataset has real gaps. If you are using these numbers to make a purchase decision, you should know them:

We also won’t publish per-user Discord data in any article. The community sentiment numbers in this post are aggregated across the campaign-tagged corpus with no individual identification.

What’s next

In order:

Data current as of 2026-07-31. This post will be revised as new batches land and as our methodology evolves. Corrections welcome through the TitrateLab community link in the footer. Every query behind these numbers is reproducible from the methodology page when it publishes.

Corrections and updates


A short glossary



TitrateLab is the intelligence layer for the peptide and grey-market underground. COAs, pricelists, exit-scam early warnings, vendor grades, clinical research, updated live. Join the waitlist to be notified when the platform opens.


  1. FDA inspection and regulatory action records; community coverage aggregated via MESO-Rx threads June–July 2025. See the TitrateLab incident archive for primary sources. 

  2. Science.bio owner statement, January 27, 2026. Community confirmation: MESO-Rx thread, Reddit /r/Peptides. 

  3. The Joe Rogan Experience #2461, February 27, 2026. HHS Secretary Robert F. Kennedy Jr. announced the FDA’s intent to restore Category 1 status for compounded peptides. 

  4. CBP Cincinnati port-of-entry seizure data, Q4 2025 – Q1 2026. Figure is approximate; CBP does not publish per-compound seizure counts but aggregated Cincinnati research-peptide seizures track to ~5,000 individual shipments in the window. 

  5. Finnrick Analytics program, as of April 2026. finnrick.com/vendors

  6. Janoshik Analytical public-test lookup, public.janoshik.com. Records not subject to ISO/IEC 17025 accreditation, but pseudonymous batches verifiable by URL. 

  7. “Photoshopped COA” refers to cloned lab letterheads with altered purity numbers, a well-documented scam pattern in the community since at least 2021. 

  8. Ambrus, J. et al. “Analytical characterization of semaglutide products purchased online as ‘research chemicals.’” JMIR Infodemiology 4 (2024). This paper is the most-cited peer-reviewed primary source in the research-peptide literature and we reference it in nearly every article. 

  9. FDA Compounding Pharmacy Action, bulk drug substance list revision, September 2023. Moved BPC-157, TB-500, and 15 other peptides to Category 2, removing compounding-pharmacy legal cover. 

  10. US International Trade Commission, General Exclusion Order on tirzepatide-class substances, April 15, 2025. First peptide-class GEO. Gave CBP standing seizure authority at ports of entry. 

  11. Sentiment computed via Claude Haiku 4.5 classification of peptide-tagged Discord messages. At the 5,005-message checkpoint, 3,959 rows pass the relevance filter (79.1% — the other 20.9% are Haiku-rejected false positives like “roids” used in sports-banter contexts or “sust” as a video-game character name). Of the 267 HGH-tagged relevant messages in that subset, the sentiment breakdown is: neutral 136 (51%), question/uncertain 70 (26%), positive 34 (13%), negative 27 (10%). The question-dominant shape is what’s distinctive: in the GLP-1 cluster, positive and negative each outpace question, matching a community confident in describing their results; for HGH, questions exceed positive+negative combined, matching a community that doesn’t know what it’s getting. Every classification is stored with the model’s reasoning + a confidence score, so the methodology is auditable row-by-row. 

  12. Counts reflect batches with extracted compound and purity data. The raw coa_records table contains additional URL-only placeholders from aggregator/community-forum scans where the upstream lab page has been purged by the source before we could OCR it; those rows are retained in the source archive with confidence=0.0 and a purged_by_source flag but are excluded from analysis in this piece. See the methodology page for the full query definition. 

  13. The COA database holds 4,582 distinct manufacturer_raw strings, the unresolved brand/storefront identifier printed on each assay. Our canonical manufacturer identity layer (manufacturer_id) resolves those to ~3,860 entities. That is still far above the true OEM count implied by the storefront-to-factory graph we’re rebuilding, because a single Chinese factory supplies many Western storefronts under many names. The “~3,860” figure is therefore a count of selling identities, not a claim about 3,860 physical supply chains. 

  14. FDA warning-letter language and formal guidance characterize “research use only” labels as non-dispositive when products are marketed, priced, packaged, or distributed in ways consistent with human use, the agency has described it as “a ruse” in multiple enforcement actions. See Frier Levitt analysis of the December 2024 GLP-1 warning-letter wave for a readable summary of the agency’s position. Full archive of cited warning letters in the Peptide Vendor Graveyard

Vendor and manufacturer names are used descriptively to identify parties in the documentary record; inclusion is not endorsement. Think a passage misrepresents the record? [email protected].