AssayIndex
Supplier scorecard

GGPeps — Nantong Guangyuan Chemical Co., Ltd.

Nantong, CN. The index holds 371 assay reports across 65 batches and 28 compounds, contributed by 6 laboratories. Every figure below is computed from those records and from nothing else.

371 reports65 batchesmedian purity 98.76 %documentation 77/100

Where GGPeps sells

Nantong Guangyuan Chemical 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 GGPeps at ggpeps.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
Nantong Guangyuan Chemical Co., Ltd.
Short code in this index
GGPeps
Also known as
GGPeps · GYC · GYC Peptides · Guangyuan Chemical
City
Nantong
Region
Jiangsu
Country
CN
Established
not stated
First record in index
26 Apr 2024
Most recent record
25 Sep 2026
Block 1b

Dispatch and regional stock

Counted from the chain-of-custody line on this supplier's own records, which names the route each vial travelled to the laboratory, and from the on-record reviews below. The index has no sight of any supplier's warehouse network and publishes none.

Domestic-warehouse route 14.6% n=371
Retail, shipped to the buyer 71.7% n=371
Direct to the laboratory 9.7% n=371
Median courier leg, direct despatch 6d n=36
Route to the laboratoryRecordsShare
Domestic warehouse despatch5414.6%
Retail purchase, shipped to the buyer21357.4%
Retail purchase via a third-party forwarder5314.3%
Supplier despatch direct to the laboratory369.7%
Laboratory retained-sample archive154.0%

Every record here carries a chain-of-custody line and that line names the route the vial travelled. Of the 371 GGPeps records the index holds, 54 reached the contributing laboratory from a domestic warehouse rather than as a cross-border consignment, covering 19 of the 28 compounds GGPeps is represented by here — BPC-157, Retatrutide, Tirzepatide, Enclomiphene citrate, Liraglutide, Semaglutide and 13 further compounds. Those are the GGPeps lines this index has actually seen arrive from regional stock, and they are a count of consignments rather than a stock listing: a line missing from them may simply never have been submitted for assay.

No contributor to this index has named a regional stock location for GGPeps. 54 of its records nevertheless arrived by a domestic-warehouse route, so stock is held somewhere; the index does not know where and will not guess.

The index measures nothing about lead time — it assays material, it does not buy it. What it has is GGPeps's own reviewers: 4 of the 26 on-record reviews state a quoted window and what happened against it, and 1 of them describes same-day dispatch. Where GGPeps despatched a sample direct to a laboratory, the courier leg ran a median 6 days across 36 such consignments — that is a transit time the index can see, and it is not the same thing as a lead time. The reviews are reproduced in full in Block 11.

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.76% n=371
Interquartile range 0.91pp n=371
10th percentile 97.98% n=371
Pass rate vs index spec 93.8% n=371
Median recovery vs claim 97.7% n=209
Median water 4.59% n=371
Median |mass error| 2.4ppm n=310
Records carrying a flag 21.0% n=371
016324892.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=096.00–96.25 %: n=096.25–96.50 %: n=096.50–96.75 %: n=096.75–97.00 %: n=097.00–97.25 %: n=097.25–97.50 %: n=797.50–97.75 %: n=1797.75–98.00 %: n=1698.00–98.25 %: n=4098.25–98.50 %: n=4998.50–98.75 %: n=5298.75–99.00 %: n=4999.00–99.25 %: n=5799.25–99.50 %: n=3099.50–99.75 %: n=2799.75–100.00 %: n=27median 98.76 Purity (% area) Reports
Figure 1. Purity distribution for all 371 GGPeps 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 GGPeps median, 98.76 %; the index median is 99.08 %.
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 0.79pp n=47
Index median spread 0.67pp n=28
Lots tested 3+ times 47 n=65

