AssayIndex
Supplier scorecard

CPC — Chinese Peptide Company Co., Ltd.

Hangzhou, CN · established 2001. The index holds 309 assay reports across 52 batches and 32 compounds, contributed by 6 laboratories. Every figure below is computed from those records and from nothing else.

309 reports52 batchesmedian purity 98.28 %documentation 68/100

Where CPC sells

Chinese Peptide Company 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 CPC at chinesepeptidecompany.net →

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.

Block 1

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
Chinese Peptide Company Co., Ltd.
Short code in this index
CPC
Also known as
CPC · CPC Biotech · Chinese Peptide Company
City
Hangzhou
Region
Hangzhou
Country
CN
Established
2001
First record in index
24 Jan 2024
Most recent record
11 Oct 2026
/* >>> warehouse block >>> */
Block 1b

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
/* <<< warehouse block <<< */
Block 2

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.

Median purity 98.28% n=295
Interquartile range 0.96pp n=295
10th percentile 97.32% n=295
Pass rate vs index spec 56.9% n=295
Median recovery vs claim 97.8% n=174
Median water 5.41% n=309
Median |mass error| 2.3ppm n=254
Records carrying a flag 80.6% n=309
012243692.093.094.095.096.097.098.099.0100.092.00–92.25 %: n=092.25–92.50 %: n=092.50–92.75 %: n=092.75–93.00 %: n=093.00–93.25 %: n=093.25–93.50 %: n=093.50–93.75 %: n=093.75–94.00 %: n=094.00–94.25 %: n=094.25–94.50 %: n=094.50–94.75 %: n=094.75–95.00 %: n=095.00–95.25 %: n=095.25–95.50 %: n=095.50–95.75 %: n=095.75–96.00 %: n=196.00–96.25 %: n=296.25–96.50 %: n=396.50–96.75 %: n=396.75–97.00 %: n=897.00–97.25 %: n=997.25–97.50 %: n=1497.50–97.75 %: n=2297.75–98.00 %: n=3898.00–98.25 %: n=4298.25–98.50 %: n=2998.50–98.75 %: n=4298.75–99.00 %: n=2599.00–99.25 %: n=2199.25–99.50 %: n=1299.50–99.75 %: n=1299.75–100.00 %: n=12median 98.28 Purity (% area) Reports
Figure 1. Purity distribution for all 295 CPC records carrying a purity figure. Domain fixed at 92–100 % area and bin width 0.25 pp on every purity histogram on this site, so this figure can be compared by eye with any other supplier's. Dashed line is the CPC median, 98.28 %; the index median is 98.99 %.
Block 3

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.

Median within-batch spread 1.02pp n=34
Index median spread 0.95pp n=20
Lots tested 3+ times 34 n=52

Across the 34 CPC lots in the index with three or more independent assays, the median spread between the highest and lowest purity result on one lot is 1.02 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.

Block 4

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.

Median COA divergence +0.29pp n=51
Index median divergence +0.31pp n=20
Divergences in the supplier's favour 76% n=51
Divergences beyond 1 pp 4% n=51
Block 5

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.

Buyer-sourced median 97.93% n=66
Supplier-supplied median 98.51% n=209
Supplier-supplied share of records 69.9% n=309
95.696.497.197.998.799.5100.3Buyer-sourcedBuyer-sourced: Q1 97.51, median 97.93, Q3 98.45, n=66outlier 95.92n=66Supplier-suppliedSupplier-supplied: Q1 97.94, median 98.51, Q3 98.96, n=209outlier 96.19outlier 96.32outlier 96.32n=209Laboratory-retainedLaboratory-retained: Q1 97.63, median 98.21, Q3 98.40, n=20n=20 Purity (% area)
Figure 2. CPC purity by sample provenance. Tukey box plots: box spans Q1–Q3, the heavy rule is the median, whiskers reach the extreme observations inside 1.5 IQR of the box, and points outside the fences are plotted individually. The vertical line is the CPC overall median. Groups with fewer than two observations are omitted rather than drawn as a line.
Block 6

Documentation completeness

The score is not an opinion about paperwork. Each component is the share of CPC batches in the index whose certificate carries that field, weighted as set out on the scoring rubric.

