{"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":["validation","encoding","generators","fake-data","live-data"],"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":"/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":"/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"}}}}}]}