Symptoms

Joint pain. Stiffness.

If your joints suddenly hurt at 47 and you're not training harder than you used to, the cause is usually hormonal, not mechanical. Estradiol, IGF-1, and systemic inflammation all drive midlife joint pain. All testable. All treatable.

Most common causes

Declining estradiol (women)

Estradiol receptors are dense in joint cartilage and synovium. As estradiol drops in perimenopause, joints stiffen, often the first symptom women notice.

Test for itEstradiol, FSH, progesterone, TSH

Declining IGF-1 / GH

GH-axis decline reduces collagen synthesis and joint repair capacity. Sermorelin can restore IGF-1 to optimal range.

Test for itIGF-1, fasting glucose, A1c

Systemic inflammation

Chronic low-grade inflammation (high hsCRP, poor metabolic health) accelerates joint degradation. Often goes hand-in-hand with insulin resistance.

Test for ithsCRP, ESR, ferritin, fasting insulin, HbA1c

Low testosterone

T supports anabolic joint repair. Low T patients often report joint stiffness and slower recovery from training.

Test for itTotal T, free T, SHBG

Subclinical autoimmune (rheumatoid, lupus, psoriatic)

Worth ruling out if pain is symmetric, morning-prominent, or accompanied by skin or other systemic findings. Refer to rheumatology if positive.

Test for itANA, RF, anti-CCP if indicated

What works at OPTML

HRT (women)

Restoring estradiol resolves perimenopausal joint pain for most women. Often dramatic within 4-8 weeks.

See full details →

Sermorelin

If IGF-1 is suboptimal, GHRH-driven restoration helps connective-tissue repair, especially in active patients.

See full details →

Optimized Health labs

Joint pain often has overlapping causes. Run the panel before guessing.

See full details →
It's not just “you're getting older.” A 47-year-old who can't lift overhead without pain is dealing with a measurable, fixable upstream issue, not aging.

Stop guessing. Start with labs.

Find My Protocol routes you to the right panel and the right physician for this symptom, in 5 minutes.

Find my protocol → Decode my labs first