Documentation score 68/100 n=52
Index median score 79/100 n=20
Certificate fieldBatches carrying itRubric weight
Purity figure stated98%25 points
Analytical method stated (column, gradient, wavelength)60%25 points
Peptide content stated40%20 points
Endotoxin stated19%15 points
Named impurities rather than a total21%15 points
Block 7

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.

CompoundClassReportsMedian %Index median %Δ (pp)Index specPass %
BPC-157Tissue-repair3098.4899.15-0.6798.073
SemaglutideIncretin2597.8898.87-0.9997.096
TB-500Tissue-repair2598.9699.47-0.5198.560
CJC-1295 (no DAC)Growth-hormone2297.6598.61-0.9698.018
TirzepatideIncretin1996.8998.44-1.5597.042
IpamorelinGrowth-hormone1498.1099.48-1.3899.021
ThymalinShort14n<399.0
PinealonShort1499.1699.24-0.0899.079
HexarelinGrowth-hormone1398.5898.72-0.1499.00
GHRP-6Growth-hormone1399.6599.650.0099.0100
SelankNeuroactive1398.7699.13-0.3799.031
IGF-1 LR3Growth-hormone1297.7397.75-0.0295.0100
L-CarnosineShort998.2499.07-0.8399.022
L-Glutathione (reduced)Short998.2899.00-0.7298.544
KPVTissue-repair998.2699.21-0.9599.00
Kisspeptin-10Melanocortin-receptor998.2199.27-1.0698.522
LiraglutideIncretin897.6899.02-1.3397.563
PemvidutideIncretin898.3598.41-0.0696.0100
Enclomiphene citrateNon-peptide7 n=798.5799.23-0.6698.557
Melanotan IIMelanocortin-receptor6 n=699.0799.24-0.1798.5100
GonadorelinHypothalamic5 n=598.6699.28-0.6298.580
Thymosin α1Tissue-repair5 n=597.9499.11-1.1797.5100
MK-677 (Ibutamoren mesylate)Non-peptide5 n=598.1699.37-1.2198.540
N-Acetyl Semax AmideNeuroactive2 n=2n<399.2698.5100
GHK-CuTissue-repair2 n=2n<398.5497.0100
RetatrutideIncretin2 n=2n<398.4196.550
SS-31 (Elamipretide)Metabolic2 n=2n<399.4298.50
PT-141 (Bremelanotide)Melanocortin-receptor2 n=2n<399.3198.5100
AdipotideMetabolic2 n=2n<398.5996.0100
TriptorelinHypothalamic1 n=1n<398.4798.50
SermorelinGrowth-hormone1 n=1n<398.9498.0100
SemaxNeuroactive1 n=1n<399.1798.50

Full per-compound breakdown with distributions and caveats →

