How to Read a CoA: What Batch Number, Purity and Identity Actually Mean

A CoA is more than a PDF with a percentage. Here is how to read the batch number, lab, purity and identity, and how to spot a sample CoA without a real batch.

Why a CoA is more than a PDF

A CoA, Certificate of Analysis, documents results of the tests listed in the report on a submitted sample. Conclusions depend on the sample, methods and parameters examined.

The report alone does not confirm sample provenance or that every unit later shipped corresponds to that batch. Check product name, batch number, test date, laboratory and the link to the offered product.

This article explains documents. It does not establish suitability for human use. See Peptide 101 for the basics.

The batch number: the starting point of every check

Every serious production run assigns a batch number, usually printed on the CoA cover page and on the vial label. Format and length differ by vendor and sometimes by lab: some use their own shop codes like "PO-2026347", others the lab's own sample ID like "LYO-0739", or a date-based format like "EP10/012026". The format itself does not matter, the match does: the number on the CoA has to match the number on your product.

Without that match, a CoA is worthless no matter how good the values look. It could belong to a different batch, a different product, or not to the same manufacturer at all.

An example from our database shows how closely this needs checking: at Europa-Peptide, two product pairs share the same batch number according to the vendor's own certificate of analysis, TB-500 and hexarelin both run under "EP10/012026", CJC-1295 with and without DAC under "EP10/112025". That is a real finding from the vendor, not an error on our part, but it shows that a batch number alone does not tell you the specific peptide, you need to read it together with the product name on the CoA.

Lab and test date: who tested, and when

Recorded documents name laboratories including Janoshik Analytical, Liquilabs and Analiza Białek. Naming an external laboratory does not mean we have confirmed its independence or the report’s authenticity. Business relationships and sample collection were not separately verified.

The test date shows how current a CoA is. A report from two years ago says nothing about a current production run, even if the peptide has the same name. Some vendors do not list a test date at all: in our database that is the case for the Peptidwerk batches, where the product page shows no date, only the batch itself and the values.

At Particle Peptides, the test date usually is not in the visible text at all, but in the PDF metadata and the bookmark title of the CoA document ("Results for <Lyo-ID>"), and can additionally be cross-checked against the vendor's own COA-Vault table. It is worth checking a CoA PDF's document properties too, not just the visible body text.

Reading HPLC purity as a percentage

Purity is determined via HPLC (high-performance liquid chromatography) and usually shown as a percentage, for example 99.72 %. The value states what share of the measured substance matches the expected peptide, the rest is impurities or degradation products. Across the Peptidwerk batches in our database, values range from 97.63 % (tesamorelin) to 99.96 % (GHK-Cu), while Europa-Peptide batches consistently show 99 %.

A single percentage is still a snapshot of the batch that was tested, not a guarantee for every future vial. That is why the batch number ultimately matters more than the number itself.

There is no single, regulator-set minimum purity value for research chemicals. A figure around 98 % has become an informal reference point in the space, but that is a convention, not an official standard. A CoA without a batch number stays unmatchable regardless of the percentage, more on that in the sample CoA section below.

Identity: LC-MS and molecular weight

Purity and identity are two different questions. Purity says how clean a sample is. Identity says whether it is the right molecule in the first place. Identity is usually confirmed via LC-MS, a combination of liquid chromatography and mass spectrometry that verifies the sample's molecular weight.

A CoA with high purity but no identity confirmation only answers half the question. Particle Peptides, for example, states on several product pages that testing goes beyond plain HPLC purity, which includes identity.

What that is worth in practice shows up in a review by the comparison platform ChemVerify on Particle Peptides: a 95.9 % average match between the vendor's stated values and independently measured HPLC results, plus full MS identity confirmation across the products checked. That is an example of how a vendor's own claim and an outside check can be compared against each other, not proof that every vendor stating identity data is automatically trustworthy.

Endotoxin, heavy metals and residual solvents: the values that often go missing

The endotoxin value, measured via the LAL test (Limulus amebocyte lysate), shows bacterial residues from manufacturing, given in EU per vial (endotoxin units). A low value points to a clean production process. At Peptidwerk, this value sits directly on the product page, around 1.645 EU per vial for a BPC-157 batch.

