{"x402Version":2,"payTo":"0xB86F95EF5FA904318Ea9Df3b59AdCe099b478fC4","resources":[{"id":809,"slug":"809","resource":"https://keyronne.com/api/json-repair","description":"Repair malformed JSON text into valid parsed JSON: markdown code fences, single quotes, smart quotes, unquoted keys, trailing commas, comments, Python literals (True/None), raw newlines in strings, and truncated output (auto-closes strings, arrays and objects). Returns the parsed value plus a log of every repair applied. Built for LLM output that almost parses. POST a JSON body like: {\"text\":\"```json\\n{name: 'Ada', age: 36, tags: ['x',], active: True\"}","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0xB86F95EF5FA904318Ea9Df3b59AdCe099b478fC4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","maxTimeoutSeconds":60}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"text":"```json\n{name: 'Ada', age: 36, tags: ['x',], active: True"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"repairs":["removed markdown code fence","quoted unquoted object key","converted single-quoted string to double quotes","removed trailing comma","normalized True to true","closed unbalanced object (input looks truncated)"],"value":{"active":true,"age":36,"name":"Ada","tags":["x"]}},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"body":{"properties":{"text":{"description":"The malformed JSON text to repair.","type":"string"}},"required":["text"],"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"type":"object"},"output":{"properties":{"repairs":{"description":"Human-readable list of repairs applied (empty if input was valid).","items":{"type":"string"},"type":"array"},"value":{"description":"The repaired, parsed JSON value."}},"type":"object"}},"required":["input"],"type":"object"}}},"tags":["bazaar"],"sourceHost":"keyronne.com","lastUpdated":"2026-09-09T09:35:39.865Z","quality":{"calls30d":13,"uniquePayers30d":11,"lastCalledAt":"2026-09-09T09:35:39.584Z"},"liveness":{},"verified":false,"featured":false},{"id":810,"slug":"810","resource":"https://keyronne.com/api/color","description":"Parse any CSS color (hex, rgb(), hsl()) and emit all three formats plus relative luminance. Compute WCAG contrast ratios against a background with AA/AAA pass-fail for normal and large text, and lighten, darken, or mix colors. Built for agents generating accessible UI themes. POST a JSON body like: {\"color\":\"#3498db\",\"background\":\"#ffffff\"}","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0xB86F95EF5FA904318Ea9Df3b59AdCe099b478fC4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","maxTimeoutSeconds":60}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"background":"#ffffff","color":"#3498db"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"contrast":{"against":"#ffffff","largeTextAA":false,"normalTextAA":false,"ratio":2.59},"hex":"#3498db","hsl":{"h":204,"l":53.1,"s":70},"input":"#3498db","luminance":0.2831,"rgb":{"a":1,"b":219,"g":152,"r":52}},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"body":{"properties":{"background":{"description":"Optional second color for a WCAG contrast check.","type":"string"},"color":{"description":"A color: \"#3498db\", \"rgb(52,152,219)\", or \"hsl(204,70%,53%)\".","type":"string"},"darken":{"description":"Decrease lightness by this many percent (0-100).","type":"number"},"lighten":{"description":"Increase lightness by this many percent (0-100).","type":"number"},"mix":{"description":"Blend the color toward this one.","type":"string"},"weight":{"default":0.5,"description":"Mix weight toward \"mix\".","maximum":1,"minimum":0,"type":"number"}},"required":["color"],"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"type":"object"},"output":{"properties":{"adjusted":{"description":"Present when lighten/darken is given.","type":"string"},"contrast":{"description":"Present when \"background\" is given.","type":"object"},"hex":{"type":"string"},"hsl":{"type":"object"},"luminance":{"type":"number"},"mixed":{"description":"Present when \"mix\" is given.","type":"string"},"rgb":{"type":"object"}},"type":"object"}},"required":["input"],"type":"object"}}},"tags":["bazaar"],"sourceHost":"keyronne.com","lastUpdated":"2026-09-17T03:48:15.543Z","quality":{"calls30d":6,"uniquePayers30d":5,"lastCalledAt":"2026-09-17T03:48:15.253Z"},"liveness":{},"verified":false,"featured":false},{"id":811,"slug":"811","resource":"https://keyronne.com/api/price","description":"Current USD prices for any crypto asset: majors by ticker (BTC, ETH, SOL), anything else by CoinGecko id or chain + contract address — so long-tail meme tokens work too. Up to 25 assets per call with per-asset confidence scores and timestamps. Crypto only; no equities or ETFs. POST a JSON body like: {\"symbols\":[\"BTC\",\"ETH\",\"pepe\"]}","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0xB86F95EF5FA904318Ea9Df3b59AdCe099b478fC4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"3000","maxTimeoutSeconds":60}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"symbols":["BTC","ETH","pepe"]},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"attribution":"Price data from DefiLlama (coins.llama.fi)","count":3,"found":3,"prices":[{"coin":"coingecko:bitcoin","confidence":0.99,"found":true,"priceUsd":67123.45,"query":"BTC","symbol":"BTC","updatedAt":"2026-07-08T04:00:00.000Z"}]},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"body":{"properties":{"symbol":{"description":"One ticker or CoinGecko id, e.g. \"BTC\", \"dogwifcoin\".","type":"string"},"symbols":{"description":"Batch of tickers/CoinGecko ids, or \"chain:address\" strings.","items":{"type":"string"},"maxItems":25,"type":"array"},"tokens":{"description":"Any token by contract address (covers coins with no listing).","items":{"properties":{"address":{"description":"Token contract address on that chain.","type":"string"},"chain":{"description":"e.g. ethereum, base, arbitrum, optimism, polygon, bsc, solana.","type":"string"}},"required":["chain","address"],"type":"object"},"maxItems":25,"type":"array"}},"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"type":"object"},"output":{"properties":{"attribution":{"type":"string"},"count":{"type":"integer"},"found":{"type":"integer"},"note":{"description":"Present when some queries had no price.","type":"string"},"prices":{"items":{"properties":{"coin":{"description":"Resolved DefiLlama coin key.","type":"string"},"confidence":{"description":"0-1 price confidence score.","type":"number"},"decimals":{"type":"integer"},"found":{"type":"boolean"},"priceUsd":{"type":"number"},"query":{"description":"Your input, echoed back.","type":"string"},"symbol":{"type":"string"},"updatedAt":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"required":["input"],"type":"object"}}},"tags":["bazaar"],"sourceHost":"keyronne.com","lastUpdated":"2026-09-15T06:20:36.092Z","quality":{"calls30d":4,"uniquePayers30d":3,"lastCalledAt":"2026-09-15T06:20:35.849Z"},"liveness":{},"verified":false,"featured":false},{"id":816,"slug":"816","resource":"https://keyronne.com/api/route","description":"Point-to-point directions between 2-10 stops by car, bike, or on foot: total and per-leg distance and travel time, plus route geometry as an encoded polyline. Stops can be place names (geocoded automatically) or lat/lon coordinates. Generic travel and delivery routing on OpenStreetMap road data, global coverage. POST a JSON body like: {\"stops\":[\"paris\",\"lyon\"],\"mode\":\"car\"}","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0xB86F95EF5FA904318Ea9Df3b59AdCe099b478fC4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000","maxTimeoutSeconds":60}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"mode":"car","stops":["paris","lyon"]},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"attribution":"Geodata © OpenStreetMap contributors (ODbL)","distanceKm":465.9,"durationMinutes":273.5,"geometryPolyline":"<encoded polyline>","legs":[{"distanceKm":465.9,"durationMinutes":273.5,"from":0,"to":1}],"mode":"car","stops":[{"lat":48.86,"lon":2.35,"name":"paris"},{"lat":45.76,"lon":4.84,"name":"lyon"}]},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"body":{"properties":{"mode":{"default":"car","enum":["car","bike","foot"],"type":"string"},"stops":{"description":"Places to visit in order: name strings or {lat, lon} objects.","items":{},"maxItems":10,"minItems":2,"type":"array"}},"required":["stops"],"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"type":"object"},"output":{"properties":{"attribution":{"type":"string"},"distanceKm":{"type":"number"},"durationMinutes":{"type":"number"},"geometryPolyline":{"type":"string"},"legs":{"items":{"properties":{"distanceKm":{"type":"number"},"durationMinutes":{"type":"number"},"from":{"type":"integer"},"to":{"type":"integer"}},"type":"object"},"type":"array"},"mode":{"type":"string"},"stops":{"items":{"properties":{"lat":{"type":"number"},"lon":{"type":"number"},"name":{"type":"string"},"snappedName":{"description":"Road the stop snapped to.","type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"required":["input"],"type":"object"}}},"tags":["bazaar"],"sourceHost":"keyronne.com","lastUpdated":"2026-08-30T13:37:00.634Z","quality":{"calls30d":4,"uniquePayers30d":1,"lastCalledAt":"2026-08-30T13:37:00.377Z"},"liveness":{},"verified":false,"featured":false},{"id":817,"slug":"817","resource":"https://keyronne.com/api/markdown","description":"Convert a web page (by URL) or raw HTML into clean, readable Markdown plus structured metadata (title, description, Open Graph tags, canonical URL, language). Strips scripts, styles and boilerplate tags; preserves headings, links, images, lists, code blocks and tables. Built for agents that need web content as LLM-ready text. POST a JSON body like: {\"url\":\"https://example.com/article\"}","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0xB86F95EF5FA904318Ea9Df3b59AdCe099b478fC4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"5000","maxTimeoutSeconds":60}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"url":"https://example.com/article"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"markdown":"# Example article\n\nBody text with [links](https://example.com)...","metadata":{"lang":"en","title":"Example article"},"source":"https://example.com/article","truncated":false},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"body":{"properties":{"html":{"description":"Raw HTML to convert. Provide either url or html.","type":"string"},"url":{"description":"Public http(s) URL to fetch and convert (max 2 MB, private networks blocked). Provide either url or html.","type":"string"}},"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"type":"object"},"output":{"properties":{"markdown":{"type":"string"},"metadata":{"properties":{"canonical":{"type":"string"},"description":{"type":"string"},"lang":{"type":"string"},"og":{"type":"object"},"title":{"type":"string"}},"type":"object"},"source":{"description":"Final URL after redirects, or \"inline\".","type":"string"},"truncated":{"type":"boolean"}},"type":"object"}},"required":["input"],"type":"object"}}},"tags":["bazaar"],"sourceHost":"keyronne.com","lastUpdated":"2026-09-18T21:31:56.698Z","quality":{"calls30d":3,"uniquePayers30d":1,"lastCalledAt":"2026-08-28T10:45:14.61Z"},"liveness":{},"verified":false,"featured":false},{"id":812,"slug":"812","resource":"https://keyronne.com/api/chain-tx","description":"Look up a transaction and its receipt on Ethereum, Base, Arbitrum, Optimism, Polygon, or BNB Chain: status (success/reverted/pending), from/to, value, block, nonce, gas used and price, log count, and any contract created. Public JSON-RPC, no API keys. POST a JSON body like: {\"chain\":\"base\",\"hash\":\"0xb498053e345acd227657ef2e3de7d9fd9b861d673368419c4b18cfaea20365c8\"}","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0xB86F95EF5FA904318Ea9Df3b59AdCe099b478fC4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"3000","maxTimeoutSeconds":60}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"chain":"base","hash":"0xb498053e345acd227657ef2e3de7d9fd9b861d673368419c4b18cfaea20365c8"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"blockNumber":48346708,"chain":"base","from":"0xb5d0…","gas":{"limit":90000,"priceGwei":"0.005","used":46000},"status":"success","to":"0x8335…","value":{"eth":"0","wei":"0"}},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"body":{"properties":{"chain":{"enum":["ethereum","base","arbitrum","optimism","polygon","bsc"],"type":"string"},"hash":{"description":"Transaction hash (0x + 64 hex).","type":"string"}},"required":["chain","hash"],"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"type":"object"},"output":{"properties":{"blockNumber":{"type":"integer"},"chain":{"type":"string"},"from":{"type":"string"},"gas":{"type":"object"},"hash":{"type":"string"},"logs":{"type":"integer"},"status":{"type":"string"},"to":{"type":"string"},"value":{"type":"object"}},"type":"object"}},"required":["input"],"type":"object"}}},"tags":["bazaar"],"sourceHost":"keyronne.com","lastUpdated":"2026-09-08T08:28:53.612Z","quality":{"calls30d":2,"uniquePayers30d":2,"lastCalledAt":"2026-09-08T08:28:53.383Z"},"liveness":{},"verified":false,"featured":false},{"id":813,"slug":"813","resource":"https://keyronne.com/api/chain-gas","description":"Current gas price and EIP-1559 fee suggestions (base fee, priority tip, suggested max fee) on Ethereum, Base, Arbitrum, Optimism, Polygon, or BNB Chain, in gwei. Public JSON-RPC, no API keys. POST a JSON body like: {\"chain\":\"ethereum\"}","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0xB86F95EF5FA904318Ea9Df3b59AdCe099b478fC4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"3000","maxTimeoutSeconds":60}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"chain":"ethereum"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"baseFeeGwei":"11.8","blockNumber":20500000,"chain":"ethereum","gasPriceGwei":"12.4","priorityFeeGwei":"0.5","suggestedMaxFeeGwei":"24.1","suggestedPriorityFeeGwei":"0.5"},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"body":{"properties":{"chain":{"enum":["ethereum","base","arbitrum","optimism","polygon","bsc"],"type":"string"}},"required":["chain"],"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"type":"object"},"output":{"properties":{"baseFeeGwei":{"type":"string"},"chain":{"type":"string"},"gasPriceGwei":{"type":"string"},"priorityFeeGwei":{"type":"string"},"suggestedMaxFeeGwei":{"type":"string"}},"type":"object"}},"required":["input"],"type":"object"}}},"tags":["bazaar"],"sourceHost":"keyronne.com","lastUpdated":"2026-09-08T08:25:07.449Z","quality":{"calls30d":2,"uniquePayers30d":2,"lastCalledAt":"2026-09-08T08:25:07.214Z"},"liveness":{},"verified":false,"featured":false},{"id":814,"slug":"814","resource":"https://keyronne.com/api/phone","description":"Validate and parse phone numbers in international E.164 form: extract the country calling code and region, the national number, and the canonical +E.164 string. Single number or a batch of up to 50. Format validation, not a line-in-service check. POST a JSON body like: {\"phone\":\"+14155552671\"}","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0xB86F95EF5FA904318Ea9Df3b59AdCe099b478fC4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","maxTimeoutSeconds":60}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"phone":"+14155552671"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"countryCode":"+1","e164":"+14155552671","input":"+14155552671","nationalNumber":"4155552671","region":"US/Canada (NANP)","valid":true},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"body":{"properties":{"phone":{"description":"One number in E.164 form, e.g. \"+14155552671\".","type":"string"},"phones":{"description":"Batch of numbers.","items":{"type":"string"},"maxItems":50,"type":"array"}},"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"type":"object"},"output":{"properties":{"countryCode":{"type":"string"},"e164":{"type":"string"},"nationalNumber":{"type":"string"},"region":{"type":"string"},"results":{"description":"Present for batch input.","type":"array"},"valid":{"type":"boolean"}},"type":"object"}},"required":["input"],"type":"object"}}},"tags":["bazaar"],"sourceHost":"keyronne.com","lastUpdated":"2026-09-08T08:11:42.737Z","quality":{"calls30d":2,"uniquePayers30d":2,"lastCalledAt":"2026-09-08T08:11:42.531Z"},"liveness":{},"verified":false,"featured":false},{"id":815,"slug":"815","resource":"https://keyronne.com/api/validate-json","description":"Validate a JSON value against a JSON Schema and coerce common LLM-output mistakes (numbers as strings, stringified booleans, scalars where arrays are expected, missing defaults, extra properties). Returns the coerced value plus a structured error report. Built for cleaning up LLM tool-call arguments and structured outputs. POST a JSON body like: {\"schema\":{\"type\":\"object\",\"required\":[\"name\",\"age\"],\"properties\":{\"name\":{\"type\":\"string\"},\"age\":{\"type\":\"integer\"}}},\"data\":{\"name\":\"Ada\",\"age\":\"36\"}}","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0xB86F95EF5FA904318Ea9Df3b59AdCe099b478fC4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","maxTimeoutSeconds":60}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"data":{"age":"36","name":"Ada"},"schema":{"properties":{"age":{"type":"integer"},"name":{"type":"string"}},"required":["name","age"],"type":"object"}},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"errors":[],"valid":true,"value":{"age":36,"name":"Ada"},"warnings":[{"message":"coerced string \"36\" to integer","path":"$.age"}]},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"body":{"properties":{"coerce":{"default":true,"description":"Attempt type coercion and default-filling before validating.","type":"boolean"},"data":{"description":"The candidate JSON value to validate and coerce."},"schema":{"description":"JSON Schema (draft-07 style subset: type, properties, required, items, enum, const, additionalProperties, min/max constraints, pattern, default).","type":"object"}},"required":["schema","data"],"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"type":"object"},"output":{"properties":{"errors":{"items":{"properties":{"message":{"type":"string"},"path":{"type":"string"}},"type":"object"},"type":"array"},"valid":{"type":"boolean"},"value":{"description":"The (possibly coerced) value."},"warnings":{"items":{"properties":{"message":{"type":"string"},"path":{"type":"string"}},"type":"object"},"type":"array"}},"type":"object"}},"required":["input"],"type":"object"}}},"tags":["bazaar"],"sourceHost":"keyronne.com","lastUpdated":"2026-09-08T08:07:18.478Z","quality":{"calls30d":2,"uniquePayers30d":2,"lastCalledAt":"2026-09-08T08:07:18.199Z"},"liveness":{},"verified":false,"featured":false},{"id":818,"slug":"818","resource":"https://keyronne.com/api/weather","description":"Current conditions plus hourly and daily forecasts for anywhere on Earth. Pass a major city name or lat/lon coordinates; get temperature, wind, humidity, pressure, cloud cover, condition codes and precipitation, with up to 90 hourly and 10 daily entries. Data from MET Norway (CC BY 4.0). No API keys, one call. POST a JSON body like: {\"city\":\"paris\",\"hourly\":12,\"days\":3}","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0xB86F95EF5FA904318Ea9Df3b59AdCe099b478fC4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"5000","maxTimeoutSeconds":60}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"city":"paris","days":3,"hourly":12},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"attribution":"Weather data from MET Norway (CC BY 4.0)","current":{"condition":"partlycloudy_day","humidityPct":62,"temperatureC":18.2,"windSpeedMs":3.4},"daily":[{"date":"2026-07-06","precipitationMm":0.2,"temperatureMaxC":21,"temperatureMinC":13.5}],"hourly":[{"condition":"cloudy","precipitationMm":0,"temperatureC":19.1,"time":"2026-07-06T12:00:00Z"}],"location":{"city":"paris","lat":48.86,"lon":2.35}},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"body":{"properties":{"city":{"description":"Major city name (e.g. \"tokyo\", \"new york\"). Or use lat/lon.","type":"string"},"days":{"default":5,"description":"Daily summaries to return.","maximum":10,"minimum":1,"type":"integer"},"hourly":{"default":24,"description":"Hourly entries to return.","maximum":90,"minimum":0,"type":"integer"},"lat":{"maximum":90,"minimum":-90,"type":"number"},"lon":{"maximum":180,"minimum":-180,"type":"number"}},"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"type":"object"},"output":{"properties":{"attribution":{"type":"string"},"current":{"properties":{"cloudCoverPct":{"type":"number"},"condition":{"description":"MET symbol code, e.g. \"rain\", \"clearsky_day\".","type":"string"},"humidityPct":{"type":"number"},"precipitationNextHourMm":{"type":"number"},"pressureHpa":{"type":"number"},"temperatureC":{"type":"number"},"time":{"type":"string"},"windDirectionDeg":{"type":"number"},"windSpeedMs":{"type":"number"}},"type":"object"},"daily":{"items":{"type":"object"},"type":"array"},"hourly":{"items":{"type":"object"},"type":"array"},"location":{"properties":{"city":{"type":"string"},"lat":{"type":"number"},"lon":{"type":"number"}},"type":"object"},"units":{"type":"object"},"updatedAt":{"type":"string"}},"type":"object"}},"required":["input"],"type":"object"}}},"tags":["bazaar"],"sourceHost":"keyronne.com","lastUpdated":"2026-08-28T10:46:23.781Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-08-28T10:46:23.611Z"},"liveness":{},"verified":false,"featured":false},{"id":819,"slug":"819","resource":"https://keyronne.com/api/hash","description":"Compute cryptographic digests and HMACs deterministically: MD5, SHA-1, SHA-256, SHA-384, SHA-512, output as hex, base64, or base64url. Add a \"key\" for HMAC. Built for checksums, content addressing, and signature verification. Inputs are hashed and discarded. POST a JSON body like: {\"text\":\"hello world\",\"algorithm\":\"sha256\",\"encoding\":\"hex\"}","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0xB86F95EF5FA904318Ea9Df3b59AdCe099b478fC4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","maxTimeoutSeconds":60}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"algorithm":"sha256","encoding":"hex","text":"hello world"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"algorithm":"sha256","encoding":"hex","hash":"b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9","input":{"length":11}},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"body":{"properties":{"algorithm":{"default":"sha256","enum":["md5","sha1","sha256","sha384","sha512"],"type":"string"},"encoding":{"default":"hex","enum":["hex","base64","base64url"],"type":"string"},"key":{"description":"If present, compute HMAC-<algorithm> with this key instead of a plain hash.","type":"string"},"text":{"description":"The data to hash.","type":"string"}},"required":["text"],"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"type":"object"},"output":{"properties":{"algorithm":{"type":"string"},"encoding":{"type":"string"},"hash":{"type":"string"},"hmac":{"type":"boolean"}},"type":"object"}},"required":["input"],"type":"object"}}},"tags":["bazaar"],"sourceHost":"keyronne.com","lastUpdated":"2026-08-28T10:44:41.736Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-08-28T10:44:41.528Z"},"liveness":{},"verified":false,"featured":false},{"id":820,"slug":"820","resource":"https://keyronne.com/api/email-validate","description":"Validate email addresses: RFC-style syntax checks, IDN domain normalization, live MX lookups with A/AAAA fallback (DNS-over-HTTPS), disposable-domain detection, role-address detection (info@, support@), free-provider flagging, and typo suggestions for popular providers (gmial.com -> gmail.com). Single address or batches up to 50. POST a JSON body like: {\"emails\":[\"ada@example.com\",\"bad@mailinator.com\",\"typo@gmial.com\"]}","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0xB86F95EF5FA904318Ea9Df3b59AdCe099b478fC4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"3000","maxTimeoutSeconds":60}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"emails":["ada@example.com","bad@mailinator.com","typo@gmial.com"]},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"results":[{"checks":{"disposable":false,"freeProvider":false,"hasPlusTag":false,"role":false},"dns":{"deliverable":true,"method":"MX","mxRecords":["mx.example.com"]},"domain":"example.com","email":"ada@example.com","valid":true}]},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"body":{"properties":{"email":{"description":"One address to validate. Provide email or emails.","type":"string"},"emails":{"description":"Batch of addresses to validate (max 50).","items":{"type":"string"},"maxItems":50,"type":"array"},"skipDns":{"default":false,"description":"Skip MX/A lookups and return syntax + heuristic checks only.","type":"boolean"}},"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"type":"object"},"output":{"properties":{"results":{"items":{"properties":{"checks":{"properties":{"disposable":{"type":"boolean"},"freeProvider":{"type":"boolean"},"hasPlusTag":{"type":"boolean"},"role":{"type":"boolean"}},"type":"object"},"dns":{"properties":{"deliverable":{"description":"true/false, or null if DNS was unreachable."},"method":{"enum":["MX","A-fallback","AAAA-fallback","unavailable"],"type":"string"},"mxRecords":{"items":{"type":"string"},"type":"array"}},"type":"object"},"domain":{"description":"Normalized ASCII domain.","type":"string"},"email":{"type":"string"},"reason":{"description":"Why the address is invalid, if it is.","type":"string"},"suggestion":{"description":"Likely intended address for typos.","type":"string"},"valid":{"type":"boolean"}},"type":"object"},"type":"array"}},"type":"object"}},"required":["input"],"type":"object"}}},"tags":["bazaar"],"sourceHost":"keyronne.com","lastUpdated":"2026-08-28T10:44:26.481Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-08-28T10:44:26.307Z"},"liveness":{},"verified":false,"featured":false},{"id":821,"slug":"821","resource":"https://keyronne.com/api/dns","description":"Resolve DNS records over DNS-over-HTTPS: A, AAAA, MX, TXT, NS, CNAME, SOA, CAA, SRV, PTR and more. Returns parsed answers with TTLs and the response status. Built for agents checking mail routing, domain config, or propagation. POST a JSON body like: {\"name\":\"example.com\",\"type\":\"MX\"}","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0xB86F95EF5FA904318Ea9Df3b59AdCe099b478fC4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"2000","maxTimeoutSeconds":60}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"name":"example.com","type":"MX"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"answerCount":1,"answers":[{"data":"10 mail.example.com.","name":"example.com","ttl":3600,"type":"MX"}],"query":{"name":"example.com","type":"MX"},"status":"NOERROR"},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"body":{"properties":{"name":{"description":"Domain to look up, e.g. \"example.com\".","type":"string"},"type":{"default":"A","enum":["A","AAAA","MX","TXT","NS","CNAME","SOA","PTR","SRV","CAA","DS","DNSKEY","HTTPS"],"type":"string"}},"required":["name"],"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"type":"object"},"output":{"properties":{"answerCount":{"type":"integer"},"answers":{"items":{"properties":{"data":{"type":"string"},"name":{"type":"string"},"ttl":{"type":"integer"},"type":{"type":"string"}},"type":"object"},"type":"array"},"status":{"type":"string"}},"type":"object"}},"required":["input"],"type":"object"}}},"tags":["bazaar"],"sourceHost":"keyronne.com","lastUpdated":"2026-08-28T10:44:12.115Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-08-28T10:44:11.895Z"},"liveness":{},"verified":false,"featured":false},{"id":822,"slug":"822","resource":"https://keyronne.com/api/chain-block","description":"Fetch a block header by number, hash, or \"latest\" on Ethereum, Base, Arbitrum, Optimism, Polygon, or BNB Chain: timestamp, miner, gas used/limit, base fee, transaction count, size. Public JSON-RPC, no API keys. POST a JSON body like: {\"chain\":\"base\",\"block\":\"latest\"}","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0xB86F95EF5FA904318Ea9Df3b59AdCe099b478fC4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"3000","maxTimeoutSeconds":60}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"block":"latest","chain":"base"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"baseFeeGwei":"0.004","chain":"base","gasUsed":12000000,"number":48346708,"time":"2026-07-08T14:30:00.000Z","timestamp":1783535400,"transactionCount":142},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"properties":{"body":{"properties":{"block":{"description":"Block number, \"latest\" (default), or a 0x block hash."},"chain":{"enum":["ethereum","base","arbitrum","optimism","polygon","bsc"],"type":"string"}},"required":["chain"],"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"type":"object"},"output":{"properties":{"baseFeeGwei":{"type":"string"},"chain":{"type":"string"},"gasUsed":{"type":"integer"},"hash":{"type":"string"},"number":{"type":"integer"},"time":{"type":"string"},"timestamp":{"type":"integer"},"transactionCount":{"type":"integer"}},"type":"object"}},"required":["input"],"type":"object"}}},"tags":["bazaar"],"sourceHost":"keyronne.com","lastUpdated":"2026-08-28T10:43:08.059Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-08-28T10:43:07.844Z"},"liveness":{},"verified":false,"featured":false}]}