95.696.497.197.998.799.5100.3BPC-157BPC-157: Q1 97.93, median 98.48, Q3 98.70, n=30n=30SemaglutideSemaglutide: Q1 97.63, median 97.88, Q3 98.51, n=25n=25TB-500TB-500: Q1 98.38, median 98.96, Q3 99.37, n=25n=25CJC-1295 (no DAC)CJC-1295 (no DAC): Q1 97.33, median 97.65, Q3 97.89, n=22n=22TirzepatideTirzepatide: Q1 96.49, median 96.89, Q3 97.61, n=19n=19IpamorelinIpamorelin: Q1 97.87, median 98.10, Q3 98.80, n=14n=14PinealonPinealon: Q1 99.06, median 99.16, Q3 99.31, n=14outlier 98.53outlier 99.77n=14HexarelinHexarelin: Q1 98.25, median 98.58, Q3 98.77, n=13n=13GHRP-6GHRP-6: Q1 99.60, median 99.65, Q3 99.93, n=13n=13SelankSelank: Q1 98.64, median 98.76, Q3 99.04, n=13n=13IGF-1 LR3IGF-1 LR3: Q1 97.44, median 97.73, Q3 97.91, n=12n=12L-CarnosineL-Carnosine: Q1 98.05, median 98.24, Q3 98.53, n=9n=9L-Glutathione (reduce…L-Glutathione (reduce…: Q1 98.15, median 98.28, Q3 98.58, n=9n=9KPVKPV: Q1 98.13, median 98.26, Q3 98.59, n=9n=9 Purity (% area)
Figure 3. CPC purity by compound, for the 14 compounds with at least four CPC records. Compounds are not equally difficult to make or to measure, so the vertical offsets between rows are largely a compound effect and only partly a supplier effect. Compare a row against the same compound on another supplier's page, never against the row above it.
Block 8

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.

QuarterBatchesReportsMedian purityRangeFlagged
2024-Q121097.5296.82–98.239
2024-Q221599.1998.53–99.7715
2024-Q32499.7198.74–99.933
2024-Q41998.2197.89–98.909
2025-Q132897.9297.34–99.3714
2025-Q263598.9697.17–99.9322
2025-Q3105198.2696.72–99.7243
2025-Q453698.3596.96–99.9336
2026-Q143298.4797.41–99.4923
2026-Q2114998.3196.19–99.1937
2026-Q364097.6895.92–99.3938

Full quarterly timeline, batch by batch →

Block 9

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.

LaboratoryReportsMedian purityLab bias (pp)Bias-adjusted
Janoshik14398.23+0.0098.23
PeptideMeter5198.35-0.0598.40
Medutest4498.55+0.0898.47
VendorInvestigate3697.95-0.1198.06
Nordanalyt2498.51+0.0298.49
Kestrel1198.63+0.2498.39

Bias figures are estimated from paired same-lot comparisons and are published with their confidence intervals on inter-lab agreement.

Block 10

What this data does and does not show

Block 11

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.

97.0/ 100565 ratings across the index network
r.iyer98/100

Support answered on a Sunday, correctly, with the batch record attached. That is well beyond what I expected.

an.restrepo98/100

Cold pack was still hard on arrival in Dublin on day 5. My logger never went above 4°C across the whole run.

n.fontaine98/100

One of the few places that will quote hexarelin 5 mg at all, and the synthesis came back clean on an independent check.

ka.marchand94/100

Shipped from their warehouse in the Netherlands, arrived day 2, documentation complete.

f.aalto94/100

Documentation is complete and the numbers are steady. A dependable choice for routine work.

h.nakamura98/100

The certificate for lot CPC-26-613 carried method, wavelength, water content and an itemised related-substances table. Complete on the first pass.

j.ostergaard98/100

Asked them to hold an order until I confirmed a lot number and they did, without fuss and without a restocking charge.

a.hovland94/100

Consistent rather than flashy. Everything lands in the high nineties, and it lands there every time.

b.delgado98/100

3 orders in eighteen months, no substitutions, no reformulations, everything in stock when the site said it was. Boring is the highest compliment I have.

a.bergstrom98/100

First order, deliberately small, survodutide 5 mg only. Documentation, transit and a VendorInvestigate result at 98.5% all checked out, so the next one will not be small.

v.tulloch98/100

Pleased to find they hold stock in the United Kingdom. Domestic dispatch, day 4, no customs step at all.

p.salgado98/100

Three compounds on one invoice, all three lot-matched to their own certificates, all three inside spec on independent testing.

so.broberg98/100

VendorInvestigate has now seen 5 of their lots through me. Not one has come back outside spec.

k.hovland98/100

Shipped with a stated storage recommendation and a shelf-life figure tied to it, without my asking.

d.oyelaran94/100

Everything about the order was routine in the best sense — quoted 3 days, arrived in 2.

r.yilmaz94/100

Straightforward order, arrived as described, documentation adequate and complete. Nothing to add, which is the point.

el.halonen98/100

Their raw material tested 99.2% against a reseller vial of nominally the same compound at 99.0%. Going direct is the whole argument.

n.trevino94/100

Ordered survodutide 5 mg twice. Both vials reconstituted cleanly and both matched their certificates.

so.demir94/100

Good communication throughout, accurate lead time, and the parcel arrived on day 3.

s.aalto98/100

Quoted 3 days, arrived in 2. Tracking updated at every hop from dispatch to door.

vi.sjoberg94/100

Sensible packing, sensible timelines, and a certificate that says what it should. No notes.

s.nkemelu98/100

Costed them per mg against three other suppliers on the same epithalon 10 mg spec. Competitive on price and clearly ahead on documentation.

ay.ibarra98/100

Submitted the LL-37 5 mg to Janoshik blind, without telling them the source. 99.4% against a stated 99.0%. The number holds up when nobody knows whose vial it is.

p.kravchenko98/100

Regional stock makes the difference — dispatched within the United States, day 3, cold pack still hard on arrival.

i.steiner98/100

Their warehouse in Canada had the tirzepatide 10 mg in stock and it shipped the same afternoon. Tracking never left the country.

z.ivaturi98/100

Reconstituted the sermorelin 5 mg and it went clear on contact — no haze, no floaters, no long swirl. Tells you the lyophilisation was done properly.

Block 12

Most recent records

The 25 most recently submitted CPC records. All 309 are listed on the full record listing.
ReportCompoundLotLabQuarterPurity %Water %Recovery %ProvenanceFlagsResult
AX-2026-043368N-Acetyl Semax AmideCPC-2602-D2941Medutest2026-Q398.796.05102.1Supplier-supplied0PASS
AX-2026-043335LiraglutideCPC-2602-G1978Janoshik2026-Q397.294.91Laboratory-retained1FAIL
AX-2026-043283L-CarnosineCPC-2603-G1651Medutest2026-Q398.1010.1291.8Supplier-supplied1FAIL
AX-2026-043365BPC-157CPC-2602-W2646Medutest2026-Q398.562.80Supplier-supplied1MARGINAL
AX-2026-043332LiraglutideCPC-2602-G1978Janoshik2026-Q397.164.8891.3Supplier-supplied1FAIL
AX-2026-043289L-CarnosineCPC-2603-G1651Janoshik2026-Q398.0110.52Buyer-sourced1FAIL
AX-2026-043287L-CarnosineCPC-2603-G1651Janoshik2026-Q398.359.8993.2Supplier-supplied2FAIL
AX-2026-043367N-Acetyl Semax AmideCPC-2602-D2941Nordanalyt2026-Q399.396.1692.4Supplier-supplied0PASS
AX-2026-043336LiraglutideCPC-2602-G1978Janoshik2026-Q397.694.58104.9Supplier-supplied1MARGINAL
AX-2026-043322TirzepatideCPC-2607-L2552Janoshik2026-Q396.794.8896.1Supplier-supplied2FAIL
AX-2026-043321TirzepatideCPC-2607-L2552Kestrel2026-Q397.845.34Supplier-supplied2MARGINAL
AX-2026-043323TirzepatideCPC-2607-L2552Janoshik2026-Q397.195.4395.3Supplier-supplied3MARGINAL
AX-2026-043315TirzepatideCPC-2607-L2552Janoshik2026-Q396.555.3496.5Supplier-supplied2FAIL
AX-2026-043330LiraglutideCPC-2602-G1978Janoshik2026-Q397.904.58Supplier-supplied1MARGINAL
AX-2026-043319TirzepatideCPC-2607-L2552Janoshik2026-Q396.325.2291.5Supplier-supplied2FAIL
AX-2026-043286L-CarnosineCPC-2603-G1651Janoshik2026-Q398.5310.02Supplier-supplied1FAIL
AX-2026-043325TirzepatideCPC-2607-L2552Janoshik2026-Q397.184.3895.7Supplier-supplied2MARGINAL
AX-2026-043333LiraglutideCPC-2602-G1978Janoshik2026-Q397.814.8590.1Supplier-supplied1MARGINAL
AX-2026-043285L-CarnosineCPC-2603-G1651Janoshik2026-Q398.0510.42Supplier-supplied1FAIL
AX-2026-043317TirzepatideCPC-2607-L2552Nordanalyt2026-Q396.435.42106.4Supplier-supplied2FAIL
AX-2026-043314TirzepatideCPC-2607-L2552Medutest2026-Q396.925.2594.4Buyer-sourced3FAIL
AX-2026-043288L-CarnosineCPC-2603-G1651PeptideMeter2026-Q399.039.94105.1Supplier-supplied1MARGINAL
AX-2026-043316TirzepatideCPC-2607-L2552Janoshik2026-Q396.145.00Buyer-sourced2FAIL
AX-2026-043318TirzepatideCPC-2607-L2552PeptideMeter2026-Q396.585.20Supplier-supplied2FAIL
AX-2026-043383SemaglutideCPC-2605-U3098PeptideMeter2026-Q397.634.2994.6Supplier-supplied2MARGINAL