Heavy metals (lead, arsenic, cadmium and others) are checked via ICP-MS (inductively coupled plasma mass spectrometry), residual solvents and TFA residue (trifluoroacetic acid, left over from peptide synthesis) through separate chromatographic methods. These three values complete the picture of a CoA, but in practice they are often missing: for the Beyond Peptides batches in our database, even purity itself is not available as text, because the CoA is only published as an image PDF without a text layer. What a CoA leaves out is, in the end, just as much information as what it shows.

Of the 41 batches we have recorded so far, only Peptidwerk consistently states the endotoxin value as its own entry in the visible text. Heavy metal and residual solvent values do not appear as a separate percentage or limit on any of the recorded product pages, they may sit inside the individual CoA PDFs, but we did not open and check each one separately for every batch. That is part of an honest account too: we show you what is publicly and verifiably recorded, nothing more.

What appears on a CoA and what it means

The key entries at a glance, from the batch number to the residue values.

EntryWhat it means
Batch numberLinks the CoA to one specific production run, must match the vial label
LabName of the testing lab, an external lab with no business relationship to the manufacturer weighs more than an in-house test
Test dateShows how current the report is, old CoAs say nothing about the current production run
HPLC purity (%)Share of the sample that matches the expected peptide
Identity (LC-MS)Confirms via molecular weight that it is the right molecule
Endotoxin (LAL, EU/vial)Bacterial residue from manufacturing
Heavy metals (ICP-MS)Residue such as lead, arsenic, cadmium from the production process
Residual solvents / TFAChemical residue from peptide synthesis

When the batch is missing: the sample CoA

Not every CoA is what it claims to be. An example from our research on 2026-09-15: the vendor PPX.at advertises on product pages that "every product ships with a Certificate of Analysis (COA)" with a "COA Download" button. On several products we checked, including BPC-157 and retatrutide, that button leads to the same generic sample PDF with the placeholder batch "PP-COA-000000". On the vendor's own CoA library page, BPC-157 and TB-500 were explicitly marked "Coming Soon" at the time of research, and other products were not listed there at all.

A sample CoA without a real batch is not a test report, it is a template. At most it shows what a CoA from that lab looks like, not what is in your vial. That exact gap, a promised test with no documented batch, is one of the points we check separately for every vendor.

What stands out here is that PPX.at looks fairly legitimate at first glance. The shop is reachable, payment runs through Stripe with card and Apple Pay, a website trust checker rates the domain "Very Likely Safe", and there is a dedicated page stating no health claims in its body text. That is exactly why a professional-looking storefront alone says nothing about whether individual CoAs are genuine. Website legitimacy and batch documentation are two separate things, and both need checking on their own.

Matching the CoA number to the packaging, and using verification links

Before opening anything, it is worth matching the numbers: does the vial label carry the same batch number as the CoA the vendor shows for that product? If the number differs, or is missing from the packaging entirely, the CoA cannot be matched, no matter how good the values look.

Some vendors go a step further and link directly to the lab's own verification page, for example Janoshik. There you can look up the batch number or report ID independently of the shop. "Independent" here means the lab has no financial stake in the sale and no interest in a particular result, unlike an in-house test with no outside check.

With our Batch Check you can match a batch number against the publicly available CoAs we have recorded. The basics on purity, RUO and vendor scoring are in the Peptide 101, and our full scoring methodology is explained in the Methodology.

Sources

Frequently asked questions

Is a CoA without a batch number worthless?
Yes. Without a batch number, a CoA cannot be matched to a specific vial. A sample CoA with a placeholder batch, which does occur at individual vendors, is therefore not proof for the sample you actually receive.

Is a high purity number enough as a quality proof?
No. Purity only says how clean a sample is, not whether it is the right molecule. That requires an additional identity confirmation via LC-MS, ideally paired with endotoxin and heavy metal values.

What does it mean for a lab to count as independent?
The lab has no business relationship with the manufacturer and no interest in a particular result. Among the batches we have recorded, these are external labs such as Janoshik Analytical, Liquilabs or Analiza Białek, unlike an in-house test with no outside check.