Anyone can start here · Telehealth / national (compute from an existing VO2max, or from non-exercise inputs when none exists)
Fitness age (VO2max-as-biological-age) compute — telehealth / national.
Fund it for $140. Proof lands onchain when it's done.
$140 proposed
This packet is not funded yet, so this figure is a proposed price and not money waiting in escrow. If a buyer funds it, approved proof settles that price onchain. If nobody funds it, approved proof earns provable credit toward the work instead of cash — recorded, and readable any time at vealth.net/labor/credit/(your wallet). You see which before you claim, never after.
Claiming is free. You sign to prove the wallet is yours: no card, no deposit, no fee.
What the work involvesCardiorespiratory fitness is the single strongest modifiable predictor of all-cause mortality with no observed ceiling on its benefit (Mandsager 2018), yet almost nobody translates a VO2max into an age they can act on — and many people have no VO2max at all because they think it requires a lab or a treadmill test. This packet closes both gaps: it turns a VO2max someone already has (a watch estimate, or this library's own cardiorespiratory_fitness field test) into a fitness age, and when there is no VO2max at all, it estimates one first from five non-exercise inputs (age, sex, waist, resting heart rate, activity) using the published HUNT regression — then applies the same lookup. It complements, never duplicates, the existing VO2max field-test packet.
How this work is done
A documented method, so this packet comes out the same whoever does it.
Bring
- EITHER an existing VO2max estimate (wearable/app, or a completed field test such as this library's cardiorespiratory_fitness standard)
- OR, if no VO2max exists: tape measure (waist circumference, cm, at the navel) + a way to check resting heart rate (manual pulse count or a wearable, after 5 min seated) + a self-reported leisure-time activity level
- chronological age and sex
- the compute tool (`npm run health:fitness-age`)
Steps
- 1. Determine which path applies. If a recent VO2max estimate already exists (wearable/app, or a completed field test), record it with its source/protocol so its own uncertainty is understood before trusting it. If not, gather the four HUNT non-exercise inputs instead: chronological age, waist circumference (cm), resting heart rate (bpm, 5 min seated), and a leisure-time activity level placed on the six published anchor levels (see standard_ref).
- 2. If starting from the non-exercise path, run `npm run health:fitness-age -- --age .. --sex .. --waist .. --rhr .. --activity-level ..` to estimate VO2max via the Nes 2011 HUNT regression; record the estimate with its published R^2 and SEE (the tool reports both).
- 3. Run (or continue) `npm run health:fitness-age` to compute fitness age: the chronological age at which this VO2max sits at the FRIEND-registry 50th percentile for the person's sex.
- 4. Record the result framed as a research-grade estimate/trend indicator, never a diagnosis. For the non-exercise path, record the ±SEE fitness-age range the tool returns, not just the point number.
- 5. Note whether the result required extrapolation beyond the FRIEND registry's directly observed 20-79 age range (the tool flags this).
- 6. Sign the record with the input path used (measured/estimated VO2max vs. HUNT non-exercise) so a later re-test compares like-for-like.
What counts as done
- Input path stated (measured/estimated VO2max already in hand, OR the 4 HUNT non-exercise inputs: waist circumference cm, resting heart rate bpm, activity level, age/sex) with all values and units
- Computed fitness age + fitnessAgeDelta (via `npm run health:fitness-age`), stated with the explicit population-50th-percentile definition
- For the non-exercise path, the published R^2/SEE and the resulting fitness-age range (fitnessAgeRangeFromSee) recorded, not just the point estimate; any extrapolation beyond the FRIEND registry's 20-79 age range flagged
Proof is measured against these, not judged by taste.
What is promised, and what is not.
Funding this work is a purchase or a vote, same act: you either want this done here, or you want the world to contain it. A vote is free and signed; funding starts at one cent and anything beyond the wage is recorded as a premium for the worker. Either way the money settles only on accepted proof. An agent can fund it in one x402 call: POST /nurture/fund {"workId":"WORK_1788107688192_0rf858e","funderWallet":"0xYOU"}.
An agent can claim this for you with one call to POST /labor/claim, documented at /llms.txt.
Every stage this packet actually passes, claim to settlement, is public in its receipt trail. A stage that has not happened is not claimed.
Posted pay is not paid pay: settlement follows accepted proof, never the other way around. Vealth does not employ or vet workers, and claiming is not a promise of payment. See how proof and receipts work.