Across the 47 GGPeps 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.79 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.08pp n=65
Index median divergence +0.06pp n=28
Divergences in the supplier's favour 62% n=65
Divergences beyond 1 pp 0% n=65
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 98.72% n=320
Supplier-supplied median 99.22% n=36
Supplier-supplied share of records 9.7% n=371
97.197.698.198.699.199.6100.1Buyer-sourcedBuyer-sourced: Q1 98.30, median 98.72, Q3 99.17, n=320n=320Supplier-suppliedSupplier-supplied: Q1 98.68, median 99.22, Q3 99.91, n=36n=36Laboratory-retainedLaboratory-retained: Q1 98.08, median 98.77, Q3 99.47, n=15n=15 Purity (% area)
Figure 2. GGPeps 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 GGPeps 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 GGPeps batches in the index whose certificate carries that field, weighted as set out on the scoring rubric.

Documentation score 77/100 n=65
Index median score 85/100 n=28
Certificate fieldBatches carrying itRubric weight
Purity figure stated100%25 points
Analytical method stated (column, gradient, wavelength)78%25 points
Peptide content stated66%20 points
Endotoxin stated26%15 points
Named impurities rather than a total40%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 %
RetatrutideIncretin5698.4498.37+0.0796.5100
BPC-157Tissue-repair5698.8299.16-0.3498.0100
TirzepatideIncretin3698.4698.55-0.0997.0100
SemaxNeuroactive2399.3899.46-0.0898.5100
SemaglutideIncretin2398.4698.89-0.4397.0100
LiraglutideIncretin1998.7799.00-0.2397.5100
Enclomiphene citrateNon-peptide1698.3299.44-1.1298.531
CJC-1295 (no DAC)Growth-hormone1598.2799.09-0.8298.087
SurvodutideIncretin1497.6698.38-0.7296.5100
TB-500Tissue-repair1499.5899.53+0.0598.5100
NAD+Non-peptide1298.1699.28-1.1197.0100
IpamorelinGrowth-hormone1099.2099.47-0.2799.080
GHRP-2Growth-hormone1099.1599.28-0.1499.080
SelankNeuroactive999.6299.59+0.0399.078
MK-677 (Ibutamoren mesylate)Non-peptide999.8199.49+0.3298.5100
Melanotan IIMelanocortin-receptor899.2299.42-0.2098.5100
SermorelinGrowth-hormone898.5399.06-0.5298.0100
IGF-1 LR3Growth-hormone5 n=598.1198.28-0.1795.0100
HexarelinGrowth-hormone5 n=599.2899.59-0.3199.080
SLU-PP-332Non-peptide4 n=498.9398.88+0.0698.0100
MGFGrowth-hormone4 n=498.4899.29-0.8197.5100
CagrilintideIncretin3 n=398.1398.69-0.5696.5100
N-Acetyl Semax AmideNeuroactive3 n=398.5799.35-0.7898.567
5-Amino-1MQNon-peptide2 n=2n<399.4598.0100
KPVTissue-repair2 n=2n<399.6499.00
ARA-290Tissue-repair2 n=2n<399.4298.0100
DesmopressinHypothalamic2 n=2n<398.8398.5100
L-Glutathione (reduced)Short1 n=1n<399.3398.5100

Full per-compound breakdown with distributions and caveats →

