{"openapi":"3.1.0","info":{"title":"Cheap Utilities","version":"1.0.0","description":"Tiny deterministic helpers for AI agents, computed locally with no upstream dependency: JSON repair and diff, cron explainer, semver compare, hashes, color contrast, URL normalizer, email syntax check, IP classifier, timestamp converter, UUID inspector, text statistics. One call, one answer, no accounts or API keys. Machine-payable over x402.","x-guidance":"Cheap Utilities does small exact jobs an agent should not spend model tokens on. Each paid GET computes the answer locally and returns a verdict (such as REPAIRED, VALID_URL or AA_PASS) with the reasons and what was NOT checked. Inputs travel in the query string, so keep them short (a few thousand characters at most) and never send secrets, tokens or personal data: nothing is stored, but a query string is not a safe place for secrets. Results are deterministic for the same input, except time-relative fields. These are checks of form, not of truth: a valid email syntax does not mean the mailbox exists. No account or key: pay per call in USDC over x402."},"servers":[{"url":"https://cheap-utilities.x402tookit.com"}],"paths":{"/color-contrast":{"get":{"operationId":"color_contrast","summary":"WCAG contrast ratio between two hex colors with AA and AAA pass/fail for normal and large text.","description":"WCAG contrast ratio between two hex colors with AA and AAA pass/fail for normal and large text.","tags":["accessibility","wcag","color"],"parameters":[{"name":"fg","in":"query","required":true,"description":"Text color hex, e.g. 1a2b3c or #fff","schema":{"type":"string"}},{"name":"bg","in":"query","required":true,"description":"Background color hex","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"ratio":{"type":["null","number"]},"normalText":{"type":["null","object"],"properties":{"AA":{"type":["boolean","null"]},"AAA":{"type":["boolean","null"]}}},"largeText":{"type":["null","object"],"properties":{"AA":{"type":["boolean","null"]},"AAA":{"type":["boolean","null"]}}},"uiComponents3to1":{"type":["boolean","null"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"AA_PASS","summary":"Contrast ratio 4.54:1 (aa pass).","reasons":["Passes AA for normal text; AAA needs 7:1."],"ratio":4.54,"normalText":{"AA":true,"AAA":false},"largeText":{"AA":true,"AAA":true},"uiComponents3to1":true,"degraded":false,"notChecked":["color blindness simulation","non-text contrast of icons and borders (needs 3:1, shown in the data)","…1 more"],"source":"computed locally","asOf":"2026-10-11T01:25:49.909Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/color-contrast"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/color-contrast"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/color-contrast"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/color-contrast"}}]}}},"/cron-explain":{"get":{"operationId":"cron_explain","summary":"Explain a 5-field cron expression in plain English and list the next 5 run times in UTC.","description":"Explain a 5-field cron expression in plain English and list the next 5 run times in UTC.","tags":["cron","scheduling","developer-tools"],"parameters":[{"name":"expr","in":"query","required":true,"description":"Cron expression: minute hour day-of-month month day-of-week","schema":{"type":"string"}},{"name":"from","in":"query","required":false,"description":"ISO time to count from, default now","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"]},"expression":{"type":["null","string"]},"english":{"type":["null","string"]},"nextRunsUtc":{"type":["array","null"],"items":{"type":"string"}},"countedFrom":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"VALID_CRON","summary":"Runs at minute 0, 15, 30, 45 of hour 9, 10, 11, 12, 13, 14, 15, 16, 17 on MON, TUE, WED, THU, FRI.","reasons":[],"expression":"*/15 9-17 * * MON-FRI","english":"at minute 0, 15, 30, 45 of hour 9, 10, 11, 12, 13, 14, 15, 16, 17 on MON, TUE, WED, THU, FRI","nextRunsUtc":["2026-01-05T09:00:00.000Z","2026-01-05T09:15:00.000Z","…3 more"],"countedFrom":"2026-01-05T08:00:00.000Z","degraded":false,"notChecked":["time zones other than UTC","non-standard syntax (L, W, #, ?, @reboot)","…1 more"],"source":"computed locally","asOf":"2026-10-11T01:25:50.166Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/cron-explain"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/cron-explain"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/cron-explain"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/cron-explain"}}]}}},"/email-syntax":{"get":{"operationId":"email_syntax","summary":"Check email address syntax, role accounts (info@, admin@) and known throwaway domains. No DNS lookup, nothing sent.","description":"Check email address syntax, role accounts (info@, admin@) and known throwaway domains. No DNS lookup, nothing sent.","tags":["email","validation","syntax"],"parameters":[{"name":"email","in":"query","required":true,"description":"Email address to check","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"normalized":{"type":["null","string"]},"local":{"type":["null","string"]},"domain":{"type":["null","string"]},"roleAccount":{"type":["boolean","null"]},"disposableDomain":{"type":["boolean","null"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"ROLE_ACCOUNT","summary":"Support@example.com is role account.","reasons":["A shared role mailbox, not a person: replies and consent may behave differently."],"normalized":"Support@example.com","local":"Support","domain":"example.com","roleAccount":true,"disposableDomain":false,"degraded":false,"notChecked":["whether the mailbox or domain exists (no DNS or SMTP check)","deliverability","…2 more"],"source":"computed locally","asOf":"2026-10-11T01:25:50.431Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/email-syntax"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/email-syntax"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/email-syntax"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/email-syntax"}}]}}},"/hash-text":{"get":{"operationId":"hash_text","summary":"SHA-256, SHA-1, SHA-512 and MD5 digests of a short text in hex and base64, with byte length and base64 encoding.","description":"SHA-256, SHA-1, SHA-512 and MD5 digests of a short text in hex and base64, with byte length and base64 encoding.","tags":["hash","sha256","encoding"],"parameters":[{"name":"text","in":"query","required":true,"description":"Text to hash (up to 2000 characters, UTF-8)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"bytes":{"type":["null","number"]},"sha256":{"type":["null","object"],"properties":{"hex":{"type":["null","string"]},"base64":{"type":["null","string"]}}},"sha512":{"type":["null","object"],"properties":{"hex":{"type":["null","string"]}}},"sha1":{"type":["null","object"],"properties":{"hex":{"type":["null","string"]}}},"md5":{"type":["null","object"],"properties":{"hex":{"type":["null","string"]}}},"textBase64":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"Digests of 11 bytes of UTF-8 text.","reasons":["MD5 and SHA-1 are broken for security use; they are provided for checksums and compatibility only."],"bytes":11,"sha256":{"hex":"b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9","base64":"uU0nuZNNPgilLlLX2n2r+sSE7+N6U4DukIj3rOLvzek="},"sha512":{"hex":"309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f"},"sha1":{"hex":"2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"},"md5":{"hex":"5eb63bbbe01eeed093cb22bb8f5acdc3"},"textBase64":"aGVsbG8gd29ybGQ=","degraded":false,"notChecked":["password hashing (use a slow salted hash, not these)","text with a trailing newline or other whitespace changes (the text is used exactly as received after trimming)"],"source":"computed locally","asOf":"2026-10-11T01:25:50.695Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/hash-text"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/hash-text"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/hash-text"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/hash-text"}}]}}},"/ip-classify":{"get":{"operationId":"ip_classify","summary":"Classify an IPv4 or IPv6 address: public, private, loopback, link-local, CGNAT or reserved, plus reverse-DNS name.","description":"Classify an IPv4 or IPv6 address: public, private, loopback, link-local, CGNAT or reserved, plus reverse-DNS name.","tags":["ip","network","validation"],"parameters":[{"name":"ip","in":"query","required":true,"description":"IPv4 or IPv6 address","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"version":{"type":["null","number"]},"category":{"type":["null","string"]},"publiclyRoutable":{"type":["boolean","null"]},"reversePointer":{"type":["null","string"]},"integer":{"type":["null","number"]},"expanded":{},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"PRIVATE","summary":"192.168.1.20 is IPv4, private.","reasons":["Not a public internet address: do not expect it to be reachable from outside, and never fetch it on behalf of a stranger."],"version":4,"category":"PRIVATE","publiclyRoutable":false,"reversePointer":"20.1.168.192.in-addr.arpa","integer":3232235796,"expanded":null,"degraded":false,"notChecked":["who owns the address or where it is","whether it is reachable or on a blocklist","…1 more"],"source":"computed locally","asOf":"2026-10-11T01:25:50.955Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/ip-classify"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/ip-classify"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/ip-classify"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/ip-classify"}}]}}},"/json-diff":{"get":{"operationId":"json_diff","summary":"Structural diff of two JSON documents: added, removed, changed and type-changed paths, arrays compared by index.","description":"Structural diff of two JSON documents: added, removed, changed and type-changed paths, arrays compared by index.","tags":["json","diff","developer-tools"],"parameters":[{"name":"a","in":"query","required":true,"description":"First JSON document (up to 3000 characters)","schema":{"type":"string"}},{"name":"b","in":"query","required":true,"description":"Second JSON document","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"]},"differences":{"type":["null","number"]},"changes":{"type":["array","null"],"items":{"type":"object","properties":{"path":{"type":["null","string"]},"change":{"type":["null","string"]},"from":{"type":["null","number"]},"to":{"type":["null","number"]}}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"DIFFERENT","summary":"3 difference(s) found.","reasons":[],"differences":3,"changes":[{"path":".x","change":"changed","from":1,"to":2},{"path":".y[2]","change":"added","to":3}],"degraded":false,"notChecked":["semantic equality (arrays are compared by position, not as sets)","key order"],"source":"computed locally","asOf":"2026-10-11T01:25:51.215Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/json-diff"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/json-diff"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/json-diff"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/json-diff"}}]}}},"/json-repair":{"get":{"operationId":"json_repair","summary":"Repair broken JSON: trailing commas, single quotes, bare keys, comments, Python None/True, missing brackets. Returns parsed.","description":"Repair broken JSON: trailing commas, single quotes, bare keys, comments, Python None/True, missing brackets. Returns parsed.","tags":["json","repair","developer-tools"],"parameters":[{"name":"text","in":"query","required":true,"description":"The broken JSON text (up to 4000 characters)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"repairs":{"type":["array","null"],"items":{"type":"string"}},"repairedText":{"type":["null","string"]},"parsed":{"type":["null","object"],"properties":{"name":{"type":["null","string"]},"tags":{"type":["array","null"],"items":{"type":"string"}},"active":{"type":["boolean","null"]},"note":{}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"REPAIRED","summary":"Repaired with 5 fix type(s): quoted bare object keys; converted single-quoted strings to double quotes; removed trailing commas; replaced True with true; replaced None with null.","reasons":["quoted bare object keys","converted single-quoted strings to double quotes","…3 more"],"repairs":["quoted bare object keys","converted single-quoted strings to double quotes","…3 more"],"repairedText":"{\"name\": \"Ada\", \"tags\": [\"a\", \"b\"], \"active\": true, \"note\": null}","parsed":{"name":"Ada","tags":["a","b"],"active":true,"note":null},"degraded":false,"notChecked":["whether the repaired data means what the author intended","missing commas between values","…1 more"],"source":"computed locally","asOf":"2026-10-11T01:25:51.476Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/json-repair"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/json-repair"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/json-repair"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/json-repair"}}]}}},"/semver-compare":{"get":{"operationId":"semver_compare","summary":"Compare two semver versions by precedence and test whether a version satisfies a range like ^1.2.0 or >=2 <3.","description":"Compare two semver versions by precedence and test whether a version satisfies a range like ^1.2.0 or >=2 <3.","tags":["semver","versions","developer-tools"],"parameters":[{"name":"a","in":"query","required":true,"description":"Version, e.g. 1.4.2 or 2.0.0-beta.1","schema":{"type":"string"}},{"name":"b","in":"query","required":false,"description":"Second version to compare with","schema":{"type":"string"}},{"name":"range","in":"query","required":false,"description":"Range to test a against, e.g. ^1.2.0 || >=3","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"a":{"type":["null","string"]},"comparison":{"type":["null","string"]},"order":{"type":["null","number"]},"majorDifference":{"type":["boolean","null"]},"range":{"type":["null","string"]},"satisfiesRange":{"type":["boolean","null"]},"parsed":{"type":["null","object"],"properties":{"major":{"type":["null","number"]},"minor":{"type":["null","number"]},"patch":{"type":["null","number"]},"prerelease":{}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"A_OLDER","summary":"a is older than b; 1.4.2 satisfies ^1.2.0","reasons":["a is older than b","1.4.2 satisfies ^1.2.0"],"a":"1.4.2","comparison":"a is older than b","order":-1,"majorDifference":false,"range":"^1.2.0","satisfiesRange":true,"parsed":{"major":1,"minor":4,"patch":2,"prerelease":null},"degraded":false,"notChecked":["whether a package with this version exists","npm-specific prerelease range quirks beyond the basics"],"source":"computed locally","asOf":"2026-10-11T01:25:51.727Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/semver-compare"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/semver-compare"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/semver-compare"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/semver-compare"}}]}}},"/text-stats":{"get":{"operationId":"text_stats","summary":"Text statistics for English: words, sentences, reading time and Flesch reading ease with a difficulty verdict.","description":"Text statistics for English: words, sentences, reading time and Flesch reading ease with a difficulty verdict.","tags":["text","readability","statistics"],"parameters":[{"name":"text","in":"query","required":true,"description":"English text (up to 3000 characters)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"]},"words":{"type":["null","number"]},"sentences":{"type":["null","number"]},"characters":{"type":["null","number"]},"uniqueWordRatio":{"type":["null","number"]},"averageWordLength":{"type":["null","number"]},"readingTimeSeconds":{"type":["null","number"]},"fleschReadingEase":{"type":["null","number"]},"fleschKincaidGrade":{"type":["null","number"]},"longestWord":{"type":["null","string"]},"topWords":{"type":["array","null"],"items":{"type":"object","properties":{"word":{"type":["null","string"]},"count":{"type":["null","number"]}}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"VERY_EASY","summary":"23 words, 2 sentence(s); Flesch reading ease 92.2 (very easy), about grade 3.3.","reasons":[],"words":23,"sentences":2,"characters":118,"uniqueWordRatio":0.913,"averageWordLength":4.04,"readingTimeSeconds":6,"fleschReadingEase":92.2,"fleschKincaidGrade":3.3,"longestWord":"striking","topWords":[{"word":"quick","count":1},{"word":"brown","count":1}],"degraded":false,"notChecked":["languages other than English (the readability formula is English-only)","meaning, tone or correctness","…1 more"],"source":"computed locally","asOf":"2026-10-11T01:25:51.991Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/text-stats"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/text-stats"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/text-stats"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/text-stats"}}]}}},"/timestamp-convert":{"get":{"operationId":"timestamp_convert","summary":"Convert a unix timestamp or ISO time to ISO, local time in any IANA zone, weekday, ISO week and relative time.","description":"Convert a unix timestamp or ISO time to ISO, local time in any IANA zone, weekday, ISO week and relative time.","tags":["time","timestamp","timezone"],"parameters":[{"name":"value","in":"query","required":true,"description":"Unix seconds, unix milliseconds or ISO time","schema":{"type":"string"}},{"name":"tz","in":"query","required":false,"description":"IANA time zone, e.g. America/New_York; default UTC","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"iso":{"type":["null","string"]},"unixSeconds":{"type":["null","number"]},"unixMilliseconds":{"type":["null","number"]},"timeZone":{"type":["null","string"]},"local":{"type":["null","string"]},"weekday":{"type":["null","string"]},"isoWeek":{"type":["null","string"]},"dayOfYearUtc":{"type":["null","number"]},"relative":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"CONVERTED","summary":"2025-10-09T08:53:20.000Z (12 months ago); Thursday, October 9, 2025 at 4:53:20 AM EDT.","reasons":["Input read as unix seconds."],"iso":"2025-10-09T08:53:20.000Z","unixSeconds":1760000000,"unixMilliseconds":1760000000000,"timeZone":"America/New_York","local":"Thursday, October 9, 2025 at 4:53:20 AM EDT","weekday":"Thursday","isoWeek":"2025-W41","dayOfYearUtc":282,"relative":"12 months ago","degraded":false,"notChecked":["historical time-zone rule changes before the runtime's tz database","leap seconds"],"source":"computed locally","asOf":"2026-10-11T01:25:52.266Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/timestamp-convert"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/timestamp-convert"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/timestamp-convert"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/timestamp-convert"}}]}}},"/url-normalize":{"get":{"operationId":"url_normalize","summary":"Normalize a URL: lowercase host, default port and fragment removed, sorted query, tracking parameters stripped.","description":"Normalize a URL: lowercase host, default port and fragment removed, sorted query, tracking parameters stripped.","tags":["url","normalize","dedupe"],"parameters":[{"name":"url","in":"query","required":true,"description":"URL to normalize (not fetched)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"]},"normalized":{"type":["null","string"]},"scheme":{"type":["null","string"]},"host":{"type":["null","string"]},"port":{},"path":{"type":["null","string"]},"query":{"type":["array","null"],"items":{"type":"object","properties":{"key":{"type":["null","string"]},"value":{"type":["null","string"]}}}},"strippedParameters":{"type":["array","null"],"items":{"type":"string"}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"TRACKING_STRIPPED","summary":"Stripped 1 tracking parameter(s): utm_source.","reasons":[],"normalized":"https://example.com/a/c?a=1&b=2","scheme":"https","host":"example.com","port":null,"path":"/a/c","query":[{"key":"a","value":"1"},{"key":"b","value":"2"}],"strippedParameters":["utm_source"],"degraded":false,"notChecked":["whether the URL resolves or is safe","redirects","…1 more"],"source":"computed locally","asOf":"2026-10-11T01:25:52.518Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/url-normalize"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/url-normalize"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/url-normalize"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/url-normalize"}}]}}},"/uuid-inspect":{"get":{"operationId":"uuid_inspect","summary":"Inspect a UUID: valid or not, version (1-8), variant, and the embedded timestamp for v1, v6 and v7 UUIDs.","description":"Inspect a UUID: valid or not, version (1-8), variant, and the embedded timestamp for v1, v6 and v7 UUIDs.","tags":["uuid","validation","developer-tools"],"parameters":[{"name":"uuid","in":"query","required":true,"description":"UUID with or without braces and hyphens","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"]},"canonical":{"type":["null","string"]},"version":{"type":["null","number"]},"variant":{"type":["null","string"]},"timestamp":{"type":["null","string"]},"random":{"type":["boolean","null"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"VALID_V7","summary":"018f4c2e-7b3a-7cde-8a12-3f4b5c6d7e8f: version 7, variant RFC 4122/9562, timestamp 2024-05-06T04:34:25.722Z.","reasons":[],"canonical":"018f4c2e-7b3a-7cde-8a12-3f4b5c6d7e8f","version":7,"variant":"RFC 4122/9562","timestamp":"2024-05-06T04:34:25.722Z","random":false,"degraded":false,"notChecked":["whether the UUID is unique or was ever issued","randomness quality"],"source":"computed locally","asOf":"2026-10-11T01:25:52.779Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/uuid-inspect"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/uuid-inspect"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/uuid-inspect"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://cheap-utilities.x402tookit.com/uuid-inspect"}}]}}}}}