magent
Deterministic published-formula arithmetic plus ICD-10-CM, RxNorm, and LOINC. Pay in USDC on Base via x402.
The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.
Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.
Live 402 challenge
Captured by the enrichment pass, not read just now. Prices can change — always read the 402 the endpoint answers with.
{
"error": "PAYMENT-SIGNATURE header is required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"paymentFlow": "upfront",
"resourceUrl": "https://api.magentlab.com/api/calc/maggic",
"assetTransferMethod": "eip3009"
},
"payTo": "0x836Be278f1739fB4308091cD1852F7971Bc19Ee2",
"amount": "5000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 600
},
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"withdrawDelay": 86400,
"receiverAuthorizer": "0x3721824a31197dcDD2984cF43b92B6cc8A87c0Fb",
"assetTransferMethod": "eip3009"
},
"payTo": "0x836Be278f1739fB4308091cD1852F7971Bc19Ee2",
"amount": "5000",
"scheme": "batch-settlement",
"network": "eip155:8453",
"maxTimeoutSeconds": 600
}
],
"resource": {
"url": "https://api.magentlab.com/api/calc/maggic",
"tags": [
"maggic",
"heart-failure",
"pocock",
"hemodynamics",
"calculator"
],
"mimeType": "application/json",
"description": "Pocock 2013 MAGGIC integer score from 13 heart-failure predictors (age, EF, NYHA, creatinine, diabetes, not prescribed beta-blocker, SBP, BMI, HF duration >18 months, current smoker, COPD, male sex, not prescribed ACEI/ARB), including the published age×EF and SBP×EF extras. Returns integer score and Table 4 1-year and 3-year death probabilities for scores 0-50. Not a diagnosis, not a treatment order, not a reason to withhold therapy. magent does not examine the patient.",
"serviceName": "magent"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"age": 50,
"sex": "female",
"copd": false,
"acei_arb": true,
"diabetes": false,
"bmi_kg_m2": 30,
"ef_percent": 55,
"nyha_class": 1,
"beta_blocker": true,
"current_smoker": false,
"systolic_mm_hg": 150,
"creatinine_mg_dl": 0.9,
"creatinine_umol_l": 80,
"hf_duration_gt_18_months": false
}
},
"output": {
"type": "json",
"example": {
"sex": "female",
"copd": false,
"score": 0,
"formula": "maggic",
"acei_arb": true,
"citation": {
"id": "pocock-2013",
"doi": "10.1093/eurheartj/ehs337",
"pmid": "23186806",
"title": "Predicting survival in heart failure: a risk score based on 39 372 patients from 30 studies",
"source": "Eur Heart J. 2013;34(19):1404-1413",
"authors": "Pocock SJ, Ariti CA, McMurray JJV, Maggioni A, Køber L, Squire IB, Swedberg K, Dobson J, Poppe KK, Whalley GA, Doughty RN"
},
"diabetes": false,
"age_years": 50,
"bmi_kg_m2": 30,
"components": [
{
"value": 55,
"factor": "ef",
"points": 0,
"present": false
},
{
"value": 50,
"factor": "age",
"points": 0,
"present": false
},
{
"value": 150,
"factor": "systolic_mm_hg",
"points": 0,
"present": false
},
{
"value": 30,
"factor": "bmi",
"points": 0,
"present": false
},
{
"value": 80,
"factor": "creatinine",
"points": 0,
"present": false
},
{
"value": 1,
"factor": "nyha_class",
"points": 0,
"present": false
},
{
"factor": "diabetes",
"points": 0,
"present": false
},
{
"factor": "not_prescribed_beta_blocker",
"points": 0,
"present": false
},
{
"factor": "hf_duration_gt_18_months",
"points": 0,
"present": false
},
{
"factor": "current_smoker",
"points": 0,
"present": false
},
{
"factor": "copd",
"points": 0,
"present": false
},
{
"factor": "male_sex",
"points": 0,
"present": false
},
{
"factor": "not_prescribed_acei_arb",
"points": 0,
"present": false
}
],
"disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
"ef_percent": 55,
"nyha_class": 1,
"beta_blocker": true,
"current_smoker": false,
"systolic_mm_hg": 150,
"creatinine_umol_l": 80,
"formula_expression": "MAGGIC integer score (Pocock 2013 Figure 2): EF <20 7, 20-24 6, 25-29 5, 30-34 3, 35-39 2, >=40 0; age extra by EF (<30 / 30-39 / >=40): <55 0/0/0, 55-59 1/2/3, 60-64 2/4/5, 65-69 4/6/7, 70-74 6/8/9, 75-79 8/10/12, >=80 10/13/15; SBP extra by EF: <110 5/3/2, 110-119 4/2/1, 120-129 3/1/1, 130-139 2/1/0, 140-149 1/0/0, >=150 0/0/0; BMI <15 6, 15-19 5, 20-24 3, 25-29 2, >=30 0; creatinine umol/L <90 0, 90-109 1, 110-129 2, 130-149 3, 150-169 4, 170-209 5, 210-249 6, >=250 8; NYHA I 0, II 2, III 6, IV 8; male 1; current smoker 1; diabetes 3; COPD 2; HF duration >18 months 2; not prescribed beta-blocker 3; not prescribed ACEI/ARB 1; Table 4 1-year and 3-year death probabilities for scores 0-50",
"death_probability_1y": 0.015,
"death_probability_3y": 0.039,
"hf_duration_gt_18_months": false
}
},
"iconUrl": "https://api.magentlab.com/favicon.ico"
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"queryParams": {
"type": "object",
"required": [
"age",
"ef_percent",
"nyha_class",
"diabetes",
"beta_blocker",
"systolic_mm_hg",
"bmi_kg_m2",
"hf_duration_gt_18_months",
"current_smoker",
"copd",
"sex",
"acei_arb"
],
"properties": {
"age": {
"type": "integer",
"description": "Age in years (integer 18-120). Pocock 2013 integer extra depends on EF: <55 scores 0; then 55-59, 60-64, 65-69, 70-74, 75-79, >=80. magent does not examine the patient."
},
"sex": {
"enum": [
"female",
"male"
],
"type": "string",
"description": "Sex (female or male). Male scores 1 (Figure 2)."
},
"copd": {
"type": "boolean",
"description": "COPD as assigned by the caller. true scores 2. magent does not diagnose COPD."
},
"acei_arb": {
"type": "boolean",
"description": "Prescribed an ACE inhibitor or ARB as assigned by the caller. true scores 0; false (not prescribed) scores 1. magent does not prescribe therapy."
},
"diabetes": {
"type": "boolean",
"description": "Diabetes as assigned by the caller. true scores 3 (Figure 2). magent does not diagnose diabetes."
},
"bmi_kg_m2": {
"type": "number",
"description": "Caller-supplied body-mass index in kg/m² (10-80). Figure 2: <15 6; 15-19 5; 20-24 3; 25-29 2; >=30 0. magent does not compute BMI from height and weight."
},
"ef_percent": {
"type": "number",
"description": "Left-ventricular ejection fraction in percent (1-90). Figure 2: <20 scores 7; 20-24 6; 25-29 5; 30-34 3; 35-39 2; >=40 0. Also selects the age and SBP extra rows. magent does not read an echocardiogram."
},
"nyha_class": {
"type": "integer",
"description": "NYHA class 1-4 as assigned by the caller (Figure 2: I 0, II 2, III 6, IV 8). magent does not assign NYHA class."
},
"beta_blocker": {
"type": "boolean",
"description": "Prescribed a beta-blocker as assigned by the caller. true scores 0; false (not prescribed) scores 3. magent does not prescribe therapy."
},
"current_smoker": {
"type": "boolean",
"description": "Current smoker as assigned by the caller. true scores 1. magent does not take a smoking history."
},
"systolic_mm_hg": {
"type": "number",
"description": "Systolic blood pressure in mm Hg (50-250). Figure 2 extra depends on EF: <110, 110-119, 120-129, 130-139, 140-149, >=150. magent does not measure blood pressure."
},
"creatinine_mg_dl": {
"type": "number",
"description": "Serum creatinine in mg/dL (0.1-20). Converted as µmol/L = mg/dL × 88.42, then Figure 2 µmol/L bins. Provide this or creatinine_umol_l, not both."
},
"creatinine_umol_l": {
"type": "number",
"description": "Serum creatinine in µmol/L (9-1768), the Figure 2 unit. Provide this or creatinine_mg_dl, not both. Bins: <90 0; 90-109 1; 110-129 2; 130-149 3; 150-169 4; 170-209 5; 210-249 6; >=250 8. magent does not assay creatinine."
},
"hf_duration_gt_18_months": {
"type": "boolean",
"description": "Heart-failure duration greater than 18 months as assigned by the caller (Table 2 HF duration >18 months). true scores 2. magent does not date the diagnosis."
}
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
},
"x402Version": 2
}Accepts
The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.
Pay 0.005 USDC on Base to 0x836B…19Ee2. The signed payment is good for 10 minutes.
- Paid to
- 0x836B…19Ee2
- USD Coin contract
- 0x8335…02913
- Payment window
- 10 minutes
- As published
- 5000 smallest units
The catalog’s raw entry
[
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"paymentFlow": "upfront",
"resourceUrl": "https://api.magentlab.com/api/calc/maggic",
"assetTransferMethod": "eip3009"
},
"payTo": "0x836Be278f1739fB4308091cD1852F7971Bc19Ee2",
"amount": "5000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 600
}
]Extensions
{
"bazaar": {
"info": {
"input": {
"body": {
"items": [
{
"age": 50,
"sex": "female",
"copd": false,
"acei_arb": true,
"diabetes": false,
"bmi_kg_m2": 30,
"ef_percent": 55,
"nyha_class": 1,
"beta_blocker": true,
"current_smoker": false,
"systolic_mm_hg": 150,
"creatinine_mg_dl": 0.9,
"creatinine_umol_l": 80,
"hf_duration_gt_18_months": false
},
{
"age": 50,
"sex": "female",
"copd": false,
"acei_arb": true,
"diabetes": false,
"bmi_kg_m2": 30,
"ef_percent": 55,
"nyha_class": 1,
"beta_blocker": true,
"current_smoker": false,
"systolic_mm_hg": 150,
"creatinine_mg_dl": 0.9,
"creatinine_umol_l": 80,
"hf_duration_gt_18_months": false
}
]
},
"type": "http",
"method": "POST"
},
"output": {
"type": "json",
"example": {
"path": "/api/calc/maggic",
"count": 2,
"items": [
{
"sex": "female",
"copd": false,
"score": 0,
"formula": "maggic",
"acei_arb": true,
"citation": {
"id": "pocock-2013",
"doi": "10.1093/eurheartj/ehs337",
"pmid": "23186806",
"title": "Predicting survival in heart failure: a risk score based on 39 372 patients from 30 studies",
"source": "Eur Heart J. 2013;34(19):1404-1413",
"authors": "Pocock SJ, Ariti CA, McMurray JJV, Maggioni A, Køber L, Squire IB, Swedberg K, Dobson J, Poppe KK, Whalley GA, Doughty RN"
},
"diabetes": false,
"age_years": 50,
"bmi_kg_m2": 30,
"components": [
{
"value": 55,
"factor": "ef",
"points": 0,
"present": false
},
{
"value": 50,
"factor": "age",
"points": 0,
"present": false
},
{
"value": 150,
"factor": "systolic_mm_hg",
"points": 0,
"present": false
},
{
"value": 30,
"factor": "bmi",
"points": 0,
"present": false
},
{
"value": 80,
"factor": "creatinine",
"points": 0,
"present": false
},
{
"value": 1,
"factor": "nyha_class",
"points": 0,
"present": false
},
{
"factor": "diabetes",
"points": 0,
"present": false
},
{
"factor": "not_prescribed_beta_blocker",
"points": 0,
"present": false
},
{
"factor": "hf_duration_gt_18_months",
"points": 0,
"present": false
},
{
"factor": "current_smoker",
"points": 0,
"present": false
},
{
"factor": "copd",
"points": 0,
"present": false
},
{
"factor": "male_sex",
"points": 0,
"present": false
},
{
"factor": "not_prescribed_acei_arb",
"points": 0,
"present": false
}
],
"disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
"ef_percent": 55,
"nyha_class": 1,
"beta_blocker": true,
"current_smoker": false,
"systolic_mm_hg": 150,
"creatinine_umol_l": 80,
"formula_expression": "MAGGIC integer score (Pocock 2013 Figure 2): EF <20 7, 20-24 6, 25-29 5, 30-34 3, 35-39 2, >=40 0; age extra by EF (<30 / 30-39 / >=40): <55 0/0/0, 55-59 1/2/3, 60-64 2/4/5, 65-69 4/6/7, 70-74 6/8/9, 75-79 8/10/12, >=80 10/13/15; SBP extra by EF: <110 5/3/2, 110-119 4/2/1, 120-129 3/1/1, 130-139 2/1/0, 140-149 1/0/0, >=150 0/0/0; BMI <15 6, 15-19 5, 20-24 3, 25-29 2, >=30 0; creatinine umol/L <90 0, 90-109 1, 110-129 2, 130-149 3, 150-169 4, 170-209 5, 210-249 6, >=250 8; NYHA I 0, II 2, III 6, IV 8; male 1; current smoker 1; diabetes 3; COPD 2; HF duration >18 months 2; not prescribed beta-blocker 3; not prescribed ACEI/ARB 1; Table 4 1-year and 3-year death probabilities for scores 0-50",
"death_probability_1y": 0.015,
"death_probability_3y": 0.039,
"hf_duration_gt_18_months": false
},
{
"sex": "female",
"copd": false,
"score": 0,
"formula": "maggic",
"acei_arb": true,
"citation": {
"id": "pocock-2013",
"doi": "10.1093/eurheartj/ehs337",
"pmid": "23186806",
"title": "Predicting survival in heart failure: a risk score based on 39 372 patients from 30 studies",
"source": "Eur Heart J. 2013;34(19):1404-1413",
"authors": "Pocock SJ, Ariti CA, McMurray JJV, Maggioni A, Køber L, Squire IB, Swedberg K, Dobson J, Poppe KK, Whalley GA, Doughty RN"
},
"diabetes": false,
"age_years": 50,
"bmi_kg_m2": 30,
"components": [
{
"value": 55,
"factor": "ef",
"points": 0,
"present": false
},
{
"value": 50,
"factor": "age",
"points": 0,
"present": false
},
{
"value": 150,
"factor": "systolic_mm_hg",
"points": 0,
"present": false
},
{
"value": 30,
"factor": "bmi",
"points": 0,
"present": false
},
{
"value": 80,
"factor": "creatinine",
"points": 0,
"present": false
},
{
"value": 1,
"factor": "nyha_class",
"points": 0,
"present": false
},
{
"factor": "diabetes",
"points": 0,
"present": false
},
{
"factor": "not_prescribed_beta_blocker",
"points": 0,
"present": false
},
{
"factor": "hf_duration_gt_18_months",
"points": 0,
"present": false
},
{
"factor": "current_smoker",
"points": 0,
"present": false
},
{
"factor": "copd",
"points": 0,
"present": false
},
{
"factor": "male_sex",
"points": 0,
"present": false
},
{
"factor": "not_prescribed_acei_arb",
"points": 0,
"present": false
}
],
"disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
"ef_percent": 55,
"nyha_class": 1,
"beta_blocker": true,
"current_smoker": false,
"systolic_mm_hg": 150,
"creatinine_umol_l": 80,
"formula_expression": "MAGGIC integer score (Pocock 2013 Figure 2): EF <20 7, 20-24 6, 25-29 5, 30-34 3, 35-39 2, >=40 0; age extra by EF (<30 / 30-39 / >=40): <55 0/0/0, 55-59 1/2/3, 60-64 2/4/5, 65-69 4/6/7, 70-74 6/8/9, 75-79 8/10/12, >=80 10/13/15; SBP extra by EF: <110 5/3/2, 110-119 4/2/1, 120-129 3/1/1, 130-139 2/1/0, 140-149 1/0/0, >=150 0/0/0; BMI <15 6, 15-19 5, 20-24 3, 25-29 2, >=30 0; creatinine umol/L <90 0, 90-109 1, 110-129 2, 130-149 3, 150-169 4, 170-209 5, 210-249 6, >=250 8; NYHA I 0, II 2, III 6, IV 8; male 1; current smoker 1; diabetes 3; COPD 2; HF duration >18 months 2; not prescribed beta-blocker 3; not prescribed ACEI/ARB 1; Table 4 1-year and 3-year death probabilities for scores 0-50",
"death_probability_1y": 0.015,
"death_probability_3y": 0.039,
"hf_duration_gt_18_months": false
}
]
}
},
"iconUrl": "https://api.magentlab.com/favicon.ico"
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"body": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"age",
"ef_percent",
"nyha_class",
"diabetes",
"beta_blocker",
"systolic_mm_hg",
"bmi_kg_m2",
"hf_duration_gt_18_months",
"current_smoker",
"copd",
"sex",
"acei_arb"
],
"properties": {
"age": {
"type": "integer",
"description": "Age in years (integer 18-120). Pocock 2013 integer extra depends on EF: <55 scores 0; then 55-59, 60-64, 65-69, 70-74, 75-79, >=80. magent does not examine the patient."
},
"sex": {
"enum": [
"female",
"male"
],
"type": "string",
"description": "Sex (female or male). Male scores 1 (Figure 2)."
},
"copd": {
"type": "boolean",
"description": "COPD as assigned by the caller. true scores 2. magent does not diagnose COPD."
},
"acei_arb": {
"type": "boolean",
"description": "Prescribed an ACE inhibitor or ARB as assigned by the caller. true scores 0; false (not prescribed) scores 1. magent does not prescribe therapy."
},
"diabetes": {
"type": "boolean",
"description": "Diabetes as assigned by the caller. true scores 3 (Figure 2). magent does not diagnose diabetes."
},
"bmi_kg_m2": {
"type": "number",
"description": "Caller-supplied body-mass index in kg/m² (10-80). Figure 2: <15 6; 15-19 5; 20-24 3; 25-29 2; >=30 0. magent does not compute BMI from height and weight."
},
"ef_percent": {
"type": "number",
"description": "Left-ventricular ejection fraction in percent (1-90). Figure 2: <20 scores 7; 20-24 6; 25-29 5; 30-34 3; 35-39 2; >=40 0. Also selects the age and SBP extra rows. magent does not read an echocardiogram."
},
"nyha_class": {
"type": "integer",
"description": "NYHA class 1-4 as assigned by the caller (Figure 2: I 0, II 2, III 6, IV 8). magent does not assign NYHA class."
},
"beta_blocker": {
"type": "boolean",
"description": "Prescribed a beta-blocker as assigned by the caller. true scores 0; false (not prescribed) scores 3. magent does not prescribe therapy."
},
"current_smoker": {
"type": "boolean",
"description": "Current smoker as assigned by the caller. true scores 1. magent does not take a smoking history."
},
"systolic_mm_hg": {
"type": "number",
"description": "Systolic blood pressure in mm Hg (50-250). Figure 2 extra depends on EF: <110, 110-119, 120-129, 130-139, 140-149, >=150. magent does not measure blood pressure."
},
"creatinine_mg_dl": {
"type": "number",
"description": "Serum creatinine in mg/dL (0.1-20). Converted as µmol/L = mg/dL × 88.42, then Figure 2 µmol/L bins. Provide this or creatinine_umol_l, not both."
},
"creatinine_umol_l": {
"type": "number",
"description": "Serum creatinine in µmol/L (9-1768), the Figure 2 unit. Provide this or creatinine_mg_dl, not both. Bins: <90 0; 90-109 1; 110-129 2; 130-149 3; 150-169 4; 170-209 5; 210-249 6; >=250 8. magent does not assay creatinine."
},
"hf_duration_gt_18_months": {
"type": "boolean",
"description": "Heart-failure duration greater than 18 months as assigned by the caller (Table 2 HF duration >18 months). true scores 2. magent does not date the diagnosis."
}
}
},
"maxItems": 25,
"minItems": 1
}
},
"additionalProperties": false
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"type": "string",
"const": "POST"
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
}Provenance
- Seen in the source catalog
- 2026-08-31 18:08Z
- Last indexed by Roundhouse
- 2026-09-07 06:20Z
- Last enriched (probe, favicon, geo)
- 2026-09-23 14:45Z
- x402 version
- 2
- Max timeout
- 600s
- Liveness probe
- HTTP 402
Hand this page to an agent
Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.
GET api.roundhouseai.io/v0/endpoints
This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 9 snapshots so far. Verified volume counts only settlements with an on-chain EIP-3009 marker.
Show the promptHide the prompt
Using Roundhouse, look up the x402 service magent and tell me whether it is worth paying: what a call costs, whether the endpoint answered when last probed, and what its payment record actually shows. curl -s 'https://api.roundhouseai.io/v0/endpoints?q=magent' curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>' Then call it: read the price from the live 402 at https://api.magentlab.com/api/calc/maggic, never from a cached figure, and pay with an x402 client. The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except /v0/unified* and /v0/endpoints. Mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402, or use an organization key from https://roundhouseai.io/dashboard/team. If you do not have Roundhouse tools or skills installed, read https://roundhouseai.io/skill.md first — it is the whole procedure.