Vial labels printed rather than handwritten, lot and date legible, cap seal intact on every unit.
ERP — Shanghai ERP Biotechnology Co., Ltd.
Shanghai, CN · established 2018. The index holds 247 assay reports across 50 batches and 27 compounds, contributed by 6 laboratories. Every figure below is computed from those records and from nothing else.
Where ERP sells
Shanghai ERP Biotechnology Co., Ltd. sells from its own storefront. The link is marked nofollow and sponsored: it exists so the figures on this scorecard can be read against what the supplier itself publishes. The index is paid nothing for it and a link is not an assessment.
Visit ERP at erpbiotechnology.com →
Every figure above describes lots the index has seen. It says nothing about the lot you are offered, and the only check that does is the one on the certificate against the vial.
Identification
Business facts, held constant across the index and not derived from the data. The index sells nothing and takes no supplier payment for placement; the storefront link below is marked nofollow and sponsored so a record can be checked against the seller, and is not a recommendation.
- Legal name
- Shanghai ERP Biotechnology Co., Ltd.
- Short code in this index
- ERP
- Also known as
- ERP · ERP Biotech · Shanghai ERP Biotechnology
- Domain
- erpbiotechnology.com →
- City
- Shanghai
- Region
- Shanghai
- Country
- CN
- Established
- 2018
- First record in index
- 13 Apr 2024
- Most recent record
- 07 Oct 2026
Dispatch and warehouses
Where the supplier holds regional stock. Material assayed by the index is dispatched from these locations, not from the manufacturing site.
- Netherlands (Rotterdam) — European Union, 2-4 days
- Germany (Hamburg) — Germany, Austria, Switzerland, 2-4 days
- United Kingdom (London) — United Kingdom & Ireland, 2-3 days
- United States (California) — United States, 2-4 days
- Canada (Toronto) — Canada, 3-5 days
- Australia (Melbourne) — Australia & New Zealand, 3-5 days
Headline statistics
Each figure carries the n it was computed from. The n= badge next to a statistic is the number of records it was computed from. Below n=8 the badge is amber. Below n=3 the statistic is suppressed and the individual values are shown instead.
Reproducibility across independent tests of one lot
Where the same physical lot was assayed more than once, the spread between those results is a property of the material and the fill, not of the market. It is the rarest and most informative statistic on this page, and it exists only for lots someone tested twice.
Across the 37 ERP lots in the index with three or more independent assays, the median spread between the highest and lowest purity result on one lot is 0.89 pp. Interpreting that number requires the laboratory repeatability figures: the best contributing laboratory here repeats to 0.16 pp and the worst to 0.34 pp, so a within-lot spread under about 0.5 pp is indistinguishable from measurement noise and a spread above 1 pp is a statement about the material.
Supplier certificate against independent measurement
The supplier's own COA purity figure for a lot, minus the median of the index's independent observations of the same physical lot. Positive means the certificate reads higher than the measurement. Rule AX-R05 fires above 1.5 pp.
Provenance — where the tested material came from
Supplier-supplied samples are weaker evidence than independently purchased ones, because the supplier chose the vial. The index measures the size of that effect rather than assuming it.
Documentation completeness
The score is not an opinion about paperwork. Each component is the share of ERP batches in the index whose certificate carries that field, weighted as set out on the scoring rubric.
| Certificate field | Batches carrying it | Rubric weight | |
|---|---|---|---|
| Purity figure stated | 100% | 25 points | |
| Analytical method stated (column, gradient, wavelength) | 62% | 25 points | |
| Peptide content stated | 68% | 20 points | |
| Endotoxin stated | 36% | 15 points | |
| Named impurities rather than a total | 46% | 15 points |
Coverage by compound
The delta column is this supplier's median minus the index-wide median for the same compound, which is the only comparison worth making: comparing a supplier's aggregate against another supplier's aggregate compares their product mixes as much as their process control.
| Compound | Class | Reports | Median % | Index median % | Δ (pp) | Index spec | Pass % |
|---|---|---|---|---|---|---|---|
| Semaglutide | Incretin | 40 | 98.77 | 98.87 | -0.11 | 97.0 | 100 |
| BPC-157 | Tissue-repair | 33 | 99.21 | 99.15 | +0.06 | 98.0 | 100 |
| TB-500 | Tissue-repair | 22 | 99.23 | 99.47 | -0.23 | 98.5 | 100 |
| Tirzepatide | Incretin | 20 | 98.64 | 98.44 | +0.20 | 97.0 | 95 |
| Ipamorelin | Growth-hormone | 15 | 99.93 | 99.48 | +0.45 | 99.0 | 87 |
| Tesamorelin | Growth-hormone | 12 | 98.80 | 98.43 | +0.36 | 97.0 | 100 |
| GHK-Cu | Tissue-repair | 12 | 98.49 | 98.54 | -0.05 | 97.0 | 100 |
| Semax | Neuroactive | 9 | 99.81 | 99.17 | +0.64 | 98.5 | 100 |
| Liraglutide | Incretin | 8 | 98.47 | 99.02 | -0.54 | 97.5 | 100 |
| CJC-1295 (no DAC) | Growth-hormone | 8 | 98.89 | 98.61 | +0.28 | 98.0 | 100 |
| CJC-1295 with DAC | Growth-hormone | 7 n=7 | 99.52 | 98.79 | +0.73 | 97.5 | 100 |
| Mazdutide | Incretin | 6 n=6 | 97.53 | 98.11 | -0.58 | 96.5 | 100 |
| Humanin (HNG) | Metabolic | 6 n=6 | 98.88 | 99.47 | -0.59 | 97.5 | 100 |
| Kisspeptin-10 | Melanocortin-receptor | 6 n=6 | 98.99 | 99.27 | -0.27 | 98.5 | 83 |
| Retatrutide | Incretin | 5 n=5 | 98.53 | 98.41 | +0.12 | 96.5 | 100 |
| Oxytocin | Hypothalamic | 5 n=5 | 98.82 | 99.57 | -0.75 | 98.5 | 100 |
| Pemvidutide | Incretin | 5 n=5 | 98.78 | 98.41 | +0.37 | 96.0 | 100 |
| Follistatin-344 | Growth-hormone | 5 n=5 | n<3 | — | — | 98.0 | — |
| Survodutide | Incretin | 4 n=4 | 98.13 | 98.69 | -0.56 | 96.5 | 100 |
| Gonadorelin | Hypothalamic | 4 n=4 | 99.57 | 99.28 | +0.29 | 98.5 | 100 |
| PEG-MGF | Growth-hormone | 3 n=3 | 98.08 | 97.92 | +0.16 | 92.0 | 100 |
| MOTS-c | Metabolic | 3 n=3 | 98.77 | 99.18 | -0.41 | 98.0 | 100 |
| GHRP-6 | Growth-hormone | 3 n=3 | 98.97 | 99.65 | -0.68 | 99.0 | 33 |
| Glucagon | Incretin | 2 n=2 | n<3 | 98.78 | — | 98.0 | 50 |
| NAD+ | Non-peptide | 2 n=2 | n<3 | 98.88 | — | 97.0 | 100 |
| Selank | Neuroactive | 1 n=1 | n<3 | 99.13 | — | 99.0 | 100 |
| MGF | Growth-hormone | 1 n=1 | n<3 | 98.73 | — | 97.5 | 100 |
Full per-compound breakdown with distributions and caveats →
Quarterly trend
Submission volume is not market share and a quarterly median is not a trend unless the compound mix held still. Both caveats apply to every row below.
Median purity by quarter
Quarters with fewer than two purity records are gaps in the line rather than zeroes.
Coverage growth
Records added per quarter. Growth here is index coverage, not supplier volume.
| Quarter | Batches | Reports | Median purity | Range | Flagged |
|---|---|---|---|---|---|
| 2024-Q1 | 0 | 0 | n<3 | — | 0 |
| 2024-Q2 | 4 | 22 | 99.06 | 98.19–99.66 | 22 |
| 2024-Q3 | 7 | 42 | 98.97 | 97.74–99.93 | 39 |
| 2024-Q4 | 2 | 3 | 98.51 | 98.22–99.84 | 2 |
| 2025-Q1 | 6 | 32 | 99.12 | 97.77–99.93 | 32 |
| 2025-Q2 | 2 | 6 | 99.06 | 98.72–99.46 | 6 |
| 2025-Q3 | 7 | 27 | 98.79 | 97.94–99.90 | 19 |
| 2025-Q4 | 8 | 43 | 98.81 | 96.69–99.93 | 38 |
| 2026-Q1 | 5 | 22 | 99.07 | 97.90–99.93 | 12 |
| 2026-Q2 | 6 | 30 | 98.46 | 97.02–99.75 | 21 |
| 2026-Q3 | 3 | 20 | 98.80 | 97.92–99.93 | 18 |
Which laboratory produced these numbers
Laboratories disagree with each other by a measured amount. A supplier tested mostly by one laboratory carries that laboratory's offset in its aggregate, and the adjusted column removes it.
| Laboratory | Reports | Median purity | Lab bias (pp) | Bias-adjusted |
|---|---|---|---|---|
| Janoshik | 118 | 99.03 | +0.00 | 99.03 |
| PeptideMeter | 39 | 98.81 | -0.05 | 98.86 |
| Medutest | 39 | 98.98 | +0.08 | 98.90 |
| VendorInvestigate | 21 | 98.63 | -0.11 | 98.73 |
| Nordanalyt | 12 | 98.81 | +0.02 | 98.79 |
| Kestrel | 18 | 99.14 | +0.24 | 98.90 |
Bias figures are estimated from paired same-lot comparisons and are published with their confidence intervals on inter-lab agreement.
What this data does and does not show
On-the-record reviews 26
Reviews are signed statements from index contributors about their own testing of this supplier's material. They are opinions attached to evidence, and they are not used in any statistic on this page.
Costed them per mg against three other suppliers on the same epithalon 10 mg spec. Competitive on price and clearly ahead on documentation.
Peptide content reported at 99.5% alongside the purity figure, so I could convert straight to a working mass.
Their warehouse in the United Kingdom had the glutathione 600 mg in stock and it shipped the same afternoon. Tracking never left the country.
Good communication throughout, accurate lead time, and the parcel arrived on day 5.
Fair pricing for the documentation standard, and delivery landed on day 2 as quoted.
Lot code on the vial matched the lot code on the certificate exactly. Sounds basic; it is the single best predictor of everything else.
Domestic dispatch from their stock in the United States. Straightforward, day 5, exactly as quoted.
Reconstituted the tirzepatide 10 mg and it went clear on contact — no haze, no floaters, no long swirl. Tells you the lyophilisation was done properly.
Asked them to hold an order until I confirmed a lot number and they did, without fuss and without a restocking charge.
Dispatched from their warehouse in the United States rather than from the factory, so the PT-141 10 mg was with me on day 3.
Held locally in Germany, so the tirzepatide 10 mg arrived on day 4 without an import step.
Queried the related-substances total on lot ERP-25-628; they came back with method, column and detection limit. That depth is rare.
The tesamorelin 2 mg arrived on day 4 with the cold pack intact and the seal unbroken. Straightforward, exactly as described.
Consistent rather than flashy. Everything lands in the high nineties, and it lands there every time.
Their raw material tested 98.1% against a reseller vial of nominally the same compound at 97.7%. Going direct is the whole argument.
VendorInvestigate has now seen 6 of their lots through me. Not one has come back outside spec.
Submitted the semaglutide 5 mg to Medutest blind, without telling them the source. 99.6% against a stated 99.1%. The number holds up when nobody knows whose vial it is.
Asked a genuinely technical question about pre-dispatch storage and got a reply with numbers in it, inside 4 hours.
6 orders in eighteen months, no substitutions, no reformulations, everything in stock when the site said it was. Boring is the highest compliment I have.
Documentation is complete and the numbers are steady. A dependable choice for routine work.
Certificate claimed 98.7% on lot ERP-24-930. Medutest came back 98.8%. On an independent column that is as close to agreement as this gets.
Same lot documentation as the factory ships, but out of their warehouse in Germany, so it landed on day 2.
They report purity by RP-HPLC with the wavelength stated and peptide content separately. Two different numbers, correctly separated.
Reliable on the general catalogue lines. Purity figures cluster tightly and the certificates match the lots.
Shipped from their warehouse in Australia, arrived day 3, documentation complete.
Most recent records
| Report | Compound | Lot | Lab | Quarter | Purity % | Water % | Recovery % | Provenance | Flags | Result |
|---|---|---|---|---|---|---|---|---|---|---|
| AX-2026-042574 | TB-500 | ERP-2605-S8022 | VendorInvestigate | 2026-Q3 | 99.54 | 2.91 | 96.4 | Buyer-sourced | 1 | MARGINAL |
| AX-2026-042535 | Tesamorelin | ERP-2604-W7280 | Janoshik | 2026-Q3 | 99.19 | 3.89 | 92.7 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042577 | TB-500 | ERP-2605-S8022 | Janoshik | 2026-Q3 | 99.51 | 3.45 | — | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042542 | Tesamorelin | ERP-2604-W7280 | Janoshik | 2026-Q3 | 98.54 | 4.58 | 103.1 | Supplier-supplied | 2 | FAIL |
| AX-2026-042547 | Survodutide | ERP-2605-E7682 | PeptideMeter | 2026-Q3 | 98.25 | 5.44 | 93.0 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042540 | Tesamorelin | ERP-2604-W7280 | Kestrel | 2026-Q3 | 99.72 | 3.47 | 103.2 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042575 | TB-500 | ERP-2605-S8022 | Janoshik | 2026-Q3 | 99.93 | 3.36 | 95.5 | Supplier-supplied | 0 | PASS |
| AX-2026-042539 | Tesamorelin | ERP-2604-W7280 | Janoshik | 2026-Q3 | 98.77 | 4.30 | 89.9 | Buyer-sourced | 2 | MARGINAL |
| AX-2026-042548 | Survodutide | ERP-2605-E7682 | Janoshik | 2026-Q3 | 97.92 | 5.96 | 92.8 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042544 | Tesamorelin | ERP-2604-W7280 | VendorInvestigate | 2026-Q3 | 98.80 | 3.88 | — | Buyer-sourced | 2 | FAIL |
| AX-2026-042534 | Tesamorelin | ERP-2604-W7280 | Janoshik | 2026-Q3 | 99.06 | 3.90 | 92.8 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042536 | Tesamorelin | ERP-2604-W7280 | Janoshik | 2026-Q3 | 98.43 | 4.33 | 107.5 | Supplier-supplied | 2 | FAIL |
| AX-2026-042543 | Tesamorelin | ERP-2604-W7280 | PeptideMeter | 2026-Q3 | 99.16 | 4.03 | — | Supplier-supplied | 0 | PASS |
| AX-2026-042576 | TB-500 | ERP-2605-S8022 | PeptideMeter | 2026-Q3 | 99.55 | 2.98 | 94.5 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042546 | Survodutide | ERP-2605-E7682 | Janoshik | 2026-Q3 | 98.01 | 5.78 | 105.0 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042537 | Tesamorelin | ERP-2604-W7280 | PeptideMeter | 2026-Q3 | 98.52 | 3.95 | 94.1 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042538 | Tesamorelin | ERP-2604-W7280 | Kestrel | 2026-Q3 | 98.26 | 4.37 | — | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042545 | Tesamorelin | ERP-2604-W7280 | Janoshik | 2026-Q3 | 99.32 | 3.85 | 101.4 | Supplier-supplied | 2 | FAIL |
| AX-2026-042541 | Tesamorelin | ERP-2604-W7280 | PeptideMeter | 2026-Q3 | 98.79 | 3.70 | — | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042549 | Survodutide | ERP-2605-E7682 | Janoshik | 2026-Q3 | 98.73 | 5.51 | 91.2 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042560 | Mazdutide | ERP-2603-D7882 | VendorInvestigate | 2026-Q2 | 97.28 | 3.81 | 104.1 | Buyer-sourced | 2 | MARGINAL |
| AX-2026-042550 | GHK-Cu | ERP-2601-F7633 | Janoshik | 2026-Q2 | 98.53 | 4.43 | — | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042571 | GHK-Cu | ERP-2604-K8139 | Medutest | 2026-Q2 | 99.25 | 6.66 | 104.4 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042552 | GHK-Cu | ERP-2601-F7633 | Kestrel | 2026-Q2 | 98.39 | 4.13 | — | Supplier-supplied | 0 | PASS |
| AX-2026-042562 | Mazdutide | ERP-2603-D7882 | Janoshik | 2026-Q2 | 97.46 | 4.39 | 102.6 | Supplier-supplied | 2 | MARGINAL |