97.197.698.198.699.199.6100.1RetatrutideRetatrutide: Q1 98.01, median 98.44, Q3 98.81, n=56n=56BPC-157BPC-157: Q1 98.66, median 98.82, Q3 99.03, n=56outlier 98.05outlier 99.93n=56TirzepatideTirzepatide: Q1 98.19, median 98.46, Q3 99.32, n=36n=36SemaxSemax: Q1 99.18, median 99.38, Q3 99.60, n=23n=23SemaglutideSemaglutide: Q1 98.26, median 98.46, Q3 99.00, n=23n=23LiraglutideLiraglutide: Q1 98.69, median 98.77, Q3 98.96, n=19outlier 99.78n=19Enclomiphene citrateEnclomiphene citrate: Q1 98.12, median 98.32, Q3 98.87, n=16n=16CJC-1295 (no DAC)CJC-1295 (no DAC): Q1 98.07, median 98.27, Q3 98.48, n=15outlier 99.12n=15SurvodutideSurvodutide: Q1 97.61, median 97.66, Q3 97.70, n=14outlier 97.37outlier 97.37outlier 97.44outlier 98.41outlier 98.68n=14TB-500TB-500: Q1 99.33, median 99.58, Q3 99.75, n=14n=14NAD+NAD+: Q1 98.03, median 98.16, Q3 98.35, n=12outlier 97.55n=12IpamorelinIpamorelin: Q1 99.04, median 99.20, Q3 99.34, n=10outlier 99.80n=10GHRP-2GHRP-2: Q1 99.11, median 99.15, Q3 99.18, n=10outlier 98.75outlier 98.80n=10SelankSelank: Q1 99.37, median 99.62, Q3 99.69, n=9outlier 98.87n=9 Purity (% area)
Figure 3. GGPeps purity by compound, for the 14 compounds with at least four GGPeps 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-Q100n<30
2024-Q212n<398.07–99.821
2024-Q321098.1397.83–98.431
2024-Q463798.8097.55–99.501
2025-Q164498.5097.74–99.937
2025-Q252998.8997.63–99.386
2025-Q332598.3797.45–99.934
2025-Q493098.8098.02–99.9316
2026-Q194298.7297.34–99.934
2026-Q22113899.0297.37–99.9338
2026-Q331498.9097.70–99.540

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
Janoshik17298.71+0.0098.71
PeptideMeter5998.75-0.0598.80
Medutest5398.83+0.0898.75
VendorInvestigate3598.47-0.1198.58
Nordanalyt3198.87+0.0298.85
Kestrel2199.28+0.2499.04

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.

93.0/ 1001,458 ratings across the index network
t.zielinski96/100

Residual-solvent screen included unrequested. Identity confirmed by two orthogonal methods.

s.weiss100/100

Twelve orders, every label square, printed and legible, lot code matching the paperwork on each.

k.kravchenko99/100

9 orders, 18 months. No substitution, no reformulation, no post-payment unavailability. Independent verification of individual lots still required.

n.okonkwo98/100

Orthogonal identity present: mass spectrometry alongside the chromatographic determination. PeptideMeter report held on file, figures match published. Evidence base adequate for a rating on this criterion.

y.bergstrom97/100

Declared figure not adjusted upward between certificate and commercial documentation. Contributor declares no interest beyond the transaction.

h.lundgren96/100

Published stock status matched availability. Same-day dispatch. Record covers the lots named. Not generalised.

ta.kaufmann95/100

Line quoted that three comparable suppliers declined to quote. Material returned within specification. Identity confirmed by two orthogonal methods. Documentation practice, not a single purity figure, is the substance here.

t.malinowski99/100

Storage condition for the stability statement stated on the certificate. Supplementary certificate produced without demur. Independent verification of individual lots still required.

a.lehtinen98/100

Consistency: 9 lots, purity band under 1.0 points wide. Not medical advice.

m.nyberg100/100

Stated storage condition on the certificate matched the shipping condition on the consignment. Reorder within 0.1 points of the original.

r.lokken97/100

Peptide content reported separately from chromatographic purity across all 6 certificates held. n=1, declared as n=1.

s.adeyemi100/100

Quote returned with the right vial size and the price held through to invoice. Material returned 99.0%.

a.castellanos99/100

Cold chain intact. Phase-change pack solid at arrival, day 7. Identity confirmed by two orthogonal methods. Evidence base adequate for a rating on this criterion.

v.nwosu95/100

Repeat determination at 24 months: 98.8%. Original: 98.8%. No drift detected in this sample. Vial-to-vial mass variation under 2%.

h.kravchenko98/100

Purity by RP-HPLC, wavelength stated, stability-indicating method named. Determination is reproducible from the certificate alone. Further submissions on later lots would improve coverage.

