The peptide grey market collapsed in 9 months. Quality got dramatically better at the same time.
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.
- 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 8,452 tested batches, the sub-95%-purity fail rate dropped 8× in 14 months. Quality improved as the weakest operators exited.
- Purity is rarely the problem. Dose accuracy is. Melanotan II, CJC-1295, and Ipamorelin ship systematically light across 600+ samples.
- Janoshik reports ~5× higher quantity deviation than Finnrick on identical peptides, a methodology disagreement, not noise.
- HGH is the dark corner: 6,172 Discord mentions versus only 96 third-party assays (current corpus), the largest discussion-to-testing gap in the dataset.
- The headline
- What we measured
- Finding one: quality has gotten dramatically better
- Finding two: purity is rarely the problem. Dose accuracy is.
- Finding three: Finnrick and Janoshik disagree on quantity, and it matters
- What actually got tested
- Finding four: there is a peptide being bought blind
- Methodology and what we're not saying
- What's next
- A short glossary
The headline
Between June 2025 and March 2026, the three largest vendors in the US research-peptide grey market stopped shipping.
- Amino Asylum, physically raided by the FDA at a Memphis warehouse on or around June 18, 2025. ~400,000 monthly visitors lost overnight.1
- Science.bio, voluntarily wound down on January 27, 2026. Community framing was that the "ethical vendor" had concluded the risk/reward had inverted.2
- Peptide Sciences, voluntarily shut on March 6, 2026, with no refund process for pending orders. The closure came 8 days after Secretary Kennedy announced on JRE #2461 that the FDA was moving to restore Category 1 status for compounded peptides3, which would let compounding pharmacies legally dispense BPC-157 and TB-500, competing the "research use only" channel out of existence on the legal side.
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 writing (April 22, 2026):
| Metric | Value |
|---|---|
| Batches with extracted peptide identification12 | 8,452 |
| Batches with measured purity (HPLC or UHPLC) | 7,599 |
| Batches with measured quantity deviation | 7,428 |
| Distinct "manufacturers" (see caveat) | 29413 |
| Lab providers | 2 primary (Finnrick aggregator panels + Janoshik public portal) |
| Time span | Sep 26 2024 → Apr 21 2026 (~19 months) |
| Monthly test volume, peak | 865 (Jan 2026) |
| Monthly test volume, same month prior year | 292 (Feb 2025) |
Peak-month testing volume is up 2.9× year over year, and roughly 20× compared with our earliest data a full 14 months ago. Third-party assay has gone from a premium signal to a bare-minimum-to-ship signal in that window.
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 | 55 | 10.2% |
| Apr 2025 | 234 | 9.6% |
| Jul 2025 | 395 | 4.1% |
| Oct 2025 | 641 | 1.1% |
| Feb 2026 | 864 | 1.4% |
| Mar 2026 | 836 | 1.2% |
That is an 8× improvement in the sub-95% fail rate over 14 months. It is the dominant story in the data and nobody is writing it.
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 7,599 batches where we have a measured purity:
| Purity bucket | Batches | Share |
|---|---|---|
| ≥99.5% | 5,552 | 73.1% |
| 99.0–99.5% | 1,014 | 13.3% |
| 98.0–99.0% | 495 | 6.5% |
| 95.0–98.0% | 316 | 4.2% |
| 90.0–95.0% | 103 | 1.4% |
| <90.0% | 119 | 1.6% |
Nearly three of every four batches come back with ≥99.5% purity. Only 2.9% 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 batches grouped by peptide (minimum 50 samples, ordered by average quantity deviation; deviations with |value| > 50% excluded as OCR/label anomalies, 214 records or <3% of the corpus):
| Peptide | Samples | Avg purity | Avg deviation |
|---|---|---|---|
| Melanotan II | 127 | 99.5% | −4.5% |
| CJC-1295 | 215 | 94.5% | −2.5% |
| Ipamorelin | 268 | 99.0% | −2.0% |
| GHK-Cu | 430 | 99.8% | −0.8% |
| PT-141 | 94 | 99.2% | −0.2% |
| Tesamorelin | 358 | 97.5% | +0.2% |
| Retatrutide | 2,578 | 99.6% | +2.0% |
| TB-500 | 113 | 97.7% | +2.9% |
| Semaglutide | 328 | 99.5% | +3.0% |
| Cagrilintide | 111 | 99.0% | +3.3% |
| Tirzepatide | 1,837 | 99.6% | +3.8% |
| BPC-157 | 508 | 99.0% | +4.7% |
Three compounds (Melanotan II, CJC-1295, Ipamorelin) consistently ship light. Melanotan II averages 4.5% under label across 127 batches. That is not one bad vendor. That is a pattern that sits on the compound, likely traceable to which counter-ion the OEM is weighing as "peptide" and whether the HPLC method corrects for it.
What's more interesting is the other end. BPC-157 averages 4.8% over label. Tirzepatide and cagrilintide test heavier than claimed. There are two honest explanations, and we have not yet earned the right to pick between them:
- 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."
- 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. The three specific peptides where dose-skepticism is warranted right now are Melanotan II, CJC-1295, and Ipamorelin. If you stack those (as many bodybuilder protocols do) re-dose by the COA, not the label.
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: Finnrick and Janoshik disagree on quantity, and it matters
Two testing ecosystems dominate our data. 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. Historically Finnrick has accounted for the overwhelming majority of our corpus, because Janoshik's public-portal coverage was thinner. Our crawl of the MESO-Rx "Analytical Lab Testing" subforum plus backfill OCR of 1,600+ public-portal records closed that gap to the point where the comparison is statistically meaningful.
| Source | n (with purity) | Avg purity | Avg deviation |
|---|---|---|---|
| Finnrick panels (all aggregator labs combined) | 6,448 | 99.19% | +1.59% |
| Janoshik public portal | 933 | 99.08% | +8.56% |
| Combined corpus | 7,397 | 99.18% | +2.24% |
Janoshik is reporting quantity deviation roughly 5× higher than Finnrick on the same compound population. That is not noise. The community has argued three explanations for the gap:
- 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.
- 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.
- 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: Retatrutide averages +1.5% deviation on Finnrick vs +9.6% on Janoshik; BPC-157 is +4.2% vs +12.4%; Tirzepatide is +3.5% vs +9.7%. Compound-by-compound, Janoshik reads 6–8 percentage points heavier than Finnrick. A methodology difference that consistent across twelve distinct peptides is hard to attribute to chance.
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 peptides by test volume, in descending order:
| Rank | Peptide | Batches |
|---|---|---|
| 1 | Retatrutide | 2,633 |
| 2 | Tirzepatide | 1,892 |
| 3 | BPC-157 | 529 |
| 4 | GHK-Cu | 450 |
| 5 | Tesamorelin | 371 |
| 6 | Semaglutide | 335 |
| 7 | Ipamorelin | 282 |
| 8 | CJC-1295 | 234 |
| 9 | Melanotan II | 139 |
| 10 | Cagrilintide | 117 |
Retatrutide was tested 7 times in our first month of data. Eighteen months later, it was tested 349 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 in our corpus. We have 70 third-party assays on HGH across the entire 19 months (up from 10 in earlier versions of this post; the MESO-Rx analytical-lab subforum crawl plus Janoshik public-portal backfill surfaced 60 additional HGH batches we hadn't previously ingested).
That's an 88× gap between how much HGH is discussed and how much HGH is tested, still the largest gap of any compound we track by an order of magnitude. 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 70 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:
- Self-selected testing. Every batch in our corpus was submitted to a lab by someone (manufacturer, vendor, aggregator, or customer) who chose to pay for a test. Batches that never made it to a lab are systematically more likely to be the bad ones. The Ambrus 2024 paper sampled from open purchase; we cannot. Our distribution is a best-of-what-got-tested, not a representative sample of what ships.
- Lab variance is real and large, as the Janoshik vs. Finnrick spread shows. The aggregate numbers in this post hide methodology disagreement.
- Temporal bias in the COA corpus. 61% of our lab data is from Q4 2025 and Q1 2026. Manufacturer behavior in early 2024 was different. Drawing conclusions about "2024 peptide quality" from this corpus is inappropriate.
- Temporal bias in the Discord + forum corpus. Most of the messages and posts in our community-intelligence pipeline come from the last few months — the Oedipus fleet's continuous-listener infrastructure reached its current scale in late 2025 and has been real-time ingesting since. Earlier periods are covered via select targeted backfills (specific high-value forum threads, vendor-review archives, the MESO-Rx analytical-lab subforum crawl) rather than comprehensive historical ingest. Longitudinal claims about community sentiment or discussion volume that span the Q3/Q4 2025 boundary should be read as directional, not statistically complete.
- Manufacturer mapping is imperfect. Our 294 distinct "manufacturer" strings reduce to roughly 60-100 actual underlying OEMs once the Western storefront → OEM graph is properly resolved. We are rebuilding that mapping and will publish it when it's complete.
- No vendor-level claims in this piece. We have the data to name which Western storefronts ship the highest and lowest fail rates. We're not naming them yet. Our editorial rule is that we do not name a vendor as worse-than-average without triangulated documentary evidence and a clean, bimodality-free scoring rubric. We don't have the second thing yet.
- We inspected the glp1forum attachment backlog directly and it is not a hidden COA corpus. Of 229 randomly-sampled attachments from the "review" and "warning" post categories, zero were actual third-party lab reports, they were overwhelmingly Telegram/Discord screenshots, customer unboxing photos, vendor pricelists, DHL shipping pages, and fraud-impersonation warnings. Real COAs on this forum aren't uploaded as images; they're referenced via URLs to
public.janoshik.comwhich our Janoshik scraper already ingests. The 8,452-batch number above is not understated by a hidden 200-600 COAs in this backlog, as we initially hypothesized. - Janoshik public-portal images are ephemeral. The Janoshik verification platform purges PNG images from older test records unpredictably; the test IDs and structured metadata persist but the underlying image file eventually 404s. When we crawled historical data, roughly 71% of the PNGs older than a few weeks had already been purged, which means anything we didn't OCR or download at first touch is functionally lost. We now cache every PNG locally at ingest time. All Janoshik-derived figures in this post are from records where the image was successfully OCR'd into structured fields before the purge, older records with populated data but no recoverable image remain trustworthy, but we cannot re-verify 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:
- Methodology page, the rubric, the thresholds, the Janoshik weighting, open for community critique before we grade anyone. This is a prerequisite for any vendor-named content.
- The HGH investigation: 6,172 mentions, 70 COAs. A piece that names no vendors as scammers but names the safety gap directly. [Now published, see HGH is discussed far more than it's tested.]
- "Why Janoshik's numbers disagree", the lab-variance deep-dive, with sampled batch-level comparisons.
- MAHA / PCAC July 23 preview, time-boxed explainer on the regulatory reversal. What happens if BPC-157 and TB-500 get moved back to Category 1. Written before the July 23 review, not after. [Now published, see The July 23 PCAC review.]
- The Peptide Vendor Graveyard, a permanent, dated, evidence-backed archive of every verified vendor closure, FDA action, and incident 2018 → present. Canonical reference. Backlinks of record. [Now published, see The Peptide Vendor Graveyard.]
Data current as of 2026-04-22. 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.
A short glossary
- COA / Certificate of Analysis, the lab report a vendor publishes claiming their batch is pure and correctly dosed. Forgeable if unverified; reliable when linked to a lab's own verification portal.
- HPLC, high-performance liquid chromatography, the standard method for measuring peptide purity.
- Purity vs. quantity deviation, two different measurements. See above.
- RUO / Research Use Only, a label on grey-market peptides that is not a legal defense. The FDA has explicitly called it "a ruse" in warning letters.14
- Janoshik, a Czech lab (not ISO/IEC 17025 accredited) that most of the experienced community treats as the gold standard anyway. Their
public.janoshik.comverification portal is the hardest thing in this market to forge. - Finnrick, an independent peptide testing program that publishes a letter-grade vendor ranking based on 6,813 samples across 204 vendors. Data-adjacent competitor to TitrateLab with a different methodology and a narrower scope.
- MESO-Rx, the oldest surviving forum for bodybuilding + peptide discussion (
thinksteroids.com/community). Slow, moderated, memory-rich. If a vendor has a 5-year-old megathread there, that is the closest thing to a vendor credit score this market has. - Segment A / Segment B, our internal shorthand. Segment A: experienced buyers who read chromatograms. Segment B: the GLP-1 / weight-loss wave who mostly can't.
TitrateLab is the intelligence layer for the peptide and biohacking underground. COAs, pricelists, exit-scam early warnings, vendor grades, clinical research, updated live. Join the waitlist to be notified when the platform opens.
-
FDA inspection and regulatory action records; community coverage aggregated via MESO-Rx threads June–July 2025. See the TitrateLab incident archive for primary sources. ↩
-
Science.bio owner statement, January 27, 2026. Community confirmation: MESO-Rx thread, Reddit /r/Peptides. ↩
-
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. ↩
-
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. ↩
-
Finnrick Analytics program, as of April 2026.
finnrick.com/vendors. ↩ -
Janoshik Analytical public-test lookup,
public.janoshik.com. Records not subject to ISO/IEC 17025 accreditation, but pseudonymous batches verifiable by URL. ↩ -
"Photoshopped COA" refers to cloned lab letterheads with altered purity numbers, a well-documented scam pattern in the community since at least 2021. ↩
-
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. ↩
-
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. ↩
-
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. ↩
-
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. ↩
-
Counts reflect batches with extracted compound and purity data. The raw
coa_recordstable 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 withconfidence=0.0and apurged_by_sourceflag but are excluded from analysis in this piece. See the methodology page for the full query definition. ↩ -
"294" counts distinct
manufacturer_rawstrings in our COA database, the unresolved brand/storefront identifier on each assay. Our canonical manufacturer identity layer (manufacturer_id) currently resolves those 294 strings to ~270 entities, still higher than the 60-100 true OEM count implied by the storefront-to-factory graph we're rebuilding. The "294" figure is therefore a string count, not a claim about 294 physical supply chains. ↩ -
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. ↩