LIVE
A1C ↔ eAG
Convert A1C percent to estimated average glucose, or the reverse, using Nathan/ADAG.
Markdown: /docs/a1c-eag.md · Canonical: https://magentlab.com/docs/a1c-eag
Not a medical device. Not a diagnosis, dose, or listing recommendation.
What it computes
Convert A1C percent to estimated average glucose, or the reverse, using Nathan/ADAG.
When to use
When an agent must apply 28.7×A1C−46.7 instead of inventing an eAG from training data.
When not to use
- Not a diagnosis. Provide exactly one of a1c_percent or eAG (mg/dL or mmol/L).
- Does not interpret a glucose meter log or diagnose diabetes.
Formula
eAG_mg_dl = 28.7 * A1C_percent - 46.7
Citation
- Title
- Translating the A1C assay into estimated average glucose values
- Authors
- Nathan DM, Kuenen J, Borg R, Zheng H, Schoenfeld D, Heine RJ
- Source
- Diabetes Care. 2008;31(8):1473-1478
Worked example
A1C 7.0 → eAG
Given:
a1c_percent=7.0
- eAG = 28.7 * 7.0 - 46.7 = 154.2 mg/dL
- mmol/L = 154.2 / 18
Try
Opens the live endpoint. Unpaid browser requests show the paywall; agents should send Accept: application/json.
/api/calc/a1c_eag?a1c_percent=7.0
Full URL: https://api.magentlab.com/api/calc/a1c_eag?a1c_percent=7.0
x402 V2 curl
Expect HTTP 402 and a PAYMENT-REQUIRED
header until you retry with PAYMENT-SIGNATURE. Incomplete query params return HTTP
400 before any quote or charge.
curl -i -H "Accept: application/json" "https://api.magentlab.com/api/calc/a1c_eag?a1c_percent=7.0"
Cursor mcp.json
Intended config for @magent/mcp. This is not npm @x402/fetch
(a payment fetch wrapper).
{
"mcpServers": {
"magent": {
"args": [
"-y",
"@magent/mcp"
],
"command": "npx",
"env": {
"X402_PRIVATE_KEY": "0xYOUR_SPENDING_KEY"
}
}
}
}
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
a1c_percent |
number | optional | HbA1c in percent (4-15). Provide this or an eAG, not both. |
eag_mg_dl |
number | optional | Estimated average glucose in mg/dL (50-500). |
eag_mmol_l |
number | optional | Estimated average glucose in mmol/L. Converted as mg/dL = mmol/L * 18. |
Response
| Field | Type | Description |
|---|---|---|
formula |
string | nathan_adag |
formula_expression |
string | Exact expression used |
direction |
string | a1c_to_eag or eag_to_a1c |
a1c_percent |
number | A1C %, 1 decimal |
eag_mg_dl |
number | eAG in mg/dL, 1 decimal |
eag_mmol_l |
number | eAG in mmol/L (mg/dL / 18), 1 decimal |
citation |
object | Nathan Diabetes Care 2008 |
disclaimer |
string | Not-a-device notice |
Example JSON
Machine form of the same example. Frozen fixture. Not a live lookup.
{
"direction": "a1c_to_eag",
"disclaimer": "Not a medical device. Deterministic published-formula or coded-ontology output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
"citation": {
"authors": "Nathan DM, Kuenen J, Borg R, Zheng H, Schoenfeld D, Heine RJ",
"doi": "10.2337/dc08-0545",
"id": "nathan-2008",
"source": "Diabetes Care. 2008;31(8):1473-1478",
"title": "Translating the A1C assay into estimated average glucose values"
},
"formula": "nathan_adag",
"formula_expression": "eAG_mg_dl = 28.7 * A1C_percent - 46.7",
"eag_mg_dl": 154.2,
"a1c_percent": 7.0,
"eag_mmol_l": 8.6
}
Errors
| HTTP | Code | When |
|---|---|---|
| 400 | invalid_a1c_input |
provide a1c_percent or eag_mg_dl/eag_mmol_l, not both Returned before settlement; you are not charged. |
| 400 | invalid_a1c |
a1c_percent must be a number from 4 to 15 Returned before settlement; you are not charged. |
| 400 | invalid_eag |
eag_mg_dl (50-500) or eag_mmol_l (2.8-27.8) is required Returned before settlement; you are not charged. |
| 402 | payment_required |
Missing or invalid PAYMENT-SIGNATURE; decode the PAYMENT-REQUIRED header |
| 409 | payment_in_progress |
The same authorization nonce is already being settled; retry shortly |
| 429 | rate_limited |
Too many requests from this client |
| 503 | settlement_uncertain |
Settlement is unconfirmed; retry with the same PAYMENT-SIGNATURE |
| 503 | facilitator_unavailable |
Payment facilitator unavailable |
| 503 | facilitator_misconfigured |
Payment facilitator is not configured |
| 503 | facilitator_unauthorized |
Payment facilitator rejected credentials |
| 503 | ledger_unavailable |
Payment ledger unavailable |
| 503 | payment_unavailable |
Payment processing unavailable |
Related tools
- Corrected calcium — Compute Payne albumin-corrected calcium from total calcium and albumin.
Also searched as
- Nathan ADAG
- A1C to eAG 28.7
- estimated average glucose
- HbA1c eAG
Payment
Required query parameters must be present and valid. Invalid params return HTTP 400 JSON before settlement. magent does not charge. Fix the params, then request a new 402 quote for that complete URL. Catalog misses (empty matches, found=false) are valid paid 200s. Unpaid valid requests return HTTP 402 with a base64
PAYMENT-REQUIRED
header. Retry the same URL with PAYMENT-SIGNATURE. Settlement completes before the
tool runs. Full handshake and shared payment errors: Payments.
Guarantees
- Invalid query parameters return HTTP 400 before settlement. You are not charged.
- Settlement finishes before the tool executes. Uncertain settlement fails closed (HTTP 503).
- Execution is timeout-bounded and concurrency-capped.
- Calculator inputs are not persisted. Request logs store path without query.