{"openapi":"3.1.0","info":{"title":"x402 Utilities Hub","version":"1.0.0","description":"Pay-per-call utilities for AI agents and developers. Paid in USDC on Base via x402 v2.","x-guidance":"Call any GET /v1/* endpoint. Without payment you receive HTTP 402 with a PAYMENT-REQUIRED header. Pay in USDC on Base (EIP-3009) and retry with the X-PAYMENT header.","contact":{"email":"dimkaplay666@gmail.com"}},"servers":[{"url":"https://x402-utils-hub.dimkaplay666.workers.dev"}],"paths":{"/v1/weather":{"get":{"operationId":"weather","summary":"Current weather for a coordinate (Open-Meteo): temperature, humidity, wind, precipitation","description":"Current weather for a coordinate (Open-Meteo): temperature, humidity, wind, precipitation.","tags":["Utilities"],"parameters":[{"name":"lat","in":"query","required":true,"description":"Latitude, -90..90","schema":{"type":"string"},"example":"52.52"},{"name":"lon","in":"query","required":true,"description":"Longitude, -180..180","schema":{"type":"string"},"example":"13.41"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}],"resource":{"url":"https://x402-utils-hub.dimkaplay666.workers.dev/v1/weather","description":"Current weather for a coordinate (Open-Meteo): temperature, humidity, wind, precipitation.","mimeType":"application/json"}},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/v1/fx":{"get":{"operationId":"fx","summary":"Latest foreign-exchange rates for a base currency (open","description":"Latest foreign-exchange rates for a base currency (open.er-api.com, no key).","tags":["Utilities"],"parameters":[{"name":"base","in":"query","required":true,"description":"Base currency code, 3 letters (default USD)","schema":{"type":"string"},"example":"USD"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}],"resource":{"url":"https://x402-utils-hub.dimkaplay666.workers.dev/v1/fx","description":"Latest foreign-exchange rates for a base currency (open.er-api.com, no key).","mimeType":"application/json"}},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/v1/ip":{"get":{"operationId":"ip","summary":"IP geolocation and ASN lookup","description":"IP geolocation and ASN lookup.","tags":["Utilities"],"parameters":[{"name":"ip","in":"query","required":true,"description":"IP address to look up (defaults to caller IP)","schema":{"type":"string"},"example":"8.8.8.8"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}],"resource":{"url":"https://x402-utils-hub.dimkaplay666.workers.dev/v1/ip","description":"IP geolocation and ASN lookup.","mimeType":"application/json"}},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/v1/time":{"get":{"operationId":"time","summary":"Current time in any IANA timezone, with UTC offset and unix timestamp","description":"Current time in any IANA timezone, with UTC offset and unix timestamp.","tags":["Utilities"],"parameters":[{"name":"tz","in":"query","required":true,"description":"IANA timezone name (default UTC)","schema":{"type":"string"},"example":"Europe/Berlin"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}],"resource":{"url":"https://x402-utils-hub.dimkaplay666.workers.dev/v1/time","description":"Current time in any IANA timezone, with UTC offset and unix timestamp.","mimeType":"application/json"}},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/v1/units":{"get":{"operationId":"units","summary":"Convert units of temperature, length, mass or data size","description":"Convert units of temperature, length, mass or data size.","tags":["Utilities"],"parameters":[{"name":"value","in":"query","required":true,"description":"Numeric value to convert","schema":{"type":"string"},"example":"1"},{"name":"from","in":"query","required":true,"description":"Source unit (c, f, k, m, km, mi, kg, lb, mb, ...)","schema":{"type":"string"},"example":"km"},{"name":"to","in":"query","required":true,"description":"Target unit of the same family","schema":{"type":"string"},"example":"mi"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}],"resource":{"url":"https://x402-utils-hub.dimkaplay666.workers.dev/v1/units","description":"Convert units of temperature, length, mass or data size.","mimeType":"application/json"}},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/v1/uuid":{"get":{"operationId":"uuid","summary":"Generate 1-100 random UUIDv4 identifiers","description":"Generate 1-100 random UUIDv4 identifiers.","tags":["Utilities"],"parameters":[{"name":"n","in":"query","required":true,"description":"How many UUIDs to generate, 1-100 (default 1)","schema":{"type":"string"},"example":"5"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}],"resource":{"url":"https://x402-utils-hub.dimkaplay666.workers.dev/v1/uuid","description":"Generate 1-100 random UUIDv4 identifiers.","mimeType":"application/json"}},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/v1/crypto":{"get":{"operationId":"crypto","summary":"Spot prices for crypto assets by CoinGecko id","description":"Spot prices for crypto assets by CoinGecko id.","tags":["Utilities"],"parameters":[{"name":"ids","in":"query","required":true,"description":"Comma-separated CoinGecko ids","schema":{"type":"string"},"example":"bitcoin,ethereum"},{"name":"vs","in":"query","required":true,"description":"Quote currency code (default usd)","schema":{"type":"string"},"example":"usd"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}],"resource":{"url":"https://x402-utils-hub.dimkaplay666.workers.dev/v1/crypto","description":"Spot prices for crypto assets by CoinGecko id.","mimeType":"application/json"}},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/v1/dns":{"get":{"operationId":"dns","summary":"DNS resolution over DNS-over-HTTPS","description":"DNS resolution over DNS-over-HTTPS.","tags":["Utilities"],"parameters":[{"name":"name","in":"query","required":true,"description":"Domain name to resolve","schema":{"type":"string"},"example":"example.com"},{"name":"type","in":"query","required":true,"description":"Record type: A, AAAA, MX, TXT, NS, CNAME, SOA, CAA, PTR, SRV (default A)","schema":{"type":"string"},"example":"A"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}],"resource":{"url":"https://x402-utils-hub.dimkaplay666.workers.dev/v1/dns","description":"DNS resolution over DNS-over-HTTPS.","mimeType":"application/json"}},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/v1/whois":{"get":{"operationId":"whois","summary":"Domain registration data via RDAP","description":"Domain registration data via RDAP.","tags":["Utilities"],"parameters":[{"name":"domain","in":"query","required":true,"description":"Domain name to look up","schema":{"type":"string"},"example":"example.com"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}],"resource":{"url":"https://x402-utils-hub.dimkaplay666.workers.dev/v1/whois","description":"Domain registration data via RDAP.","mimeType":"application/json"}},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}},"/v1/extract":{"get":{"operationId":"extract","summary":"Fetch a web page and return its title, description, word count and readable text","description":"Fetch a web page and return its title, description, word count and readable text.","tags":["Utilities"],"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL of the page","schema":{"type":"string"},"example":"https://example.com"}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}],"resource":{"url":"https://x402-utils-hub.dimkaplay666.workers.dev/v1/extract","description":"Fetch a web page and return its title, description, word count and readable text.","mimeType":"application/json"}},"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}}}}}}