Fifth order from them, all selank 10 mg. Sent one vial from each to PeptideMeter and the whole set landed inside half a point of each other. That flatness is exactly what I pay for.
HJ — Hubei Jianxiang Bioscience Co., Ltd.
Xianning, CN · established 2015. The index holds 248 assay reports across 51 batches and 19 compounds, contributed by 6 laboratories. Every figure below is computed from those records and from nothing else.
Where HJ sells
Hubei Jianxiang Bioscience 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 HJ at hubeijianxiang.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.
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
- Hubei Jianxiang Bioscience Co., Ltd.
- Short code in this index
- HJ
- Also known as
- HJ · HJ Biotech · Hubei Jianxiang Bioscience
- Domain
- hubeijianxiang.net →
- City
- Xianning
- Region
- Xianning
- Country
- CN
- Established
- 2015
- First record in index
- 08 Feb 2024
- Most recent record
- 08 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 32 HJ 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.92 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 HJ 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) | 67% | 25 points | |
| Peptide content stated | 65% | 20 points | |
| Endotoxin stated | 35% | 15 points | |
| Named impurities rather than a total | 53% | 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 % |
|---|---|---|---|---|---|---|---|
| Tirzepatide | Incretin | 48 | 98.40 | 98.44 | -0.04 | 97.0 | 100 |
| Semaglutide | Incretin | 37 | 99.00 | 98.87 | +0.13 | 97.0 | 100 |
| Retatrutide | Incretin | 23 | 98.88 | 98.41 | +0.47 | 96.5 | 100 |
| BPC-157 | Tissue-repair | 21 | 99.71 | 99.15 | +0.56 | 98.0 | 100 |
| L-Glutathione (reduced) | Short | 20 | 99.08 | 99.00 | +0.08 | 98.5 | 95 |
| GHRP-2 | Growth-hormone | 17 | 99.25 | 99.22 | +0.03 | 99.0 | 71 |
| AOD-9604 | Metabolic | 15 | 98.78 | 99.25 | -0.47 | 98.0 | 93 |
| Ipamorelin | Growth-hormone | 15 | 99.47 | 99.48 | -0.01 | 99.0 | 80 |
| TB-500 | Tissue-repair | 14 | 99.56 | 99.47 | +0.09 | 98.5 | 100 |
| Sermorelin | Growth-hormone | 9 | 99.08 | 98.94 | +0.14 | 98.0 | 100 |
| PEG-MGF | Growth-hormone | 7 n=7 | 98.14 | 97.92 | +0.22 | 92.0 | 100 |
| IGF-1 LR3 | Growth-hormone | 6 n=6 | 97.86 | 97.75 | +0.11 | 95.0 | 100 |
| GHRP-6 | Growth-hormone | 5 n=5 | 99.60 | 99.65 | -0.05 | 99.0 | 80 |
| Semax | Neuroactive | 4 n=4 | 99.13 | 99.17 | -0.04 | 98.5 | 100 |
| Selank | Neuroactive | 3 n=3 | 99.14 | 99.13 | +0.01 | 99.0 | 67 |
| ARA-290 | Tissue-repair | 1 n=1 | n<3 | 99.45 | — | 98.0 | 100 |
| Epitalon | Short | 1 n=1 | n<3 | 98.63 | — | 99.0 | 0 |
| GHK-Cu | Tissue-repair | 1 n=1 | n<3 | 98.54 | — | 97.0 | 100 |
| MK-677 (Ibutamoren mesylate) | Non-peptide | 1 n=1 | n<3 | 99.37 | — | 98.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 | 1 | 8 | 98.91 | 98.49–99.59 | 8 |
| 2024-Q2 | 1 | 4 | 99.45 | 99.18–99.93 | 4 |
| 2024-Q3 | 1 | 1 | n<3 | — | 0 |
| 2024-Q4 | 2 | 11 | 99.36 | 97.79–99.93 | 7 |
| 2025-Q1 | 9 | 57 | 98.97 | 97.34–99.93 | 47 |
| 2025-Q2 | 5 | 18 | 98.77 | 97.40–99.46 | 17 |
| 2025-Q3 | 9 | 49 | 99.20 | 97.19–99.93 | 29 |
| 2025-Q4 | 4 | 19 | 98.99 | 97.63–99.43 | 6 |
| 2026-Q1 | 6 | 18 | 98.76 | 97.79–99.93 | 16 |
| 2026-Q2 | 10 | 50 | 98.91 | 97.85–99.93 | 39 |
| 2026-Q3 | 3 | 13 | 99.27 | 98.79–99.93 | 13 |
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 | 111 | 99.02 | +0.00 | 99.02 |
| PeptideMeter | 36 | 98.97 | -0.05 | 99.02 |
| Medutest | 32 | 98.98 | +0.08 | 98.91 |
| VendorInvestigate | 31 | 98.53 | -0.11 | 98.64 |
| Nordanalyt | 17 | 98.91 | +0.02 | 98.89 |
| Kestrel | 21 | 99.36 | +0.24 | 99.12 |
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.
Asked a genuinely technical question about pre-dispatch storage and got a reply with numbers in it, inside 8 hours.
Quoted 4 days, arrived in 4. Tracking updated at every hop from dispatch to door.
Reordered on the strength of the last one and got an identical result. Repeatability is the product.
Ordered on a Monday from their warehouse in the Netherlands and it was here by day 5. That is the whole case for regional stock.
Costed them per mg against three other suppliers on the same KPV 10 mg spec. Competitive on price and clearly ahead on documentation.
Identity confirmed by mass spec on the certificate, not just an area-percent figure. Both questions answered on one page.
Submitted the BPC-157 10 mg to Medutest blind, without telling them the source. 98.7% against a stated 98.6%. The number holds up when nobody knows whose vial it is.
Good communication throughout, accurate lead time, and the parcel arrived on day 2.
Every certificate I have from them is lot-specific. Not one batch-level document in 8 orders.
Consistent rather than flashy. Everything lands in the high nineties, and it lands there every time.
Domestic dispatch from their stock in Canada. Straightforward, day 4, exactly as quoted.
7 lots logged now, purity 98.1 to 98.6%. A band that tight is worth more to me than one spectacular number.
Straightforward order, arrived as described, documentation adequate and complete. Nothing to add, which is the point.
Certificate claimed 98.4% on lot HJ-24-252. PeptideMeter came back 98.6%. On an independent column that is as close to agreement as this gets.
Ordered BPC-157 10 mg twice. Both vials reconstituted cleanly and both matched their certificates.
Reliable on the general catalogue lines. Purity figures cluster tightly and the certificates match the lots.
Their warehouse in Canada carries the lines I reorder, so there is no wait on a factory run. Day 4 every time.
Their raw material tested 98.8% against a reseller vial of nominally the same compound at 98.6%. Going direct is the whole argument.
Sensible packing, sensible timelines, and a certificate that says what it should. No notes.
Stock said available, stock was available, and it shipped the same day. That sequence is not as common as it should be.
Their warehouse in the United States had the ipamorelin 5 mg in stock and it shipped the same afternoon. Tracking never left the country.
Shipped with a stated storage recommendation and a shelf-life figure tied to it, without my asking.
Reconstituted the PT-141 10 mg and it went clear on contact — no haze, no floaters, no long swirl. Tells you the lyophilisation was done properly.
Everything about the order was routine in the best sense — quoted 4 days, arrived in 3.
Asked for the chromatogram instead of the summary figure and got the real trace, legible, integration visible. They send it without hesitating.
Most recent records
| Report | Compound | Lot | Lab | Quarter | Purity % | Water % | Recovery % | Provenance | Flags | Result |
|---|---|---|---|---|---|---|---|---|---|---|
| AX-2026-042368 | Semax | HJ-2603-V4363 | Nordanalyt | 2026-Q3 | 99.17 | 7.26 | 106.3 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042347 | Semaglutide | HJ-2608-C3931 | VendorInvestigate | 2026-Q3 | 98.80 | 3.41 | 100.2 | Buyer-sourced | 1 | MARGINAL |
| AX-2026-042367 | Semax | HJ-2603-V4363 | Kestrel | 2026-Q3 | 99.10 | 6.78 | 93.9 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042348 | Semaglutide | HJ-2608-C3931 | Nordanalyt | 2026-Q3 | 99.52 | 4.19 | — | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042290 | GHRP-6 | HJ-2603-R2258 | Janoshik | 2026-Q3 | 99.71 | 3.05 | — | Supplier-supplied | 2 | MARGINAL |
| AX-2026-042287 | GHRP-6 | HJ-2603-R2258 | VendorInvestigate | 2026-Q3 | 98.79 | 2.43 | 90.9 | Buyer-sourced | 2 | FAIL |
| AX-2026-042288 | GHRP-6 | HJ-2603-R2258 | Kestrel | 2026-Q3 | 99.93 | 2.82 | 92.8 | Supplier-supplied | 2 | MARGINAL |
| AX-2026-042346 | Semaglutide | HJ-2608-C3931 | VendorInvestigate | 2026-Q3 | 99.40 | 3.48 | — | Buyer-sourced | 1 | MARGINAL |
| AX-2026-042289 | GHRP-6 | HJ-2603-R2258 | Janoshik | 2026-Q3 | 99.53 | 2.67 | 104.7 | Supplier-supplied | 2 | MARGINAL |
| AX-2026-042370 | Semax | HJ-2603-V4363 | Janoshik | 2026-Q3 | 98.94 | 7.16 | 104.0 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042291 | GHRP-6 | HJ-2603-R2258 | Janoshik | 2026-Q3 | 99.60 | 2.94 | 101.3 | Supplier-supplied | 2 | MARGINAL |
| AX-2026-042349 | Semaglutide | HJ-2608-C3931 | PeptideMeter | 2026-Q3 | 99.27 | 3.83 | 96.6 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042369 | Semax | HJ-2603-V4363 | Janoshik | 2026-Q3 | 99.26 | 7.67 | 95.0 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042344 | BPC-157 | HJ-2511-U3414 | Janoshik | 2026-Q2 | 99.18 | 4.92 | — | Supplier-supplied | 2 | MARGINAL |
| AX-2026-042321 | Tirzepatide | HJ-2605-D3120 | VendorInvestigate | 2026-Q2 | 98.11 | 4.22 | — | Buyer-sourced | 2 | MARGINAL |
| AX-2026-042361 | Sermorelin | HJ-2605-A4196 | Medutest | 2026-Q2 | 98.93 | 5.43 | 89.8 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042350 | TB-500 | HJ-2511-L4170 | Medutest | 2026-Q2 | 99.71 | 2.91 | 96.7 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042352 | TB-500 | HJ-2511-L4170 | Janoshik | 2026-Q2 | 99.93 | 2.64 | 100.6 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042359 | Sermorelin | HJ-2605-A4196 | Kestrel | 2026-Q2 | 99.37 | 5.63 | — | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042323 | Tirzepatide | HJ-2605-D3120 | Janoshik | 2026-Q2 | 97.88 | 4.14 | — | Laboratory-retained | 2 | MARGINAL |
| AX-2026-042302 | GHRP-2 | HJ-2602-W3148 | PeptideMeter | 2026-Q2 | 99.55 | 1.32 | 104.9 | Supplier-supplied | 1 | MARGINAL |
| AX-2026-042337 | L-Glutathione (reduced) | HJ-2511-F3082 | Janoshik | 2026-Q2 | 99.93 | 7.58 | — | Supplier-supplied | 0 | PASS |
| AX-2026-042300 | AOD-9604 | HJ-2601-N2483 | Janoshik | 2026-Q2 | 98.77 | 5.32 | — | Buyer-sourced | 1 | MARGINAL |
| AX-2026-042336 | L-Glutathione (reduced) | HJ-2511-F3082 | Janoshik | 2026-Q2 | 99.93 | 7.34 | — | Supplier-supplied | 0 | PASS |
| AX-2026-042297 | AOD-9604 | HJ-2601-N2483 | Medutest | 2026-Q2 | 99.00 | 4.72 | 99.5 | Supplier-supplied | 1 | MARGINAL |