How we check
Methodology: how we check a COA
This page documents every rule the COA checker applies, the exact thresholds, and where the reference data comes from. The same logic runs in your browser, and the source code is plain, readable JavaScript.
Scope: the checker tests whether the values on a COA are plausible and internally consistent. It doesn't verify that a document is genuine, analyze any sample, or assess suitability for any use. See how to tell if a COA is fake for verification with the lab.
How results are combined
Each rule returns one of four results: Pass Warning Issue or Info. The overall verdict is:
- Red flags found: one or more Issues.
- Proceed with caution: no Issues, one or more Warnings.
- Looks consistent: no Issues or Warnings. Info items don't affect the verdict.
Reference masses
For each of the 28 compounds, the average molecular weight is calculated from its molecular formula using standard atomic weights (C 12.0107, H 1.00794, N 14.0067, O 15.9994, S 32.065, Cu 63.546). The monoisotopic mass uses the mass of each element's most abundant isotope (for example 12C 12.000000, 1H 1.007825). The build fails if a calculated value differs from the cited database value by more than 0.02 Da (monoisotopic) or 0.6 Da / 0.02% (average). Some compounds also have an accepted alternate form, such as a different salt or complex, which is checked as well and flagged when it is the form that matches.
Identity: mass spectrometry rules
Numbers are read tolerantly: "1,419.5", "1419,5" and "1419.5 Da" are all understood. Rules are applied in order, and the first match wins.
| # | Rule | Result |
|---|---|---|
| 0 | No mass entered | Issue |
| 0 | Mass can't be read as a number, or is zero or negative | Issue |
| 0 | No compound selected, so no comparison is possible | Warning |
| 1 | Within ±1 Da or ±0.03% (whichever is larger) of the average or monoisotopic mass. Skipped when the mass is marked as m/z. | Pass (Warning if it matches an alternate form) |
| 2 | Within ±2.5 Da or ±0.08% (whichever is larger) but outside the tight tolerance | Warning |
| 3 | Matches a positive charge state [M+zH]z+ for z = 1 to 8 within the tight tolerance, after converting with neutral mass = (m/z − 1.00728) × z | Pass (Warning if alternate form) |
| 4 | Matches the negative-mode ion [M−H]− | Pass |
| 5 | Matches the neutral or [M+H]+ mass plus a known modification or adduct (table below) | Warning |
| 6 | Matches a different compound in our database (neutral, or charge states z = 1 to 6) | Issue |
| 7 | None of the above | Issue |
Known modifications and adducts (rule 5)
| Shift | Mass difference (Da) | Typical meaning |
|---|---|---|
| Oxidation | +15.9949 | Oxidized Met or Trp |
| Double oxidation | +31.9898 | Two oxidation sites |
| Sodium adduct [M+Na]+ | +21.9819 | Usually an instrument artifact |
| Potassium adduct [M+K]+ | +37.9559 | Usually an instrument artifact |
| +2 H | +2.0157 | Reduced (open) disulfide |
| Water loss | −18.0106 | Cyclized or degraded impurity |
| Acetylation | +42.0106 | N-acetylated variant |
| TFA adduct | +113.9929 | Trifluoroacetate left from purification |
More on why these tolerances and ions exist: mass spectrometry explained.
Purity: HPLC rules
| Measured HPLC purity | Result |
|---|---|
| Not reported, or can't be read as a number | Issue |
| Above 100%, or 0% and below | Issue |
| Exactly 100% | Warning |
| 99% to under 100% | Pass (excellent) |
| 98% to under 99% | Pass |
| 95% to under 98% | Warning |
| Below 95% | Issue |
| Label claim more than 0.5 percentage points above the measured value | Warning (otherwise Pass) |
These bands reflect common research-market practice, not a regulatory standard. See what a good HPLC purity is.
Traceability rules
| Check | Condition | Result |
|---|---|---|
| Testing lab | No lab named | Issue |
| Named, marked as the seller's in-house lab | Warning | |
| Named, marked as an independent third-party lab | Pass | |
| Named, independence unknown | Info | |
| Batch / lot number | Missing | Warning |
| Present (you should still match it to the vial) | Pass | |
| Verification | Report ID, QR code or lookup available | Pass |
| Test date | Missing or unreadable | Warning |
| More than 1 day in the future | Issue | |
| Older than 24 months | Issue | |
| Older than 12 months | Warning | |
| 12 months or newer | Pass |
Months are counted as 30.44 days.
Additional tests and amount
- Endotoxin and heavy metals: reported passing, Pass. Reported failing, Issue. Not reported, Info.
- Measured content vs label: under 80% of the label, Issue. 80% to under 90%, Warning. 90% to 120%, Pass. Over 120%, Warning. Label amount with no measured amount, Info.
Red-flag checklist
Each ticked item adds one result. Issues are serious on their own. Warnings are worth a question to the seller.
| Red flag | Result |
|---|---|
| Signs of editing (mismatched fonts, misaligned text, blurry numbers) | Issue |
| Chromatogram generic, reused, or missing axes, retention times or peak table | Issue |
| Same COA used for different products or batches | Issue |
| Batch number on the vial doesn't match the COA | Issue |
| Seller refuses to share the full COA, or only shows a cropped screenshot | Issue |
| No independent third-party lab | Warning |
| No mass spectrum image, only a typed number | Warning |
| Lab can't be found, or report can't be verified | Warning |
| No method details (column, wavelength, gradient, instrument) | Warning |
| Suspiciously round or identical results across products | Warning |
Background on each one: COA red flags.
Known limitations
- A forged COA that copies correct values will pass the numeric checks.
- The "different compound" check only covers compounds in our database.
- Tolerances suit typical peptide COAs. Unusual instruments or reporting styles can produce warnings on genuine reports.
- Lab type, verifiability and red flags depend on what you tick. The checker can't see the document.
Reference data by compound
Changes to the rules
When a rule or threshold changes, this page is updated at the same time, and its "Last updated" date changes. Our editorial policy explains how content is sourced and reviewed.
Try the rules on a real COA. Results in 30 seconds, nothing uploaded.
Open the COA checker →Sources
- PubChem (U.S. National Library of Medicine): Reference formulas and masses for each compound (listed per compound below).
- KEGG DRUG: Reference used for retatrutide.
- CIAAW: Standard atomic weights: Basis for average molecular weights.
- NIST: Atomic weights and isotopic compositions: Monoisotopic masses of the most abundant isotopes.
- NIST CODATA: proton mass: Proton mass used for charge-state conversion.
- Janoshik help center: how reports can be verified: Example of lab-side report verification referenced in the traceability rules.
Last updated . Written and maintained under our editorial policy. Found an error? See corrections.
Frequently asked questions
Where do the checker's thresholds come from?
Mass tolerances reflect typical accuracy of the instruments used for peptide COAs. Purity and date bands reflect common practice in the research-peptide market. They are practical rules of thumb, not regulatory standards, and every one is listed on this page.
Can the checker prove a COA is genuine?
No. It checks whether the numbers are plausible and consistent with reference data. A forged COA with correct-looking numbers can pass. Only the issuing lab can confirm a report is genuine.
Does the checker send my COA anywhere?
No. All the rules run in JavaScript in your browser. Nothing you enter is transmitted or stored.
How are the reference masses calculated?
From each compound's molecular formula, using standard atomic weights for the average mass and the masses of the most abundant isotopes for the monoisotopic mass. The build fails if any calculated value disagrees with the cited database value beyond a small tolerance.
Educational content only. Not medical advice. Research peptides are sold for laboratory research purposes only.