m.vermeulen100/100

Phase-change pack hard on arrival. Cake intact, no melt-back, no shift in the vial. Research use. Not approved for human administration.

p.kowalski95/100

Labelling printed, lot and date legible on every unit examined. Freight and documentation quoted separately from material cost, itemised on the invoice as quoted. Subsequent orders placed with the same supplier.

l.rautio96/100

Two lots ordered deliberately for comparison. Reported purities 0.1 points apart. Nothing unsecured in the consignment. Evidence base adequate for a rating on this criterion.

a.wojcik99/100

Cross-check: Medutest and PeptideMeter, same lot, agreement to 0.1 points. Both agree with the declared figure. Contributor declares no interest beyond the transaction.

c.kuipers95/100

Release signed and dated, named individual. Record covers the lots named. Not generalised.

no.zielinski98/100

Retention time assigned to the principal peak, printed. Gradient and column chemistry stated. Research use. Not approved for human administration.

f.grimaldi97/100

Documentation complete at first issue. No supplementary request raised. No further comment.

d.wojcik95/100

Batch record supplied in full on request, attached rather than summarised. Not medical advice.

sa.lindqvist99/100

Custom synthesis delivered 4 days inside the quoted schedule at the specified purity. Figures as reported by the named service. Not reproduced by the index.

l.broberg97/100

Certificate carries counter-ion identity and content. Complete against the index minimum data set at first issue. Identity confirmed by two orthogonal methods.

i.pires96/100

Direct-supply material 97.5%. Intermediary vial, same nominal description, 97.7%. Subsequent orders placed with the same supplier.

Block 12

Most recent records

The 25 most recently submitted GGPeps records. All 371 are listed on the full record listing.
ReportCompoundLotLabQuarterPurity %Water %Recovery %ProvenanceFlagsResult
AX-2026-042784CJC-1295 (no DAC)GGPE-2606-E1234Medutest2026-Q398.274.55Buyer-sourced0PASS
AX-2026-042786CJC-1295 (no DAC)GGPE-2606-E1234Janoshik2026-Q398.223.77Buyer-sourced0PASS
AX-2026-042858SelankGGPE-2603-J2447VendorInvestigate2026-Q398.878.8599.4Buyer-sourced0FAIL
AX-2026-042783CJC-1295 (no DAC)GGPE-2606-E1234Janoshik2026-Q398.224.4590.6Buyer-sourced0PASS
AX-2026-042757Melanotan IIGGPE-2603-P1474Janoshik2026-Q399.546.7892.0Buyer-sourced0PASS
AX-2026-042785CJC-1295 (no DAC)GGPE-2606-E1234PeptideMeter2026-Q397.704.6491.4Buyer-sourced0FAIL
AX-2026-042756Melanotan IIGGPE-2603-P1474Nordanalyt2026-Q399.177.04Buyer-sourced0PASS
AX-2026-042755Melanotan IIGGPE-2603-P1474Nordanalyt2026-Q399.256.5890.4Buyer-sourced0PASS
AX-2026-042782CJC-1295 (no DAC)GGPE-2606-E1234PeptideMeter2026-Q398.064.59Buyer-sourced0PASS
AX-2026-042760Melanotan IIGGPE-2603-P1474Medutest2026-Q399.437.02Buyer-sourced0PASS
AX-2026-042758Melanotan IIGGPE-2603-P1474PeptideMeter2026-Q399.236.96Buyer-sourced0PASS
AX-2026-042859SelankGGPE-2603-J2447PeptideMeter2026-Q398.929.48103.5Buyer-sourced0FAIL
AX-2026-042781CJC-1295 (no DAC)GGPE-2606-E1234Janoshik2026-Q397.933.47103.7Buyer-sourced0FAIL
AX-2026-042759Melanotan IIGGPE-2603-P1474Janoshik2026-Q399.156.71105.1Buyer-sourced0PASS
AX-2026-042831SurvodutideGGPE-2512-Y2660Janoshik2026-Q297.683.56Buyer-sourced2MARGINAL
AX-2026-042798RetatrutideGGPE-2604-U1472Nordanalyt2026-Q297.993.67Buyer-sourced0PASS
AX-2026-042801RetatrutideGGPE-2512-D2133VendorInvestigate2026-Q298.303.91104.5Buyer-sourced0PASS
AX-2026-042840SurvodutideGGPE-2512-Y2660PeptideMeter2026-Q297.673.80101.8Buyer-sourced2MARGINAL
AX-2026-042733TirzepatideGGPE-2604-H1052Janoshik2026-Q299.351.05102.0Buyer-sourced0PASS
AX-2026-042774SemaxGGPE-2512-Y1048Janoshik2026-Q299.937.63Supplier-supplied0PASS
AX-2026-042882TB-500GGPE-2601-B2671VendorInvestigate2026-Q299.505.12Buyer-sourced0PASS
AX-2026-042884BPC-157GGPE-2605-B2560PeptideMeter2026-Q298.693.74101.2Buyer-sourced0PASS
AX-2026-042876TB-500GGPE-2601-B2671PeptideMeter2026-Q299.434.24Buyer-sourced0PASS
AX-2026-042824BPC-157GGPE-2511-S2270Janoshik2026-Q298.283.09103.3Buyer-sourced0PASS
AX-2026-042744BPC-157GGPE-2602-E1411Janoshik2026-Q298.895.06104.4Laboratory-retained0PASS
Block 13

