{"name":"The Hustle Stack","description":"17 pay-per-call REST APIs built for AI agents and autonomous systems — no signup, no API key, no subscription. Pay $0.01 USDC per request via the x402 protocol (HTTP 402) on Base; access is granted the instant payment settles, typically under 3 seconds. Covers email/URL validation, base64/URL encoding, SHA-256/MD5 hashing, secure password/UUID/slug generation, realistic fake name/address/phone data, and live weather, currency exchange rate, and cryptocurrency price data.","keywords":["x402","agent payments","pay-per-call API","no-auth API","micropayments","email validation API","URL validation API","base64 encode","base64 decode","SHA-256 hash","MD5 hash","password generator API","UUID generator","slug generator","fake data generator","weather API","currency exchange rate API","crypto price API","USDC","Base network"],"categories":["coding","identity","finance","data","math","science"],"pricing":{"amount":"$0.01","currency":"USDC","network":"Base","protocol":"x402"},"authRequired":false,"resources":[{"method":"POST","path":"/isEmail","price":"$0.01","description":"Email validation API. Checks whether a string is a syntactically valid email address using the same production-grade validation library trusted across the Node.js ecosystem, catching edge cases a quick regex misses. Returns true or false. Returns 400 if value is missing.","inputSchema":{"type":"object","properties":{"value":{"type":"string","description":"The string to validate as an email address."}},"required":["value"]},"output":{"example":{"ok":true,"data":{"input":"a@b.com","result":true}}}},{"method":"POST","path":"/isURL","price":"$0.01","description":"URL validation API. Checks whether a string is a syntactically valid URL, catching malformed schemes, hosts, and encoding edge cases a naive check misses. Returns true or false. Returns 400 if value is missing.","inputSchema":{"type":"object","properties":{"value":{"type":"string","description":"The string to validate as a URL."}},"required":["value"]},"output":{"example":{"ok":true,"data":{"input":"https://example.com","result":true}}}},{"method":"POST","path":"/base64Encode","price":"$0.01","description":"Base64 encoder API. Encodes UTF-8 text to base64 instantly and correctly — skip burning agent tokens hand-computing base64, which LLMs frequently get wrong on padding and edge cases. Returns 400 if text is missing or not a string.","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"The plain text to encode."}},"required":["text"]},"output":{"example":{"ok":true,"data":{"input":"hello","result":"aGVsbG8="}}}},{"method":"POST","path":"/base64Decode","price":"$0.01","description":"Base64 decoder API. Decodes a base64 string back to UTF-8 text instantly and correctly, avoiding the padding and charset errors LLMs make when decoding base64 by hand. Returns 400 if text is missing, not a string, or not valid base64.","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"The base64-encoded string to decode."}},"required":["text"]},"output":{"example":{"ok":true,"data":{"input":"aGVsbG8=","result":"hello"}}}},{"method":"POST","path":"/hashSHA256","price":"$0.01","description":"SHA-256 hash generator API. Computes the SHA-256 hex digest of any text. Deterministic and instant — an LLM cannot reliably compute real cryptographic hashes on its own. Returns 400 if text is missing or not a string.","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"The text to hash."}},"required":["text"]},"output":{"example":{"ok":true,"data":{"input":"hello","result":"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"}}}},{"method":"POST","path":"/hashMD5","price":"$0.01","description":"MD5 hash generator API. Computes the MD5 hex digest of any text. Deterministic and instant — an LLM cannot reliably compute real cryptographic hashes on its own. Returns 400 if text is missing or not a string.","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"The text to hash."}},"required":["text"]},"output":{"example":{"ok":true,"data":{"input":"hello","result":"5d41402abc4b2a76b9719d911017c592"}}}},{"method":"POST","path":"/urlEncode","price":"$0.01","description":"URL encoder API. Percent-encodes text for safe use in a URL query string or path segment, handling reserved-character rules LLMs often get wrong by hand. Returns 400 if text is missing or not a string.","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"The text to URL-encode."}},"required":["text"]},"output":{"example":{"ok":true,"data":{"input":"hello world","result":"hello%20world"}}}},{"method":"POST","path":"/urlDecode","price":"$0.01","description":"URL decoder API. Decodes percent-encoded URL text back to plain text. Returns 400 if text is missing, not a string, or malformed percent-encoding.","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"The percent-encoded text to decode."}},"required":["text"]},"output":{"example":{"ok":true,"data":{"input":"hello%20world","result":"hello world"}}}},{"method":"POST","path":"/generatePassword","price":"$0.01","description":"Secure password generator API. Generates a cryptographically random password — true randomness an LLM cannot produce on its own. Accepts optional length (8-128), per-character-class toggles (uppercase/lowercase/numbers/symbols) with guaranteed inclusion, and a pronounceable easy-to-say mode. Returns 400 if constraints can't be satisfied.","inputSchema":{"type":"object","properties":{"length":{"type":"integer","minimum":8,"maximum":128,"default":16,"description":"Desired password length. Defaults to 16."},"includeUppercase":{"type":"boolean","default":true,"description":"Include uppercase letters. Defaults to true."},"includeLowercase":{"type":"boolean","default":true,"description":"Include lowercase letters. Defaults to true."},"includeNumbers":{"type":"boolean","default":true,"description":"Include digits. Defaults to true."},"includeSymbols":{"type":"boolean","default":true,"description":"Include symbols. Defaults to true."},"pronounceable":{"type":"boolean","default":false,"description":"Generate an easy-to-say alternating consonant/vowel password instead. Defaults to false."}},"required":[]},"output":{"example":{"ok":true,"data":{"length":16,"pronounceable":false,"result":"aB3!xQ9zR7@kLp2M"}}}},{"method":"POST","path":"/generateUUID","price":"$0.01","description":"UUID generator API. Generates a random RFC 4122 version 4 UUID using a cryptographically secure source — not the pseudo-random, collision-prone IDs an LLM would invent. No input required.","inputSchema":{"type":"object","properties":{},"required":[]},"output":{"example":{"ok":true,"data":{"result":"3f2504e0-4f89-4a1e-9c3d-6d1e2f8a9b7c"}}}},{"method":"POST","path":"/generateSlug","price":"$0.01","description":"Slug generator API. Converts any text into a clean, URL-safe slug (lowercase, hyphen-separated, unicode-aware), handling punctuation and accented-character edge cases a naive regex misses. Returns 400 if text is missing or empty.","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"The text to slugify."}},"required":["text"]},"output":{"example":{"ok":true,"data":{"input":"Hello World","result":"hello-world"}}}},{"method":"POST","path":"/generateFakeName","price":"$0.01","description":"Fake name generator API. Generates a realistic fake full name for testing, seeding databases, or demos, with optional locale (default en_US) and sex constraint. Returns 400 for an unsupported locale or invalid sex value.","inputSchema":{"type":"object","properties":{"locale":{"type":"string","default":"en_US","description":"Locale code, e.g. \"en_US\", \"de\". Defaults to \"en_US\"."},"sex":{"type":"string","enum":["male","female"],"default":null,"description":"Constrain the generated name to a sex. Omit for unconstrained."}},"required":[]},"output":{"example":{"ok":true,"data":{"locale":"en_US","sex":null,"result":"Oswald Weber"}}}},{"method":"POST","path":"/generateFakeAddress","price":"$0.01","description":"Fake address generator API. Generates a realistic fake street address (street, city, state, zip, country) for testing, seeding databases, or demos, with optional locale (default en_US). Returns 400 for an unsupported locale.","inputSchema":{"type":"object","properties":{"locale":{"type":"string","default":"en_US","description":"Locale code, e.g. \"en_US\", \"de\". Defaults to \"en_US\"."}},"required":[]},"output":{"example":{"ok":true,"data":{"locale":"en_US","result":{"street":"766 Laverna Pine","city":"Edinburg","state":"Hawaii","zipCode":"27535-3272","country":"Vietnam"}}}}},{"method":"POST","path":"/generateFakePhoneNumber","price":"$0.01","description":"Fake phone number generator API. Generates a realistic fake phone number in the correct format for a given locale (default en_US), for testing, seeding databases, or demos. Returns 400 for an unsupported locale.","inputSchema":{"type":"object","properties":{"locale":{"type":"string","default":"en_US","description":"Locale code, e.g. \"en_US\", \"de\". Defaults to \"en_US\"."}},"required":[]},"output":{"example":{"ok":true,"data":{"locale":"en_US","result":"1-295-849-7734 x53025"}}}},{"method":"POST","path":"/getCurrencyRate","price":"$0.01","description":"Live currency exchange rate API. Returns the current exchange rate between any two ISO 4217 currency codes (e.g. USD to EUR) — live external data an LLM cannot know on its own. Returns 400 if from or to is missing.","inputSchema":{"type":"object","properties":{"from":{"type":"string","description":"Source currency code, e.g. \"USD\"."},"to":{"type":"string","description":"Target currency code, e.g. \"EUR\"."}},"required":["from","to"]},"output":{"example":{"ok":true,"data":{"input":{"from":"USD","to":"EUR"},"result":{"rate":0.92}}}}},{"method":"POST","path":"/getCurrentCryptoPrice","price":"$0.01","description":"Live cryptocurrency price API. Returns the current market price (in USD) of any cryptocurrency by ticker symbol (BTC, ETH, DOGE, etc.) — live market data an LLM cannot know on its own. Returns 400 if symbol is missing.","inputSchema":{"type":"object","properties":{"symbol":{"type":"string","description":"Cryptocurrency ticker symbol, e.g. \"BTC\"."}},"required":["symbol"]},"output":{"example":{"ok":true,"data":{"input":"BTC","result":{"symbol":"BTC","priceUSD":"65000.00"}}}}},{"method":"POST","path":"/getWeather","price":"$0.01","description":"Live weather API. Returns real-time weather conditions, temperature, feels-like temperature, humidity, wind speed, precipitation, and UV index for any city worldwide — live external data an LLM cannot know on its own. Supports metric/imperial units, 74 languages, and optional 3-day forecast and sun/moon astronomy data. Returns 400 if city is missing.","inputSchema":{"type":"object","properties":{"city":{"type":"string","description":"City name, e.g. \"san-francisco\" or \"london\"."},"units":{"type":"string","enum":["metric","imperial"],"default":"metric","description":"Unit system for temperature and wind speed. Defaults to \"metric\"."},"lang":{"type":"string","default":"en","description":"Language code for the weather conditions text, e.g. \"de\" or \"fr\". Passed through to the weather provider. Defaults to English."},"includeForecast":{"type":"boolean","default":false,"description":"Include a 3-day forecast (min/max/avg temp, UV index, sun hours per day). Defaults to false."},"includeAstronomy":{"type":"boolean","default":false,"description":"Include today's sunrise, sunset, moonrise, moonset, and moon phase. Defaults to false."}},"required":["city"]},"output":{"example":{"ok":true,"data":{"input":{"city":"san-francisco","units":"metric","lang":null,"includeForecast":false,"includeAstronomy":false},"result":{"city":"san-francisco","conditions":"Foggy","temperature":"15","feelsLike":"14","humidity":"80","windSpeed":"10","precipitationMM":"0.2","uvIndex":"3","units":"metric"}}}}},{"method":"POST","path":"/fireCalculator","price":"$0.01","description":"FIRE (Financial Independence, Retire Early) calculator. Projects year-by-year net worth growth from current savings and contributions to determine how many years until your portfolio can sustainably fund retirement spending at a given safe withdrawal rate — precise compound-growth simulation an LLM cannot reliably run mentally. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"currentAge":{"type":"number","description":"Your current age in years."},"currentAnnualIncome":{"type":"number","description":"Current annual take-home income."},"currentAnnualSpending":{"type":"number","description":"Current annual spending."},"retirementAnnualSpending":{"type":"number","description":"Expected annual spending in retirement."},"currentNetWorth":{"type":"number","description":"Current invested net worth."},"investmentReturnRate":{"type":"number","description":"Expected annual investment return, as a fraction (e.g. 0.07). Default 0.07."},"inflationRate":{"type":"number","description":"Expected annual inflation rate, as a fraction. Default 0.03."},"swr":{"type":"number","description":"Safe withdrawal rate, as a fraction. Default 0.04."},"incomeGrowthRate":{"type":"number","description":"Expected annual income growth rate, as a fraction. Default 0."},"employerMatchAnnual":{"type":"number","description":"Annual employer retirement-account match in dollars. Default 0."}},"required":["currentAge","currentAnnualIncome","currentAnnualSpending","retirementAnnualSpending","currentNetWorth"]},"output":{"example":{"ok":true,"data":{"fireNumber":1000000,"yearsToFI":18,"projectedAge":48,"netWorthTrajectory":[{"year":0,"netWorth":0}]}}}},{"method":"POST","path":"/coastFireCalculator","price":"$0.01","description":"Coast FIRE calculator. Computes the lump sum needed today, invested with zero further contributions, to grow into your full retirement number by your target retirement age — solving the compound-growth formula backward from a future target to a present value. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"currentAge":{"type":"number","description":"Your current age in years."},"retirementAge":{"type":"number","description":"Target traditional retirement age."},"currentNetWorth":{"type":"number","description":"Current invested net worth."},"retirementAnnualSpending":{"type":"number","description":"Expected annual spending in retirement."},"investmentReturnRate":{"type":"number","description":"Expected annual investment return, as a fraction. Default 0.07."},"inflationRate":{"type":"number","description":"Expected annual inflation rate, as a fraction. Default 0.03."},"swr":{"type":"number","description":"Safe withdrawal rate, as a fraction. Default 0.04."}},"required":["currentAge","retirementAge","currentNetWorth","retirementAnnualSpending"]},"output":{"example":{"ok":true,"data":{"fireNumberAtRetirement":1000000,"coastFireNumberToday":675564.17,"hasCoastFired":false,"surplusOrDeficit":-675564.17}}}},{"method":"POST","path":"/fatFireCalculator","price":"$0.01","description":"Fat FIRE calculator. Same year-by-year compound-growth simulation as the standard FIRE calculator, framed for a higher, more lifestyle-preserving retirement spending target. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"currentAge":{"type":"number","description":"Your current age in years."},"currentAnnualIncome":{"type":"number","description":"Current annual take-home income."},"currentAnnualSpending":{"type":"number","description":"Current annual spending."},"retirementAnnualSpending":{"type":"number","description":"Target (higher) annual spending in retirement."},"currentNetWorth":{"type":"number","description":"Current invested net worth."},"investmentReturnRate":{"type":"number","description":"Expected annual investment return, as a fraction. Default 0.07."},"inflationRate":{"type":"number","description":"Expected annual inflation rate, as a fraction. Default 0.03."},"swr":{"type":"number","description":"Safe withdrawal rate, as a fraction. Default 0.04."}},"required":["currentAge","currentAnnualIncome","currentAnnualSpending","retirementAnnualSpending","currentNetWorth"]},"output":{"example":{"ok":true,"data":{"fireNumber":5000000,"yearsToFI":25,"projectedAge":55,"netWorthTrajectory":[{"year":0,"netWorth":0}]}}}},{"method":"POST","path":"/baristaFireCalculator","price":"$0.01","description":"Barista FIRE calculator. Simulates net worth growth through a full-time-saving phase and then a reduced-target phase funded partly by part-time/side income after quitting full-time work, until full financial independence is reached. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"currentAge":{"type":"number","description":"Your current age in years."},"baristaAge":{"type":"number","description":"Age at which you switch to part-time/side income."},"currentAnnualIncome":{"type":"number","description":"Current full-time annual income."},"currentAnnualSpending":{"type":"number","description":"Current annual spending."},"baristaAnnualIncome":{"type":"number","description":"Expected part-time/side income after the barista transition."},"retirementAnnualSpending":{"type":"number","description":"Expected annual spending during the barista and retirement phases."},"currentNetWorth":{"type":"number","description":"Current invested net worth."},"investmentReturnRate":{"type":"number","description":"Expected annual investment return, as a fraction. Default 0.07."},"inflationRate":{"type":"number","description":"Expected annual inflation rate, as a fraction. Default 0.03."},"swr":{"type":"number","description":"Safe withdrawal rate, as a fraction. Default 0.04."}},"required":["currentAge","baristaAge","currentAnnualIncome","currentAnnualSpending","baristaAnnualIncome","retirementAnnualSpending","currentNetWorth"]},"output":{"example":{"ok":true,"data":{"fullFireNumber":375000,"netWorthAtBaristaAge":40000,"yearsToFullFI":69}}}},{"method":"POST","path":"/windfallFireImpactCalculator","price":"$0.01","description":"Windfall impact on FIRE timeline calculator. Runs the FIRE net-worth simulation twice — with and without a one-time lump sum added at a given year — and reports how many years the windfall shaves off your time to financial independence. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"currentAnnualIncome":{"type":"number","description":"Current annual take-home income."},"currentAnnualSpending":{"type":"number","description":"Current annual spending."},"retirementAnnualSpending":{"type":"number","description":"Expected annual spending in retirement."},"currentNetWorth":{"type":"number","description":"Current invested net worth."},"investmentReturnRate":{"type":"number","description":"Expected annual investment return, as a fraction. Default 0.07."},"inflationRate":{"type":"number","description":"Expected annual inflation rate, as a fraction. Default 0.03."},"swr":{"type":"number","description":"Safe withdrawal rate, as a fraction. Default 0.04."},"windfallAmount":{"type":"number","description":"One-time lump sum received."},"windfallYear":{"type":"number","description":"Number of years from now the windfall is received. Default 0."}},"required":["currentAnnualIncome","currentAnnualSpending","retirementAnnualSpending","currentNetWorth","windfallAmount"]},"output":{"example":{"ok":true,"data":{"fireNumber":1000000,"baselineYearsToFI":20,"withWindfallYearsToFI":17,"yearsSaved":3}}}},{"method":"POST","path":"/purchaseFireImpactCalculator","price":"$0.01","description":"Purchase impact on FIRE timeline calculator. Runs the FIRE net-worth simulation twice — with and without a one-time purchase amount deducted at a given year — and reports how many years that purchase delays financial independence, quantifying its true opportunity cost. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"currentAnnualIncome":{"type":"number","description":"Current annual take-home income."},"currentAnnualSpending":{"type":"number","description":"Current annual spending."},"retirementAnnualSpending":{"type":"number","description":"Expected annual spending in retirement."},"currentNetWorth":{"type":"number","description":"Current invested net worth."},"investmentReturnRate":{"type":"number","description":"Expected annual investment return, as a fraction. Default 0.07."},"inflationRate":{"type":"number","description":"Expected annual inflation rate, as a fraction. Default 0.03."},"swr":{"type":"number","description":"Safe withdrawal rate, as a fraction. Default 0.04."},"purchaseAmount":{"type":"number","description":"One-time purchase amount."},"purchaseYear":{"type":"number","description":"Number of years from now the purchase is made. Default 0."}},"required":["currentAnnualIncome","currentAnnualSpending","retirementAnnualSpending","currentNetWorth","purchaseAmount"]},"output":{"example":{"ok":true,"data":{"fireNumber":1000000,"baselineYearsToFI":20,"withPurchaseYearsToFI":21,"yearsDelayed":1}}}},{"method":"POST","path":"/loanPaymentCalculator","price":"$0.01","description":"Loan payment calculator. Computes the fixed monthly payment for a standard amortizing loan and returns the full month-by-month principal/interest/balance schedule — exact amortization math an LLM cannot reliably compute by hand for hundreds of periods. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"principal":{"type":"number","description":"Loan principal amount."},"annualRate":{"type":"number","description":"Annual interest rate, as a fraction (e.g. 0.06 for 6%)."},"termYears":{"type":"number","description":"Loan term in years (1-50)."}},"required":["principal","annualRate","termYears"]},"output":{"example":{"ok":true,"data":{"monthlyPayment":1199.1,"totalPaid":431677.3,"totalInterest":231677.3,"amortizationSchedule":[{"month":1,"principalPaid":199.1,"interestPaid":1000,"remainingBalance":199800.9}]}}}},{"method":"POST","path":"/mortgageComparisonCalculator","price":"$0.01","description":"15-year vs 30-year mortgage comparison calculator. Computes monthly payment and total interest for both loan terms on the same purchase price and down payment, and reports the payment and lifetime-interest tradeoff between them. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"purchasePrice":{"type":"number","description":"Home purchase price."},"downPaymentPercent":{"type":"number","description":"Down payment as a fraction of purchase price (0-1)."},"interestRate15":{"type":"number","description":"Annual interest rate for the 15-year loan, as a fraction."},"interestRate30":{"type":"number","description":"Annual interest rate for the 30-year loan, as a fraction."}},"required":["purchasePrice","downPaymentPercent","interestRate15","interestRate30"]},"output":{"example":{"ok":true,"data":{"fifteenYear":{"monthlyPayment":1687.71,"totalInterest":103787.66,"totalPaid":303787.66},"thirtyYear":{"monthlyPayment":1199.1,"totalInterest":231677.3,"totalPaid":431677.3},"monthlyPaymentDifference":488.61,"totalInterestSavings":127889.64}}}},{"method":"POST","path":"/compoundInterestCalculator","price":"$0.01","description":"Compound interest calculator. Projects the ending value of an investment given a starting principal, monthly contributions, and an annual interest rate, compounded monthly over a chosen number of years. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"initialInvestment":{"type":"number","description":"Starting principal."},"years":{"type":"number","description":"Number of years to project (1-100)."},"monthlyContribution":{"type":"number","description":"Recurring monthly contribution."},"annualInterestRate":{"type":"number","description":"Annual interest rate, as a fraction (e.g. 0.07)."}},"required":["initialInvestment","years","monthlyContribution","annualInterestRate"]},"output":{"example":{"ok":true,"data":{"endingValue":1126.83,"totalContributions":1000,"totalGrowth":126.83,"yearlyBalances":[1126.83]}}}},{"method":"POST","path":"/capRateCalculator","price":"$0.01","description":"Cap rate calculator for real estate investing. Computes net operating income (NOI) from rent, vacancy, management fees, and expenses, then divides by property value to produce the capitalization rate used to compare investment properties. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"propertyValue":{"type":"number","description":"Market value of the property."},"monthlyRent":{"type":"number","description":"Total monthly rent collected."},"vacancyRate":{"type":"number","description":"Expected vacancy rate, as a fraction (0-1)."},"propertyManagementFeeRate":{"type":"number","description":"Property management fee, as a fraction of effective rent (0-1)."},"annualPropertyTaxes":{"type":"number","description":"Annual property taxes."},"annualInsurance":{"type":"number","description":"Annual landlord insurance."},"monthlyHOA":{"type":"number","description":"Monthly HOA fee."},"annualMaintenance":{"type":"number","description":"Annual maintenance budget."},"otherAnnualExpenses":{"type":"number","description":"Other annual operating expenses."}},"required":["propertyValue","monthlyRent","vacancyRate","propertyManagementFeeRate","annualPropertyTaxes","annualInsurance","monthlyHOA","annualMaintenance","otherAnnualExpenses"]},"output":{"example":{"ok":true,"data":{"NOI":8384.8,"capRate":0.021}}}},{"method":"POST","path":"/cashOnCashReturnCalculator","price":"$0.01","description":"Cash-on-cash return calculator for real estate investing. Computes annual cash flow after debt service and divides it by total invested cash (down payment, closing costs, and rehab costs) to produce the cash-on-cash return percentage. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"monthlyRent":{"type":"number","description":"Total monthly rent collected."},"vacancyRate":{"type":"number","description":"Expected vacancy rate, as a fraction (0-1)."},"propertyManagementFeeRate":{"type":"number","description":"Property management fee, as a fraction of effective rent (0-1)."},"annualPropertyTaxes":{"type":"number","description":"Annual property taxes."},"annualInsurance":{"type":"number","description":"Annual landlord insurance."},"monthlyHOA":{"type":"number","description":"Monthly HOA fee."},"annualMaintenance":{"type":"number","description":"Annual maintenance budget."},"otherAnnualExpenses":{"type":"number","description":"Other annual operating expenses."},"downPayment":{"type":"number","description":"Down payment amount."},"closingCosts":{"type":"number","description":"Closing costs."},"rehabCosts":{"type":"number","description":"Upfront rehab/improvement costs."},"monthlyMortgagePayment":{"type":"number","description":"Monthly mortgage payment (principal + interest)."}},"required":["monthlyRent","vacancyRate","propertyManagementFeeRate","annualPropertyTaxes","annualInsurance","monthlyHOA","annualMaintenance","otherAnnualExpenses","downPayment","closingCosts","rehabCosts","monthlyMortgagePayment"]},"output":{"example":{"ok":true,"data":{"investedCash":48000,"annualCashFlow":12000,"cashOnCashReturn":0.25}}}},{"method":"POST","path":"/rentalPropertyCalculator","price":"$0.01","description":"Rental property investment calculator. Bundles mortgage payment, net operating income, cap rate, cash-on-cash return, and monthly cash flow for a rental property deal into a single analysis. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"purchasePrice":{"type":"number","description":"Property purchase price."},"downPaymentPercent":{"type":"number","description":"Down payment as a fraction of purchase price (0-1)."},"closingCosts":{"type":"number","description":"Closing costs."},"rehabCosts":{"type":"number","description":"Upfront rehab/improvement costs."},"interestRate":{"type":"number","description":"Annual mortgage interest rate, as a fraction."},"loanTermYears":{"type":"number","description":"Loan term in years (1-50)."},"monthlyRent":{"type":"number","description":"Total monthly rent collected."},"vacancyRate":{"type":"number","description":"Expected vacancy rate, as a fraction (0-1)."},"propertyManagementFeeRate":{"type":"number","description":"Property management fee, as a fraction of effective rent (0-1)."},"annualPropertyTaxes":{"type":"number","description":"Annual property taxes."},"annualInsurance":{"type":"number","description":"Annual landlord insurance."},"monthlyHOA":{"type":"number","description":"Monthly HOA fee."},"annualMaintenance":{"type":"number","description":"Annual maintenance budget."},"otherAnnualExpenses":{"type":"number","description":"Other annual operating expenses."}},"required":["purchasePrice","downPaymentPercent","closingCosts","rehabCosts","interestRate","loanTermYears","monthlyRent","vacancyRate","propertyManagementFeeRate","annualPropertyTaxes","annualInsurance","monthlyHOA","annualMaintenance","otherAnnualExpenses"]},"output":{"example":{"ok":true,"data":{"monthlyMortgagePayment":966.28,"NOI":8384.8,"capRate":0.021,"cashOnCashReturn":0.0287,"monthlyCashFlow":114.66}}}},{"method":"POST","path":"/houseHackingCalculator","price":"$0.01","description":"House hacking calculator. Nets rental income from other units/rooms against total housing costs (mortgage, taxes, insurance, HOA, maintenance) to compute your true effective monthly housing cost as a live-in landlord. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"purchasePrice":{"type":"number","description":"Property purchase price."},"downPaymentPercent":{"type":"number","description":"Down payment as a fraction of purchase price (0-1)."},"interestRate":{"type":"number","description":"Annual mortgage interest rate, as a fraction."},"loanTermYears":{"type":"number","description":"Loan term in years (1-50)."},"rentableUnits":{"type":"number","description":"Number of rentable units/rooms other than your own."},"rentPerUnit":{"type":"number","description":"Monthly rent charged per unit."},"vacancyRate":{"type":"number","description":"Expected vacancy rate, as a fraction (0-1)."},"annualPropertyTaxes":{"type":"number","description":"Annual property taxes."},"annualInsurance":{"type":"number","description":"Annual homeowner/landlord insurance."},"monthlyHOA":{"type":"number","description":"Monthly HOA fee."},"annualMaintenance":{"type":"number","description":"Annual maintenance budget."}},"required":["purchasePrice","downPaymentPercent","interestRate","loanTermYears","rentableUnits","rentPerUnit","vacancyRate","annualPropertyTaxes","annualInsurance","monthlyHOA","annualMaintenance"]},"output":{"example":{"ok":true,"data":{"monthlyMortgagePayment":966.28,"annualRentalIncome":24000,"netAnnualHousingCost":-12395.44,"netMonthlyHousingCost":-1032.95}}}},{"method":"POST","path":"/portfolioRebalancingCalculator","price":"$0.01","description":"Portfolio rebalancing calculator. Given current holdings and target allocation percentages, computes the dollar gap per asset and the monthly buy/sell inflow needed to reach the target allocation over a chosen rebalancing period. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"holdings":{"type":"array","description":"Array of holdings, each with name, currentAmount, and targetPercent (must sum to 1 across all holdings). Max 50 entries.","items":{"type":"object","properties":{"name":{"type":"string"},"currentAmount":{"type":"number"},"targetPercent":{"type":"number"}}}},"rebalancingPeriodMonths":{"type":"number","description":"Number of months to spread the rebalancing over. Default 1 (immediate lump-sum rebalance)."}},"required":["holdings"]},"output":{"example":{"ok":true,"data":{"totalValue":10000,"holdings":[{"name":"stocks","currentAmount":6000,"targetAmount":5000,"gap":-1000,"monthlyInflow":-1000}]}}}},{"method":"POST","path":"/savingsRateCalculator","price":"$0.01","description":"Savings rate calculator. Divides the gap between monthly take-home income and spending by income to produce your personal savings rate as a percentage. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"monthlyIncome":{"type":"number","description":"Monthly take-home income."},"monthlySpending":{"type":"number","description":"Monthly spending."}},"required":["monthlyIncome","monthlySpending"]},"output":{"example":{"ok":true,"data":{"savingsRate":0.2,"monthlySavingsAmount":1000}}}},{"method":"POST","path":"/emergencyFundCalculator","price":"$0.01","description":"Emergency fund calculator. Multiplies monthly essential expenses by a chosen runway length (in months) to compute a target emergency savings amount. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"monthlyExpenses":{"type":"number","description":"Monthly essential expenses."},"runwayMonths":{"type":"number","description":"Desired months of expense coverage. Default 6."}},"required":["monthlyExpenses"]},"output":{"example":{"ok":true,"data":{"targetAmount":18000}}}},{"method":"POST","path":"/keepingUpWithInflationCalculator","price":"$0.01","description":"Keeping up with inflation calculator. Computes the pre-tax raise needed under two scenarios — keeping the same dollar amount saved, or maintaining the same savings rate — after inflation raises your spending and a marginal tax rate reduces the raise itself. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"annualInflationRate":{"type":"number","description":"Personal annual inflation rate, as a fraction."},"marginalTaxRate":{"type":"number","description":"Marginal tax rate applied to additional income, as a fraction (0 to <1)."},"monthlyTakeHomePay":{"type":"number","description":"Current monthly take-home pay, before the raise."},"monthlySpending":{"type":"number","description":"Current monthly spending, before inflation."}},"required":["annualInflationRate","marginalTaxRate","monthlyTakeHomePay","monthlySpending"]},"output":{"example":{"ok":true,"data":{"keepDollarSavingsRaisePercent":0.075,"maintainSavingsRateRaisePercent":0.1}}}},{"method":"POST","path":"/hsaGrowthCalculator","price":"$0.01","description":"HSA (Health Savings Account) growth calculator. Projects year-by-year account balance from a starting value, annual contributions, annual expense withdrawals, and an annual return rate. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"startingValue":{"type":"number","description":"Current HSA balance."},"annualContribution":{"type":"number","description":"Total annual contribution, including any employer contribution."},"annualExpenses":{"type":"number","description":"Annual withdrawals for medical expenses."},"annualReturnRate":{"type":"number","description":"Expected annual investment return, as a fraction."},"years":{"type":"number","description":"Number of years to project (1-60)."}},"required":["startingValue","annualContribution","annualExpenses","annualReturnRate","years"]},"output":{"example":{"ok":true,"data":{"endingBalance":4000,"yearlyBalances":[2000,3000,4000]}}}},{"method":"POST","path":"/upworkFeeCalculator","price":"$0.01","description":"Upwork freelancer fee calculator. Applies a documented tiered marginal service-fee schedule (20%/10%/5% at $500/$10,000 cumulative per-client lifetime billing thresholds) to compute take-home pay on an invoice, correctly splitting fees across a tier boundary like a tax bracket. Platform fee policies can change; verify current rates before relying on this for financial decisions. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"invoiceAmount":{"type":"number","description":"Dollar value of the current invoice."},"priorLifetimeEarningsWithClient":{"type":"number","description":"Total prior billings with this client, not including the current invoice. Default 0."}},"required":["invoiceAmount"]},"output":{"example":{"ok":true,"data":{"feeAmount":40,"takeHomeAmount":260,"newLifetimeEarnings":700,"effectiveFeeRate":0.1333}}}},{"method":"POST","path":"/alcoholSavingsCalculator","price":"$0.01","description":"Alcohol spending and opportunity-cost calculator. Sums home and going-out drinking costs plus associated rideshare costs into monthly and yearly totals, then projects what that redirected spending could grow into if invested instead, using the future-value-of-an-annuity formula. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"homeDaysPerWeek":{"type":"number","description":"Days per week drinking at home."},"homeDrinksPerDay":{"type":"number","description":"Drinks per home-drinking day."},"homeCostPerDrink":{"type":"number","description":"Average cost per drink at home."},"outDaysPerWeek":{"type":"number","description":"Days per week drinking while out."},"outDrinksPerDay":{"type":"number","description":"Drinks per outing."},"outCostPerDrink":{"type":"number","description":"Average cost per drink when out."},"rideshareFrequencyPercent":{"type":"number","description":"Fraction of outings that involve a rideshare (0-1)."},"costPerRide":{"type":"number","description":"Average cost per one-way ride."},"investmentReturnRate":{"type":"number","description":"Annual investment return, as a fraction, used for the opportunity-cost projection."},"years":{"type":"number","description":"Number of years to project the opportunity cost over (1-60)."}},"required":["homeDaysPerWeek","homeDrinksPerDay","homeCostPerDrink","outDaysPerWeek","outDrinksPerDay","outCostPerDrink","rideshareFrequencyPercent","costPerRide","investmentReturnRate","years"]},"output":{"example":{"ok":true,"data":{"monthlySpending":156,"yearlySpending":1872,"opportunityCostFutureValue":9360}}}},{"method":"POST","path":"/gasMileageSavingsCalculator","price":"$0.01","description":"Gas mileage savings calculator. Compares annual fuel cost between two gas-powered vehicles based on miles driven, gas price, and each vehicle's MPG, and computes the break-even point for any price premium of the more efficient vehicle. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"milesPerYear":{"type":"number","description":"Expected annual miles driven."},"gasPricePerGallon":{"type":"number","description":"Local gas price per gallon."},"vehicleA":{"type":"object","properties":{"purchasePrice":{"type":"number","description":"Vehicle purchase price."},"mpg":{"type":"number","description":"Miles per gallon."}}},"vehicleB":{"type":"object","properties":{"purchasePrice":{"type":"number","description":"Vehicle purchase price."},"mpg":{"type":"number","description":"Miles per gallon."}}}},"required":["milesPerYear","gasPricePerGallon","vehicleA","vehicleB"]},"output":{"example":{"ok":true,"data":{"annualCostA":1800,"annualCostB":900,"annualSavings":900,"breakEvenYears":5.5556}}}},{"method":"POST","path":"/hybridVsGasSavingsCalculator","price":"$0.01","description":"Hybrid vs gas savings calculator. Compares annual fuel cost between a hybrid and a conventional gas vehicle based on miles driven, gas price, and each vehicle's MPG, and computes the break-even point for the hybrid's price premium. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"milesPerYear":{"type":"number","description":"Expected annual miles driven."},"gasPricePerGallon":{"type":"number","description":"Local gas price per gallon."},"vehicleA":{"type":"object","properties":{"purchasePrice":{"type":"number","description":"Vehicle purchase price."},"mpg":{"type":"number","description":"Miles per gallon."}}},"vehicleB":{"type":"object","properties":{"purchasePrice":{"type":"number","description":"Vehicle purchase price."},"mpg":{"type":"number","description":"Miles per gallon."}}}},"required":["milesPerYear","gasPricePerGallon","vehicleA","vehicleB"]},"output":{"example":{"ok":true,"data":{"annualCostA":1750,"annualCostB":875,"annualSavings":875,"breakEvenYears":4.5714}}}},{"method":"POST","path":"/electricCarSavingsCalculator","price":"$0.01","description":"Electric car savings calculator. Compares annual electricity cost against annual gas cost for a comparable gas vehicle, accounting for free-charging usage, and computes break-even years, cost per full charge, and gas-price-equivalent effective MPG. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"milesPerYear":{"type":"number","description":"Expected annual miles driven."},"gasPricePerGallon":{"type":"number","description":"Local gas price per gallon."},"gasVehicle":{"type":"object","properties":{"purchasePrice":{"type":"number"},"mpg":{"type":"number"}}},"electricVehicle":{"type":"object","properties":{"purchasePrice":{"type":"number"},"batteryCapacityKwh":{"type":"number"},"rangeMiles":{"type":"number"},"electricityRatePerKwh":{"type":"number"},"freeChargingPercent":{"type":"number","description":"Fraction of charging that is free (0-1)."}}}},"required":["milesPerYear","gasPricePerGallon","gasVehicle","electricVehicle"]},"output":{"example":{"ok":true,"data":{"annualElectricityCost":390,"annualGasCost":1400,"annualSavings":1010,"breakEvenYears":9.9,"costPerCharge":7.8,"effectiveMPG":107.69}}}},{"method":"POST","path":"/teslaSavingsCalculator","price":"$0.01","description":"Tesla savings calculator. Compares annual electricity cost for a Tesla against annual gas cost for a comparable gas vehicle, accounting for free-charging usage, and computes break-even years, cost per full charge, and gas-price-equivalent effective MPG. Returns 400 for invalid or out-of-range inputs.","inputSchema":{"type":"object","properties":{"milesPerYear":{"type":"number","description":"Expected annual miles driven."},"gasPricePerGallon":{"type":"number","description":"Local gas price per gallon."},"gasVehicle":{"type":"object","properties":{"purchasePrice":{"type":"number"},"mpg":{"type":"number"}}},"electricVehicle":{"type":"object","properties":{"purchasePrice":{"type":"number"},"batteryCapacityKwh":{"type":"number"},"rangeMiles":{"type":"number"},"electricityRatePerKwh":{"type":"number"},"freeChargingPercent":{"type":"number","description":"Fraction of charging that is free (0-1)."}}}},"required":["milesPerYear","gasPricePerGallon","gasVehicle","electricVehicle"]},"output":{"example":{"ok":true,"data":{"annualElectricityCost":450,"annualGasCost":2035.71,"annualSavings":1585.71,"breakEvenYears":8.83,"costPerCharge":9,"effectiveMPG":126.67}}}},{"method":"POST","path":"/evaluateExpression","price":"$0.01","description":"Safe arithmetic expression evaluator. Parses and evaluates expressions with +, -, *, /, ^, and parentheses using a bounded-recursion parser (no eval/Function), avoiding the arithmetic slips an LLM makes on long expressions. Returns 400 for invalid, oversized, or division-by-zero expressions.","inputSchema":{"type":"object","properties":{"expression":{"type":"string","description":"Arithmetic expression to evaluate, e.g. \"(2 + 3) * 4\". Max 200 characters."}},"required":["expression"]},"output":{"example":{"ok":true,"data":{"expression":"(2 + 3) * 4","result":20}}}},{"method":"POST","path":"/bigNumberArithmetic","price":"$0.01","description":"Arbitrary-precision integer arithmetic (add, subtract, multiply, power) beyond IEEE-754 float precision, using native BigInt. Operands are passed as digit strings so precision is never lost in transit. Returns 400 for invalid, oversized, or out-of-range inputs.","inputSchema":{"type":"object","properties":{"a":{"type":"string","description":"First operand, as a string of digits (optionally negative). Max 1000 digits."},"b":{"type":"string","description":"Second operand (or exponent for power), as a string of digits. Max 1000 digits (max 1000 for exponent on power)."},"operation":{"type":"string","enum":["add","subtract","multiply","power"],"description":"Operation to perform."}},"required":["a","b","operation"]},"output":{"example":{"ok":true,"data":{"result":"1024"}}}},{"method":"POST","path":"/matrixOperations","price":"$0.01","description":"Matrix operations: multiply, transpose, determinant, and invert, for matrices up to 20x20. Uses Gaussian-elimination determinant and adjugate-based inversion. Returns 400 for invalid, non-rectangular, singular, or oversized matrices.","inputSchema":{"type":"object","properties":{"operation":{"type":"string","enum":["multiply","transpose","determinant","invert"],"description":"Operation to perform."},"matrixA":{"type":"array","description":"A 2D array of numbers, up to 20x20."},"matrixB":{"type":"array","description":"A 2D array of numbers, required only for multiply."}},"required":["operation","matrixA"]},"output":{"example":{"ok":true,"data":{"result":[[19,22],[43,50]]}}}},{"method":"POST","path":"/unitConvert","price":"$0.01","description":"Unit conversion for length, mass, volume, and temperature using exact conversion factors (temperature uses the correct affine formulas, not simple multiplication). Returns 400 for unsupported units or categories.","inputSchema":{"type":"object","properties":{"value":{"type":"number","description":"The numeric value to convert."},"from":{"type":"string","description":"Source unit, e.g. \"m\", \"kg\", \"gal\", \"C\"."},"to":{"type":"string","description":"Target unit."},"category":{"type":"string","enum":["length","mass","volume","temperature"],"description":"Unit category."}},"required":["value","from","to","category"]},"output":{"example":{"ok":true,"data":{"value":1000,"from":"m","to":"km","category":"length","result":1}}}},{"method":"POST","path":"/solveLinearEquation","price":"$0.01","description":"Solves a system of linear equations using Gaussian elimination with partial pivoting, for systems up to 20x20. Returns 400 for malformed, mismatched-size, oversized, or non-unique-solution systems.","inputSchema":{"type":"object","properties":{"coefficients":{"type":"array","description":"Square 2D array of coefficients (n x n), up to 20x20."},"constants":{"type":"array","description":"Array of n constants (the right-hand side of each equation)."}},"required":["coefficients","constants"]},"output":{"example":{"ok":true,"data":{"solution":[2,1]}}}},{"method":"POST","path":"/primeFactorize","price":"$0.01","description":"Prime factorization of an integer via trial division, returning the full list of prime factors (with repetition). Returns 400 for non-integers, values below 2, or values above 1e12 (1 trillion).","inputSchema":{"type":"object","properties":{"n":{"type":"number","description":"Integer to factorize (2 to 10^12)."}},"required":["n"]},"output":{"example":{"ok":true,"data":{"n":60,"factors":[2,2,3,5]}}}},{"method":"POST","path":"/isPrime","price":"$0.01","description":"Deterministic primality test using the Miller-Rabin algorithm with a witness set proven deterministic for all integers below 3.3x10^24, safely covering the full JavaScript safe-integer range. Returns 400 for non-integers or negative values.","inputSchema":{"type":"object","properties":{"n":{"type":"number","description":"Non-negative integer to test (0 to 2^53 - 1)."}},"required":["n"]},"output":{"example":{"ok":true,"data":{"n":97,"isPrime":true}}}},{"method":"POST","path":"/statisticsSummary","price":"$0.01","description":"Descriptive statistics summary (mean, median, variance, standard deviation, and 25th/75th/90th percentiles via linear interpolation, matching R and numpy's default \"type=7\" method) over a numeric array of up to 10,000 elements. Returns 400 for empty, oversized, or non-numeric input.","inputSchema":{"type":"object","properties":{"values":{"type":"array","description":"Non-empty array of numbers, up to 10,000 elements."}},"required":["values"]},"output":{"example":{"ok":true,"data":{"mean":3,"median":3,"variance":2,"stddev":1.4142,"p25":2,"p75":4,"p90":4.6}}}},{"method":"POST","path":"/astronomyEphemeris","price":"$0.01","description":"Sunrise, sunset, solar noon, day length, and moon phase for a given latitude/longitude/date, computed via the suncalc library (standard solar/lunar position algorithms) — precise astronomical math an LLM cannot reliably compute mentally. Returns 400 for out-of-range coordinates or an invalid date.","inputSchema":{"type":"object","properties":{"latitude":{"type":"number","description":"Latitude in degrees (-90 to 90)."},"longitude":{"type":"number","description":"Longitude in degrees (-180 to 180)."},"date":{"type":"string","description":"ISO date string, e.g. \"2024-06-21\"."}},"required":["latitude","longitude","date"]},"output":{"example":{"ok":true,"data":{"latitude":40.7,"longitude":-74,"date":"2024-06-21","sunrise":"09:25","sunset":"00:30","solarNoon":"16:57","dayLengthHours":15.09,"polarDayOrNight":false,"moonPhase":{"ageDays":13.64,"phaseFraction":0.462,"phaseName":"Waxing Gibbous"}}}}},{"method":"POST","path":"/physicalConstants","price":"$0.01","description":"Lookup of standard physical constants (speed of light, gravitational constant, Planck constant, elementary charge, Avogadro number, Boltzmann constant, gas constant, electron mass) with exact published CODATA values. Returns 400 for an unrecognized constant name.","inputSchema":{"type":"object","properties":{"constant":{"type":"string","enum":["speedOfLight","gravitationalConstant","planckConstant","elementaryCharge","avogadroNumber","boltzmannConstant","gasConstant","electronMass"],"description":"Which constant to look up."}},"required":["constant"]},"output":{"example":{"ok":true,"data":{"constant":"speedOfLight","value":299792458,"unit":"m/s","description":"Speed of light in vacuum"}}}},{"method":"POST","path":"/chemicalElementLookup","price":"$0.01","description":"Periodic table element lookup by symbol or atomic number, returning name, atomic mass, and category. Covers the most commonly referenced elements. Returns 400 if neither symbol nor atomicNumber is provided, or the element is not found.","inputSchema":{"type":"object","properties":{"symbol":{"type":"string","description":"Element symbol, e.g. \"Au\" (case-insensitive). Provide this or atomicNumber."},"atomicNumber":{"type":"number","description":"Atomic number, e.g. 79. Provide this or symbol."}},"required":[]},"output":{"example":{"ok":true,"data":{"atomicNumber":79,"symbol":"Au","name":"Gold","atomicMass":196.97,"category":"transition metal"}}}},{"method":"POST","path":"/unitConvertScientific","price":"$0.01","description":"Scientific unit conversion for pressure, energy, and molarity using exact conversion factors. Returns 400 for unsupported units or categories.","inputSchema":{"type":"object","properties":{"value":{"type":"number","description":"The numeric value to convert."},"from":{"type":"string","description":"Source unit, e.g. \"atm\", \"kcal\", \"mol/l\"."},"to":{"type":"string","description":"Target unit."},"category":{"type":"string","enum":["pressure","energy","molarity"],"description":"Unit category."}},"required":["value","from","to","category"]},"output":{"example":{"ok":true,"data":{"value":1,"from":"atm","to":"pa","category":"pressure","result":101325}}}},{"method":"POST","path":"/regexTest","price":"$0.01","description":"Tests a regular expression pattern against a string, guarded against catastrophic backtracking (ReDoS) by running the match in an isolated worker thread with a hard 100ms timeout that fails closed. Returns 400 for invalid patterns, oversized input, or a timeout.","inputSchema":{"type":"object","properties":{"pattern":{"type":"string","description":"Regular expression pattern (without slashes). Max 200 characters."},"flags":{"type":"string","description":"Regex flags (g, i, m, s, u, y). Optional."},"testString":{"type":"string","description":"String to test the pattern against. Max 10,000 characters."}},"required":["pattern","testString"]},"output":{"example":{"ok":true,"data":{"pattern":"^[a-z]+$","flags":"","testString":"hello","matched":true}}}},{"method":"POST","path":"/jsonSchemaValidate","price":"$0.01","description":"Validates a JSON document against a JSON Schema using the industry-standard ajv validator, returning whether it is valid and a list of human-readable error messages if not. Returns 400 for a malformed schema or oversized input.","inputSchema":{"type":"object","properties":{"schema":{"type":"object","description":"A JSON Schema object. Max 50KB serialized."},"document":{"description":"The JSON document to validate against the schema. Max 50KB serialized."}},"required":["schema","document"]},"output":{"example":{"ok":true,"data":{"valid":false,"errors":["/name must have required property 'name'"]}}}},{"method":"POST","path":"/diffText","price":"$0.01","description":"Line-based diff between two strings using the Myers diff algorithm (via the diff/jsdiff library), returning a list of equal/add/remove operations. Returns 400 for input over the 50,000-character length cap or 2,000-line cap.","inputSchema":{"type":"object","properties":{"textA":{"type":"string","description":"Original text. Max 50,000 characters and 2,000 lines."},"textB":{"type":"string","description":"Modified text. Max 50,000 characters and 2,000 lines."}},"required":["textA","textB"]},"output":{"example":{"ok":true,"data":{"diff":[{"type":"equal","line":"a"},{"type":"remove","line":"b"},{"type":"add","line":"x"}]}}}},{"method":"POST","path":"/cronParse","price":"$0.01","description":"Computes the next N run times for a standard 5-field cron expression, avoiding the mental cron-schedule simulation an LLM often gets subtly wrong. Returns 400 for an invalid expression or an out-of-range count.","inputSchema":{"type":"object","properties":{"expression":{"type":"string","description":"A standard 5-field cron expression, e.g. \"0 0 * * *\"."},"count":{"type":"number","description":"Number of future run times to return (1-50). Default 5."}},"required":["expression"]},"output":{"example":{"ok":true,"data":{"expression":"0 0 * * *","nextRuns":["2026-08-30T00:00:00.000Z","2026-08-31T00:00:00.000Z"]}}}},{"method":"POST","path":"/colorConvert","price":"$0.01","description":"Converts a color between hex, rgb, and hsl representations using exact arithmetic. Returns 400 for a malformed or out-of-range color value.","inputSchema":{"type":"object","properties":{"from":{"type":"string","enum":["hex","rgb","hsl"],"description":"Source color format."},"to":{"type":"string","enum":["hex","rgb","hsl"],"description":"Target color format."},"value":{"description":"The color value: a string for hex, or {r,g,b}/{h,s,l} for rgb/hsl."}},"required":["from","to","value"]},"output":{"example":{"ok":true,"data":{"result":{"r":255,"g":0,"b":0}}}}},{"method":"POST","path":"/qrCodeGenerate","price":"$0.01","description":"Generates a QR code for the given text, returned as a base64-encoded PNG data URL, computed entirely locally with no external service call. Returns 400 for empty or oversized text.","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Text or URL to encode. Max 500 characters."}},"required":["text"]},"output":{"example":{"ok":true,"data":{"text":"https://example.com","dataUrl":"data:image/png;base64,iVBORw0KGgo..."}}}},{"method":"POST","path":"/jwtDecode","price":"$0.01","description":"Decodes (does not verify) a JWT by base64url-decoding its header and payload segments. Signature validity is never checked — do not use this to authenticate a token. Returns 400 for a malformed token.","inputSchema":{"type":"object","properties":{"token":{"type":"string","description":"A JWT string (header.payload.signature)."}},"required":["token"]},"output":{"example":{"ok":true,"data":{"header":{"alg":"HS256","typ":"JWT"},"payload":{"sub":"1234567890"},"verified":false}}}},{"method":"POST","path":"/semverCompare","price":"$0.01","description":"Compares two semantic version strings and reports which is greater, lesser, or equal, using the standard semver comparison rules. Returns 400 for invalid version strings.","inputSchema":{"type":"object","properties":{"versionA":{"type":"string","description":"First semantic version, e.g. \"1.2.3\"."},"versionB":{"type":"string","description":"Second semantic version, e.g. \"1.2.4\"."}},"required":["versionA","versionB"]},"output":{"example":{"ok":true,"data":{"versionA":"1.2.3","versionB":"1.2.4","comparison":-1,"result":"less"}}}}]}