{"x402Version":2,"payTo":"0x15459498e1191d8787c83177809bd54022fA18c4","resources":[{"id":8667,"slug":"8667","resource":"https://workbot1.oddsys.org/fx","description":"Live foreign-exchange reference rates (European Central Bank daily fixes, ~30 major currencies): any cross-rate from any base, optional amount conversion. Refreshed daily; response carries the rate date.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x15459498e1191d8787c83177809bd54022fA18c4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"amount":100,"base":"USD","symbols":["EUR","GBP","JPY"]},"bodyType":"json","method":"POST","type":"http"},"output":{"body":{"base":"string","date":"string (rate date, ECB daily fix)","rates":"object — code -> rate, or code -> { rate, converted } when amount given","source":"string (attribution)"},"bodyType":"json","example":{"amount":100,"base":"USD","date":"2026-08-14","rates":{"EUR":{"converted":86.452,"rate":0.86452},"GBP":{"converted":74.41,"rate":0.7441}},"source":"European Central Bank reference rates (attribution required if redistributed)"}}},"routeTemplate":"/fx","schema":{"properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"description":"ALL fields optional — an empty (or absent) body returns all ~30 rates vs EUR.","properties":{"amount":{"description":"Optional amount to convert at each rate.","type":"number"},"base":{"description":"ISO 4217 base currency (default EUR).","type":"string"},"symbols":{"description":"Target currency codes (default: all ~30).","items":{"type":"string"},"maxItems":50,"type":"array"}},"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"}}}}},"tags":["bazaar"],"sourceHost":"workbot1.oddsys.org","lastUpdated":"2026-09-17T03:56:22.074Z","quality":{"calls30d":4,"uniquePayers30d":4,"lastCalledAt":"2026-09-17T03:56:19.752Z"},"liveness":{},"verified":false,"featured":false},{"id":8668,"slug":"8668","resource":"https://workbot1.oddsys.org/lang","description":"Language identification for 180+ languages (every language with ≥1M speakers): ISO 639-3 code, ISO 639-1 code and English name, with ranked candidates and a confidence margin. Single text or batches up to 100.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x15459498e1191d8787c83177809bd54022fA18c4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"text":"Der schnelle braune Fuchs springt über den faulen Hund."},"bodyType":"json","method":"POST","type":"http"},"output":{"body":{"candidates":"array — { iso6393, iso6391, name, score }","confidence":"number 0-1 — margin between the top two candidates","language":"object|null — { iso6393, iso6391, name }","results":"array (batch mode)"},"bodyType":"json","example":{"candidates":[{"iso6391":"de","iso6393":"deu","name":"German","score":1},{"iso6391":null,"iso6393":"nds","name":"Low German","score":0.39}],"chars":54,"confidence":0.61,"language":{"iso6391":"de","iso6393":"deu","name":"German"},"model":"franc trigram model (ISO 639-3 codes)"}}},"routeTemplate":"/lang","schema":{"properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"only":{"description":"Restrict to these ISO 639-3 codes (e.g. [\"eng\",\"deu\",\"fra\"]).","items":{"type":"string"},"type":"array"},"text":{"description":"Text to identify (≥10 characters).","type":"string"},"texts":{"description":"Batch of texts.","items":{"type":"string"},"maxItems":100,"type":"array"},"top":{"description":"Number of ranked candidates to return (1-10, default 3).","type":"integer"}},"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"}}}}},"tags":["bazaar"],"sourceHost":"workbot1.oddsys.org","lastUpdated":"2026-09-17T09:03:43.337Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-09-17T09:03:43.209Z"},"liveness":{},"verified":false,"featured":false},{"id":8669,"slug":"8669","resource":"https://workbot1.oddsys.org/tokens","description":"Exact BPE token counts for OpenAI-family encodings (o200k_base for GPT-4o/4.1/5, cl100k_base for GPT-4/3.5/embeddings), single text or batches, with optional truncation to a token budget. Up to 512 KB per call.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x15459498e1191d8787c83177809bd54022fA18c4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"encoding":"o200k_base","text":"The quick brown fox jumps over the lazy dog."},"bodyType":"json","method":"POST","type":"http"},"output":{"body":{"chars":"number","encoding":"string","models":"string — which model families use it","results":"array (batch mode) — { tokens, chars, truncated? }; totalTokens","tokens":"number","truncated":"string (only when truncate given and exceeded)"},"bodyType":"json","example":{"chars":44,"encoding":"o200k_base","models":"gpt-4o, gpt-4.1, gpt-5 family, o-series","tokens":10}}},"routeTemplate":"/tokens","schema":{"properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"encoding":{"description":"BPE encoding (default o200k_base).","enum":["o200k_base","cl100k_base"],"type":"string"},"text":{"description":"Text to count.","type":"string"},"texts":{"description":"Batch of texts.","items":{"type":"string"},"maxItems":100,"type":"array"},"truncate":{"description":"Token budget — when exceeded the response includes the text cut to this many tokens.","type":"integer"}},"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"}}}}},"tags":["bazaar"],"sourceHost":"workbot1.oddsys.org","lastUpdated":"2026-09-17T09:03:41.054Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-09-17T09:03:40.89Z"},"liveness":{},"verified":false,"featured":false},{"id":8670,"slug":"8670","resource":"https://workbot1.oddsys.org/validate","description":"Validate JSON against a JSON Schema (draft-07, 2019-09, 2020-12, with string formats): every violation with path, keyword and message. One instance, a JSON string, or up to 100 instances against one schema.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x15459498e1191d8787c83177809bd54022fA18c4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"2000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"data":{"age":36,"email":"ada@example.com"},"schema":{"properties":{"age":{"minimum":0,"type":"integer"},"email":{"format":"email","type":"string"}},"required":["email"],"type":"object"}},"bodyType":"json","method":"POST","type":"http"},"output":{"body":{"draft":"string","errors":"array — { path, keyword, message, params, schemaPath }","results":"array (items mode) — { index, valid, errors }","valid":"boolean"},"bodyType":"json","example":{"draft":"draft-07","errors":[],"valid":true}}},"routeTemplate":"/validate","schema":{"properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"data":{"description":"The instance to validate (any JSON value)."},"dataText":{"description":"The instance as a JSON string (parsed first; parse errors are reported as a violation).","type":"string"},"items":{"description":"Validate many instances against the one schema.","maxItems":100,"type":"array"},"schema":{"description":"JSON Schema (draft-07 default; $schema may select 2019-09 or 2020-12). Remote $ref is rejected.","type":"object"}},"required":["schema"],"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"}}}}},"tags":["bazaar"],"sourceHost":"workbot1.oddsys.org","lastUpdated":"2026-09-17T09:03:35.419Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-09-17T09:03:35.236Z"},"liveness":{},"verified":false,"featured":false},{"id":8671,"slug":"8671","resource":"https://workbot1.oddsys.org/tz","description":"Time-zone conversion on the IANA database: convert a time between zones with offsets, abbreviations and DST flags, describe zones at an instant, or compute the shared business-hours window across several zones for meeting scheduling.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x15459498e1191d8787c83177809bd54022fA18c4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"from":"Europe/Berlin","time":"2026-09-17T14:00","to":["America/New_York","Asia/Tokyo"]},"bodyType":"json","method":"POST","type":"http"},"output":{"body":{"from":"object — { zone, local, offset, offsetMinutes, abbreviation, weekday, isDST, observesDST }","instant":"string (UTC ISO)","overlap":"object (overlap mode) — { minutes, utc, local[] } or null","results":"array of the same shape per target zone","unix":"number"},"bodyType":"json","example":{"from":{"abbreviation":"GMT+2","isDST":true,"local":"2026-09-17T14:00:00","observesDST":true,"offset":"+02:00","offsetMinutes":120,"weekday":"Thu","zone":"Europe/Berlin"},"input":{"interpretedIn":"Europe/Berlin","time":"2026-09-17T14:00"},"instant":"2026-09-17T12:00:00.000Z","results":[{"abbreviation":"EDT","isDST":true,"local":"2026-09-17T08:00:00","observesDST":true,"offset":"-04:00","offsetMinutes":-240,"weekday":"Thu","zone":"America/New_York"},{"abbreviation":"GMT+9","isDST":false,"local":"2026-09-17T21:00:00","observesDST":false,"offset":"+09:00","offsetMinutes":540,"weekday":"Thu","zone":"Asia/Tokyo"}],"unix":1789646400}}},"routeTemplate":"/tz","schema":{"properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"from":{"description":"IANA zone the naive time is in (default UTC).","type":"string"},"list":{"description":"true → return all supported IANA zone ids.","type":"boolean"},"overlap":{"description":"{ zones: [...], date?: YYYY-MM-DD, hours?: [9,17] } — shared business-hours window across zones.","type":"object"},"time":{"description":"ISO 8601 time. Without an offset it is read as wall-clock time in from (default: now).","type":"string"},"to":{"description":"Target zone or zones (≤50).","items":{"type":"string"},"type":["string","array"]},"zones":{"description":"Alias of to.","items":{"type":"string"},"type":"array"}},"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"}}}}},"tags":["bazaar"],"sourceHost":"workbot1.oddsys.org","lastUpdated":"2026-09-17T09:03:33.026Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-09-17T09:03:32.841Z"},"liveness":{},"verified":false,"featured":false},{"id":8672,"slug":"8672","resource":"https://workbot1.oddsys.org/holidays","description":"Public holidays for ~200 countries and their subdivisions, plus business-day arithmetic: is this date a holiday or business day, next business day, add N business days, count business days between dates. Configurable weekend and holiday types.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x15459498e1191d8787c83177809bd54022fA18c4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"2000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"country":"US","days":3,"from":"2026-12-24"},"bodyType":"json","method":"POST","type":"http"},"output":{"body":{"businessDays":"number (range mode); calendarDays; holidays[]","calendar":"object — { country, countryName, state?, types, weekend, source }","holidays":"array (year mode) — { date, name, type, substitute? }","isBusinessDay":"boolean (date mode); isHoliday; holidays[]; nextBusinessDay","result":"string (days mode) — resulting date; weekday; skipped { weekendDays, holidays }"},"bodyType":"json","example":{"calendar":{"country":"US","countryName":"United States of America","source":"date-holidays ruleset (data CC-BY-3.0, attribution required if redistributed)","types":["public"],"weekend":["Sunday","Saturday"]},"days":3,"from":"2026-12-24","result":"2026-12-30","skipped":{"holidays":[{"date":"2026-12-25","name":"Christmas Day"}],"weekendDays":2},"weekday":"Wednesday"}}},"routeTemplate":"/holidays","schema":{"properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"country":{"description":"2-letter ISO country code (required).","type":"string"},"date":{"description":"YYYY-MM-DD — is this date a holiday / business day, and the next business day.","type":"string"},"days":{"description":"Add this many business days to from (negative to subtract).","type":"integer"},"from":{"description":"YYYY-MM-DD start date for days/to modes.","type":"string"},"region":{"description":"Sub-subdivision code where the ruleset has one.","type":"string"},"state":{"description":"Subdivision code (e.g. CA for US-California, NSW for AU).","type":"string"},"to":{"description":"YYYY-MM-DD — count business days in [from, to] and list holidays inside.","type":"string"},"types":{"description":"Holiday types that block a business day (default [public]).","items":{"enum":["public","bank","school","optional","observance"],"type":"string"},"type":"array"},"weekend":{"description":"Weekend weekdays 0=Sunday…6=Saturday (default [0,6]).","items":{"type":"integer"},"type":"array"},"year":{"description":"List all holidays in this year (default: current year) when no date/from is given.","type":"integer"}},"required":["country"],"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"}}}}},"tags":["bazaar"],"sourceHost":"workbot1.oddsys.org","lastUpdated":"2026-09-17T09:03:30.637Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-09-17T09:03:30.459Z"},"liveness":{},"verified":false,"featured":false},{"id":8673,"slug":"8673","resource":"https://workbot1.oddsys.org/iban","description":"Validate and decompose IBANs (checksum, country format, IBAN registry, SEPA membership; bank/branch/account parts) and BIC/SWIFT codes. Batches up to 100. Format validation only — does not prove an account exists.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x15459498e1191d8787c83177809bd54022fA18c4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"2000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"iban":"GB82 WEST 1234 5698 7654 32"},"bodyType":"json","method":"POST","type":"http"},"output":{"body":{"bic":"object — { input, bic, valid, errors, bankCode, countryCode, locationCode, branchCode, testBIC }","bics":"array (batch mode)","iban":"object — { input, iban, valid, errors, countryCode, formatted, bban, bankIdentifier, branchIdentifier, accountNumber, sepa, inRegistry, length }","ibans":"array (batch mode)","source":"string"},"bodyType":"json","example":{"iban":{"accountNumber":"98765432","bankIdentifier":"WEST","bban":"WEST12345698765432","branchIdentifier":"123456","countryCode":"GB","errors":[],"formatted":"GB82 WEST 1234 5698 7654 32","iban":"GB82WEST12345698765432","inRegistry":true,"input":"GB82 WEST 1234 5698 7654 32","length":22,"sepa":true,"valid":true},"source":"ibantools registry (IBAN registry + SEPA membership); format and checksum validation only — does not prove the account exists"}}},"routeTemplate":"/iban","schema":{"properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"bic":{"description":"One BIC/SWIFT code (8 or 11 chars).","type":"string"},"bics":{"description":"Batch of BICs.","items":{"type":"string"},"maxItems":100,"type":"array"},"iban":{"description":"One IBAN (spaces allowed).","type":"string"},"ibans":{"description":"Batch of IBANs.","items":{"type":"string"},"maxItems":100,"type":"array"}},"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"}}}}},"tags":["bazaar"],"sourceHost":"workbot1.oddsys.org","lastUpdated":"2026-09-17T09:03:28.712Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-09-17T09:03:28.062Z"},"liveness":{},"verified":false,"featured":false},{"id":8674,"slug":"8674","resource":"https://workbot1.oddsys.org/verify-sig","description":"Verify EVM signatures offline: EIP-191 personal messages, EIP-712 typed data, and x402/EIP-3009 payment authorizations (paste a raw Payment-Signature header) — recovers the signing wallet, checks it against an expected address, and reports the authorization's amount, payee and validity window. No chain reads.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x15459498e1191d8787c83177809bd54022fA18c4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"2000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"address":"0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf","message":"Busker x402 verify-sig example","signature":"0x8f83ce1348bb56eb6d7ede8f6c6787adc3897839e686a0b305fb87e7cd248d5555c7405f0e776b995be1971d6ed71a95541d19635e354f807d94c9326c22a1cb1c"},"bodyType":"json","method":"POST","type":"http"},"output":{"body":{"amount":"object — { usdc } for known USDC contracts","authorization":"object (authorization modes) — from, to, value, validAfter, validBefore, nonce","checks":"object (x402-header) — payToMatches, amountMatches, network, scheme","matches":"boolean (when address given) / matchesFrom (authorization modes)","messageHash":"string (eip191) / digest (typed modes)","mode":"string (eip191|eip712|eip3009|x402-header)","signer":"string|null — recovered EOA","valid":"boolean — signature recovered to an address","window":"object — { validAfter, validBefore, validNow }"},"bodyType":"json","example":{"address":"0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf","matches":true,"messageHash":"0x0c9b1f4d5f2b6e7a4d3c2b1a0f9e8d7c6b5a4f3e2d1c0b9a8f7e6d5c4b3a2f1e","mode":"eip191","signer":"0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf","valid":true}}},"routeTemplate":"/verify-sig","schema":{"properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"description":"Exactly one of: message (EIP-191), typedData (EIP-712), authorization (EIP-3009 / x402 exact-EVM), paymentHeader (raw base64 Payment-Signature or X-Payment header). signature is required except with paymentHeader.","properties":{"address":{"description":"Expected signer; when given the response carries a matches boolean.","type":"string"},"authorization":{"description":"EIP-3009 TransferWithAuthorization fields { from, to, value, validAfter, validBefore, nonce } (the x402 payload.authorization object).","type":"object"},"domain":{"description":"Explicit EIP-712 domain { name, version, chainId, verifyingContract } for a non-USDC token.","type":"object"},"message":{"description":"Plain message that was signed with personal_sign (EIP-191).","type":"string"},"network":{"description":"CAIP-2 network for authorization mode (default eip155:8453 = USDC on Base).","type":"string"},"paymentHeader":{"description":"Raw base64 value of an x402 Payment-Signature / X-Payment header; decoded and verified in one step.","type":"string"},"signature":{"description":"0x-prefixed 65-byte signature.","type":"string"},"typedData":{"description":"EIP-712 payload { domain, types, primaryType, message } exactly as signed.","type":"object"}},"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"}}}}},"tags":["bazaar"],"sourceHost":"workbot1.oddsys.org","lastUpdated":"2026-09-17T09:03:27.333Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-09-17T09:03:25.703Z"},"liveness":{},"verified":false,"featured":false},{"id":8675,"slug":"8675","resource":"https://workbot1.oddsys.org/qr","description":"Generate a QR code from text as PNG (base64) or SVG. Custom module size, quiet-zone margin, and hex colours. Deterministic, capacity-capped at 2953 bytes. Set delivery to \"url\" to receive a short-lived download link instead of inline data.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x15459498e1191d8787c83177809bd54022fA18c4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"5000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"dark":"#000000","format":"png","light":"#ffffff","margin":2,"scale":4,"text":"https://example.com"},"bodyType":"json","method":"POST","type":"http"},"output":{"body":{"dataBase64":"string (png, inline delivery) | absent","downloadsRemaining":"number (url delivery)","expiresAt":"string (url delivery)","format":"string","meta":{"inputBytes":"number","margin":"number","modules":"number","pixels":"number","scale":"number"},"svg":"string (svg, inline delivery) | absent","url":"string (url delivery) — expiring download link"},"bodyType":"json","example":{"dataBase64":"iVBORw0KGgoAAAANSUhEUgAA…","format":"png","meta":{"dark":"#000000","errorCorrection":"M","inputBytes":23,"light":"#ffffff","margin":2,"modules":25,"outputBytes":412,"pixels":116,"scale":4}}}},"routeTemplate":"/qr","schema":{"properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"dark":{"description":"Hex colour of the data modules (default #000000).","type":"string"},"delivery":{"description":"inline (default) = data in the response body; url = a short-lived download link (expires after ~15 min or a small download budget) — hand it to a user or client script instead of carrying the bytes.","enum":["inline","url"],"type":"string"},"downloads":{"description":"url delivery only: download budget before the link dies (1-3, default 2).","type":"number"},"format":{"description":"Output format (default png).","enum":["png","svg"],"type":"string"},"light":{"description":"Hex colour of the background (default #ffffff).","type":"string"},"margin":{"description":"Quiet-zone width in modules (0-16, default 2).","type":"number"},"scale":{"description":"Pixels per QR module, PNG only (1-20, default 4).","type":"number"},"text":{"description":"Content to encode (max 2953 bytes utf8 — QR capacity).","type":"string"}},"required":["text"],"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"}}}}},"tags":["bazaar"],"sourceHost":"workbot1.oddsys.org","lastUpdated":"2026-08-30T15:21:26.693Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-08-30T15:21:25.74Z"},"liveness":{},"verified":false,"featured":false},{"id":8676,"slug":"8676","resource":"https://workbot1.oddsys.org/fetch","description":"Fetch a public web page and return clean markdown (or structured JSON) — URL in, agent-ready content out, typically 80-85% fewer tokens than raw HTML. Handles redirects and compression.","type":"http","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x15459498e1191d8787c83177809bd54022fA18c4","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"5000","maxTimeoutSeconds":300}],"outputSchema":{"bazaar":{"info":{"input":{"body":{"format":"markdown","url":"https://example.com/article"},"bodyType":"json","method":"POST","type":"http"},"output":{"body":{"extracted":"boolean","markdown":"string","meta":{"estInputTokens":"number","estOutputTokens":"number","inputBytes":"number","outputChars":"number"},"source":{"bytes":"number","httpStatus":"number","url":"string (final URL after redirects)"},"title":"string|null"},"bodyType":"json","example":{"extracted":false,"markdown":"# Example Domain\n\nThis domain is for use in documentation examples.","meta":{"estInputTokens":314,"estOutputTokens":17,"inputBytes":1256,"outputChars":68},"source":{"bytes":1256,"httpStatus":200,"url":"https://example.com/"},"title":"Example Domain"}}},"routeTemplate":"/fetch","schema":{"properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"format":{"description":"markdown (default) = clean prose; extract = structured JSON (title, byline, meta, JSON-LD, links).","enum":["markdown","extract"],"type":"string"},"url":{"description":"Public http/https URL of the page to fetch. May also be passed as the ?url= query parameter with an empty body.","type":"string"}},"required":["url"],"type":"object"},"bodyType":{"enum":["json"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"}}}}},"tags":["bazaar"],"sourceHost":"workbot1.oddsys.org","lastUpdated":"2026-08-24T04:10:40.741Z","quality":{"calls30d":1,"uniquePayers30d":1,"lastCalledAt":"2026-08-24T04:10:40.044Z"},"liveness":{},"verified":false,"featured":false}]}