{"info":{"title":"Coinslot","version":"1.0.0"},"openapi":"3.1.0","paths":{"/api/convert":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Convert","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Convert an array of JSON objects to CSV (nested keys become dot-path columns) or CSV back to JSON. POST { direction: 'json-to-csv'|'csv-to-json', data }."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Convert","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Convert an array of JSON objects to CSV (nested keys become dot-path columns) or CSV back to JSON. POST { direction: 'json-to-csv'|'csv-to-json', data }."}},"/api/cron":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Cron","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Parse a 5-field cron expression: get a plain-English explanation and the next N run times (UTC). POST { expression, count?, from? }."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Cron","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Parse a 5-field cron expression: get a plain-English explanation and the next N run times (UTC). POST { expression, count?, from? }."}},"/api/email-verify":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"3000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Email Verify","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Check an email address: RFC syntax, live MX records via DNS-over-HTTPS, and disposable-domain screening. POST { email } or { emails: [...] } (max 20)."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"3000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Email Verify","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Check an email address: RFC syntax, live MX records via DNS-over-HTTPS, and disposable-domain screening. POST { email } or { emails: [...] } (max 20)."}},"/api/extract":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"3000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Extract","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Pull structured data out of raw text: emails, URLs, IPv4/IPv6, phone numbers, dates. Deduplicated with counts. POST { text } (max 500KB)."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"3000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Extract","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Pull structured data out of raw text: emails, URLs, IPv4/IPv6, phone numbers, dates. Deduplicated with counts. POST { text } (max 500KB)."}},"/api/feed-to-json":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Feed To Json","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Parse an RSS 2.0 or Atom feed into clean JSON: title, items with link/date/summary, HTML stripped. POST { xml } (max 1MB) or { url } to fetch."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Feed To Json","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Parse an RSS 2.0 or Atom feed into clean JSON: title, items with link/date/summary, HTML stripped. POST { xml } (max 1MB) or { url } to fetch."}},"/api/html-to-markdown":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"5000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Html To Markdown","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Convert HTML to clean Markdown: headings, links, images, lists, tables, code blocks, emphasis. Strips scripts, styles, and comments. POST { html } (max 500KB)."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"5000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Html To Markdown","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Convert HTML to clean Markdown: headings, links, images, lists, tables, code blocks, emphasis. Strips scripts, styles, and comments. POST { html } (max 500KB)."}},"/api/json-schema-validate":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"3000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Json Schema Validate","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Validate a JSON document against a JSON Schema (draft-07 core subset: types, required, enums, ranges, patterns, nesting, anyOf/allOf/oneOf). Returns all violations with paths. POST { schema, data }."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"3000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Json Schema Validate","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Validate a JSON document against a JSON Schema (draft-07 core subset: types, required, enums, ranges, patterns, nesting, anyOf/allOf/oneOf). Returns all violations with paths. POST { schema, data }."}},"/api/markdown-to-html":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"3000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Markdown To Html","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Render Markdown (GitHub-flavored: tables, fenced code, task lists) to clean HTML with raw inline HTML stripped. POST { markdown } (max 500KB)."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"3000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Markdown To Html","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Render Markdown (GitHub-flavored: tables, fenced code, task lists) to clean HTML with raw inline HTML stripped. POST { markdown } (max 500KB)."}},"/api/qr":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"5000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Qr","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Generate a QR code as standalone SVG. POST { text, ecLevel?: 'L'|'M'|'Q'|'H', margin?: 0-8, dark?, light? } (text max 2KB)."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"5000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Qr","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Generate a QR code as standalone SVG. POST { text, ecLevel?: 'L'|'M'|'Q'|'H', margin?: 0-8, dark?, light? } (text max 2KB)."}},"/api/read-page":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"5000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Read Page","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Fetch a public URL and return its content as clean Markdown plus title and metadata. One call instead of fetch + parse + convert. POST { url, maxBytes? } (default 1MB cap)."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"5000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Read Page","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Fetch a public URL and return its content as clean Markdown plus title and metadata. One call instead of fetch + parse + convert. POST { url, maxBytes? } (default 1MB cap)."}},"/api/timezone":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Timezone","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Convert a timestamp between IANA timezones with DST handled correctly. Returns local times, UTC offsets, weekday, and hour-of-day per zone. POST { time?, from?, to } — to is a zone or array (max 20)."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Timezone","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Convert a timestamp between IANA timezones with DST handled correctly. Returns local times, UTC offsets, weekday, and hour-of-day per zone. POST { time?, from?, to } — to is a zone or array (max 20)."}},"/api/validate-ids":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"3000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Validate Ids","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Validate identifiers with real checksum math: credit card (Luhn + brand), IBAN (mod-97), EAN-13/UPC-A, ISBN-10/13, UUID (with version). POST { type, value } or { items: [{type, value}] } (max 50)."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"3000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Coinslot: Api Validate Ids","intent":"charge","method":"evm","recipient":"0x31f767855Ee8F03fe313ab6A3929eBbf16EB42aB"}]},"summary":"Validate identifiers with real checksum math: credit card (Luhn + brand), IBAN (mod-97), EAN-13/UPC-A, ISBN-10/13, UUID (with version). POST { type, value } or { items: [{type, value}] } (max 50)."}}},"x-service-info":{"description":"Coinslot is an x402-native service at https://coinslot.dev, indexed from the x402 Bazaar (Coinbase's public discovery directory). It charges callers itself in USDC on Base and is paid directly at its own wallet; Monex Protocol passes your request and payment headers through untouched. 12 endpoints listed."}}