Contributor annotations on GGPeps records 537

Annotations are this index's only discussion surface: signed technical comments attached to a specific record by a named contributor. They are not moderated for agreement with the index's own arithmetic. The most recent on GGPeps material are below, each linked to the record it sits on.

Detection wavelength does not affect a mass determination but it does affect the purity figure sitting next to it. Both are stated on this record, which is the point.
n=1 on this lot. A single result below specification is a finding about a vial. Two agreeing results would make it a finding about a lot, and the batch page will say which of those exists.
Buyer-sourced through an ordinary retail order, so the supplier had no opportunity to select the vial. This is the provenance class the index weights and it is roughly 87 % of the dataset.
Area percent assumes unit response factors across every species present. At 99.54 % the assumption barely matters — there is not enough impurity for a response-factor error to move the figure by a tenth.
The reported figure derives from the plate count and the retention gap, via the pharmacopoeial form with the sum of both peak widths in the denominator. It is a calculated quantity, not a measured one, and it inherits the plate count's uncertainty.
The isotope pattern is consistent with the elemental composition of CJC-1295 (no DAC). That is a second, independent check on identity and it agrees with the mass.
A data logger in the box would upgrade this record further. Custody is documented; temperature history is inferred, and inference is weaker than measurement.
99.43 % on Melanotan II sits at the top of what this index sees. Read it with the method: Medutest ran a 25 min gradient here, and the compound fingerprint names a mass-identical species that a shorter run folds into the main peak. On this gradient the figure is well founded.

Every annotation the index holds on GGPeps material sits on its own record; the full set is reachable from the record listing and from each contributor's page. To read them against what GGPeps itself publishes, open ggpeps.net → alongside.

Block 14

Where to buy GGPeps

Nantong Guangyuan Chemical Co., Ltd. sells direct from ggpeps.net. Everything on this page describes lots the index has already seen; the certificate that matters is the one that arrives with the vial you order, and the lot code on it should match the vial. Ask for the lot-specific document rather than the batch-level summary, and ask for the integration report if you intend to reconcile the figure yourself.

Go to the GGPeps store at ggpeps.net →

Marked nofollow and sponsored. The index is paid nothing for it, takes no commission, and a link is not an assessment. Research compounds. Not medical advice. Nothing on this site is a safety assessment and nothing on it is approved for human use.