{"openapi":"3.1.0","info":{"title":"Statistics","version":"0.1.0","description":"Descriptive and inferential statistics — summary stats, percentiles/quantiles, Pearson correlation and linear regression.","x-guidance":"Descriptive and inferential statistics — summary stats, percentiles/quantiles, Pearson correlation and linear regression. Each operation is an HTTP POST to its /v1/<operation> path with a JSON request body (see each operation's requestBody schema) and returns a JSON response. Endpoints are paid per successful call via x402 or MPP (USDC on Base); an unpaid request returns 402 with payment metadata in the WWW-Authenticate header.","contact":{"email":"hello@openverbs.com"}},"x-discovery":{"ownershipProofs":["0xb1401a71756f51464a9962db12f1eb3e9522490cd20010b06d00cf7b7770acfd5f79721f9dfdf2643f8cecd29af3bde9ec133941a386042b32d9886053a70de61b","0xc1c1f11793e18a00fcb7072421f26e89fb75b6aa517fa84370564991f4b10efa024f6f57e4e67eefd20cf46cc01fc5a62d793fa8fbcda04f26c946a3433d73f91b","0x676b474af0ef9ed4809b5d12d2e789b36e52d56215b21f601d71f76620e36ec630347116a7b2b349a3c3681e5db0fbfa76c4169a676b6d6f27864d0e5017284a1c","0xc2ab96522515ed9e9bc4f1a241b774bd48df42e951ddbf7f6aa8fc76f5a96a20421703e1ec402ce7eb1e4eabea3b6e4e4129cf39d56ea91cf4fcf38561fc94fc1c"]},"servers":[{"url":"https://stats.openverbs.com"}],"paths":{"/health":{"get":{"summary":"Health check","security":[],"responses":{"200":{"description":"Healthy","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"service":{"type":"string"},"version":{"type":"string"}}}}}}}}},"/v1/summary":{"post":{"summary":"Descriptive summary","description":"Full descriptive summary of a numeric sample: count, sum, min/max/range, mean, median, mode(s), variance, standard deviation and the quartiles (q1/q3/iqr). Set sample=true for the sample variance/stdev (÷ n-1) instead of the population form (÷ n). Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["descriptive statistics","summary statistics api","calculate mean median","variance standard deviation","numeric sample summary","quartiles and iqr"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"number"},"minItems":1,"maxItems":100000,"description":"The numeric sample."},"sample":{"type":"boolean","description":"Use sample variance/stdev (÷ n-1). Default false (population)."}},"required":["data"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ count, sum, min, max, range, mean, median, mode, variance, stdev, q1, q3, iqr }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ count, sum, min, max, range, mean, median, mode, variance, stdev, q1, q3, iqr }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Full descriptive summary of a numeric sample: count, sum, min/max/range, mean, median, mode(s), variance, standard deviation and the quartiles (q1/q3/iqr). Set sample=true for the sample variance/stdev (÷ n-1) instead of the population form (÷ n).","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Full descriptive summary of a numeric sample: count, sum, min/max/range, mean, median, mode(s), variance, standard deviation and the quartiles (q1/q3/iqr). Set sample=true for the sample variance/stdev (÷ n-1) instead of the population form (÷ n).","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Full descriptive summary of a numeric sample: count, sum, min/max/range, mean, median, mode(s), variance, standard deviation and the quartiles (q1/q3/iqr). Set sample=true for the sample variance/stdev (÷ n-1) instead of the population form (÷ n).","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/percentile":{"post":{"summary":"Percentiles / quantiles","description":"Evaluate one or more percentiles (0–100) of a numeric sample using linear interpolation between order statistics (the R-7 / Excel PERCENTILE.INC method). 50 is the median, 25/75 the quartiles. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["percentile calculator","quantile calculator","calculate percentiles","r7 percentile","excel percentile inc","sample quantile lookup"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"number"},"minItems":1,"maxItems":100000,"description":"The numeric sample."},"percentiles":{"type":"array","items":{"type":"number","minimum":0,"maximum":100},"minItems":1,"maxItems":1000,"description":"Percentiles to evaluate, each 0–100."}},"required":["data","percentiles"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ results: [{ percentile, value }] }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ results: [{ percentile, value }] }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Evaluate one or more percentiles (0–100) of a numeric sample using linear interpolation between order statistics (the R-7 / Excel PERCENTILE.INC method). 50 is the median, 25/75 the quartiles.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Evaluate one or more percentiles (0–100) of a numeric sample using linear interpolation between order statistics (the R-7 / Excel PERCENTILE.INC method). 50 is the median, 25/75 the quartiles.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Evaluate one or more percentiles (0–100) of a numeric sample using linear interpolation between order statistics (the R-7 / Excel PERCENTILE.INC method). 50 is the median, 25/75 the quartiles.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/correlation":{"post":{"summary":"Pearson correlation","description":"Pearson correlation coefficient and covariance of two equal-length paired series. Rejected as a clean 400 if the lengths differ or either series has zero variance (correlation undefined). Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["pearson correlation","correlation coefficient","calculate covariance","paired series correlation","linear relationship stats","correlation api"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"x":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":100000,"description":"First series."},"y":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":100000,"description":"Second series (same length as x)."}},"required":["x","y"],"additionalProperties":false},"example":{"x":[1,2,3],"y":[2,4,6]}}}},"responses":{"200":{"description":"`{ n, pearson, covariance }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ n, pearson, covariance }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Pearson correlation coefficient and covariance of two equal-length paired series. Rejected as a clean 400 if the lengths differ or either series has zero variance (correlation undefined).","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Pearson correlation coefficient and covariance of two equal-length paired series. Rejected as a clean 400 if the lengths differ or either series has zero variance (correlation undefined).","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Pearson correlation coefficient and covariance of two equal-length paired series. Rejected as a clean 400 if the lengths differ or either series has zero variance (correlation undefined).","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/regression":{"post":{"summary":"Linear regression","description":"Ordinary-least-squares linear regression of y on x: slope, intercept, correlation r and coefficient of determination r². Pass predictAt to also evaluate the fitted line at a given x. Rejected as a clean 400 if lengths differ or x has zero variance. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["linear regression","ordinary least squares","fit regression line","predict from regression","slope and intercept","regression api"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"x":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":100000,"description":"Independent variable."},"y":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":100000,"description":"Dependent variable (same length as x)."},"predictAt":{"type":"number","description":"Optional x at which to evaluate the fitted line."}},"required":["x","y"],"additionalProperties":false},"example":{"x":[1,2,3],"y":[2,4,6],"predictAt":4}}}},"responses":{"200":{"description":"`{ slope, intercept, r, r2, predict }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ slope, intercept, r, r2, predict }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Ordinary-least-squares linear regression of y on x: slope, intercept, correlation r and coefficient of determination r². Pass predictAt to also evaluate the fitted line at a given x. Rejected as a clean 400 if lengths differ or x has zero variance.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Ordinary-least-squares linear regression of y on x: slope, intercept, correlation r and coefficient of determination r². Pass predictAt to also evaluate the fitted line at a given x. Rejected as a clean 400 if lengths differ or x has zero variance.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Ordinary-least-squares linear regression of y on x: slope, intercept, correlation r and coefficient of determination r². Pass predictAt to also evaluate the fitted line at a given x. Rejected as a clean 400 if lengths differ or x has zero variance.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}}},"x-service-info":{"categories":["compute"],"docs":{"homepage":"https://stats.openverbs.com","apiReference":"https://stats.openverbs.com/openapi.json"}}}