Card snapshot
toolshed.lemon-agent.dev
·
2026-10-12 15:48:03 UTC
·
8e30d021daebba2dae2fb1107eb1f7daf9ac07bb6336a58bdc2073b49f8b0b6e
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"_source": "agentic.market",
"service": {
"id": "toolshed-lemon-agent-dev",
"name": "toolshed.lemon-agent.dev",
"description": "",
"domain": "toolshed.lemon-agent.dev",
"provider": "toolshed.lemon-agent.dev",
"providerUrl": "",
"category": "",
"networks": [
"Base",
"solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp"
],
"enriched": false,
"endpoints": [
{
"url": "https://toolshed.lemon-agent.dev/convert/csv-json",
"description": "CSV to JSON conversion",
"pricing": {
"amount": "0.002",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
},
{
"url": "https://toolshed.lemon-agent.dev/convert/csv-yaml",
"description": "CSV to YAML. POST a CSV file with a header row; the response is block-style YAML \u2014 a list of maps, one per data row. Parsed to RFC 4180, so quoted commas and embedded newlines survive. Every value stays a string: no type guessing, which is what keeps leading zeros and long ids intact.",
"pricing": {
"amount": "0.002",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
},
{
"url": "https://toolshed.lemon-agent.dev/convert/frontmatter-json",
"description": "Markdown frontmatter to JSON. POST a Markdown file that begins with a --- fence; the response is {\"data\": the parsed YAML frontmatter, \"content\": the body returned byte for byte}. A file with no opening fence is refused rather than reported as having no metadata, because a mistyped fence should not look like an empty one.",
"pricing": {
"amount": "0.004",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
},
{
"url": "https://toolshed.lemon-agent.dev/convert/html-json",
"description": "HTML tables to JSON. POST an HTML page; the response is {\"tables\": [{caption, columns, rows}]} \u2014 every <table> read into row objects keyed by its header cells, in the same shape whether the page has one table or nine. Values stay strings with whitespace collapsed. colspan and rowspan are NOT expanded, and a page with no table is refused.",
"pricing": {
"amount": "0.006",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
},
{
"url": "https://toolshed.lemon-agent.dev/convert/html-markdown",
"description": "HTML to Markdown conversion",
"pricing": {
"amount": "0.006",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
},
{
"url": "https://toolshed.lemon-agent.dev/convert/html-text",
"description": "HTML to readable plain text. POST an HTML file; the response is its prose. The page is parsed with a real DOM, so script, style, noscript, nav, header, footer and aside are dropped WITH their contents, block elements become paragraph breaks, and <pre> is preserved verbatim. Links become their text, not their URL.",
"pricing": {
"amount": "0.006",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
},
{
"url": "https://toolshed.lemon-agent.dev/convert/json-csv",
"description": "JSON to CSV. POST an array of objects; the response is a CSV file whose header row is the union of every record's keys in first-seen order, so a record missing a key gets an empty cell instead of a shifted row. One level of nesting flattens to dotted columns (user.id); deeper values and arrays are written as compact JSON in the cell. RFC 4180 quoting.",
"pricing": {
"amount": "0.002",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
},
{
"url": "https://toolshed.lemon-agent.dev/convert/json-ndjson",
"description": "JSON array to NDJSON. POST a JSON array; the response is one compact JSON value per line \u2014 the shape streaming loaders, log shippers and jq pipelines take. A non-array input is refused rather than emitted as a stream of one, because that is the mistake this endpoint exists to catch.",
"pricing": {
"amount": "0.002",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
},
{
"url": "https://toolshed.lemon-agent.dev/convert/json-toml",
"description": "JSON to TOML. POST a JSON object; the response is a TOML document. The root must be an object, because TOML's root is a table, and a null anywhere in the document is refused \u2014 TOML has no spelling for one. Both are errors rather than a file that quietly parses to something you did not write.",
"pricing": {
"amount": "0.004",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
},
{
"url": "https://toolshed.lemon-agent.dev/convert/json-yaml",
"description": "JSON to YAML. POST any JSON value; the response is block-style YAML \u2014 the readable, indented form, not flow style. Any top-level shape is accepted, not just an object. There are no comments to preserve in either direction, because JSON has none.",
"pricing": {
"amount": "0.002",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": {
"l30DaysTotalCalls": "1",
"l30DaysUniquePayers": "1"
}
},
{
"url": "https://toolshed.lemon-agent.dev/convert/markdown-json",
"description": "Markdown to a JSON token tree. POST Markdown; the response is {\"toc\": [{depth, text}], \"tokens\": [...]} \u2014 the marked lexer's token stream plus a table of contents derived from the real headings. The document's structure without rendering it to HTML and parsing that back. A bold line pretending to be a heading was never structure and is not in the toc.",
"pricing": {
"amount": "0.004",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
},
{
"url": "https://toolshed.lemon-agent.dev/convert/md-html",
"description": "Markdown to HTML. POST a Markdown file; the response is an HTML FRAGMENT \u2014 CommonMark plus GitHub tables, no <html> wrapper and no stylesheet. It does not sanitize: raw HTML in the input passes through, so sanitize before rendering untrusted output into a page.",
"pricing": {
"amount": "0.004",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": {
"l30DaysTotalCalls": "3",
"l30DaysUniquePayers": "1"
}
},
{
"url": "https://toolshed.lemon-agent.dev/convert/ndjson-json",
"description": "NDJSON to a JSON array. POST newline-delimited JSON; the response is a pretty-printed array of the parsed values. Blank lines are skipped and a line that does not parse is refused naming the 1-based line number \u2014 which is the reason to run a parser over a log file instead of wrapping it in brackets.",
"pricing": {
"amount": "0.002",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
},
{
"url": "https://toolshed.lemon-agent.dev/convert/srt-vtt",
"description": "SubRip to WebVTT. POST an .srt file; the response is a .vtt file \u2014 a WEBVTT header and timestamps written with a decimal point instead of a comma. Cue numbers are kept as WebVTT cue identifiers and caption text is passed through untouched, so a comma inside a line of dialogue is not mistaken for a timestamp separator.",
"pricing": {
"amount": "0.002",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
},
{
"url": "https://toolshed.lemon-agent.dev/convert/toml-json",
"description": "TOML to JSON. POST a TOML document; the response is pretty-printed JSON. A conforming parser handles the parts hand-rolled readers get wrong \u2014 dotted keys, arrays of tables, offset date-times. Dates become ISO-8601 strings and comments are dropped, because JSON has neither; this is a read path, not a round trip.",
"pricing": {
"amount": "0.004",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
},
{
"url": "https://toolshed.lemon-agent.dev/convert/vtt-srt",
"description": "WebVTT to SubRip. POST a .vtt file; the response is an .srt file. Cues are renumbered from 1 and hour-less timestamps are expanded to hh:mm:ss,mmm. The WEBVTT header, NOTE/STYLE/REGION blocks and per-cue settings are dropped, because SubRip cannot express them. Input that does not begin with WEBVTT is refused.",
"pricing": {
"amount": "0.002",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
},
{
"url": "https://toolshed.lemon-agent.dev/convert/xml-json",
"description": "XML to JSON. POST an XML document; the response is JSON in fast-xml-parser's convention \u2014 attributes prefixed @_, text content under #text, and repeated sibling elements collapsed into an array (so an element appearing once is an object and twice is an array). Values stay strings; no type guessing. A document carrying a <!DOCTYPE> is refused, because internal entities are an expansion attack.",
"pricing": {
"amount": "0.006",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
},
{
"url": "https://toolshed.lemon-agent.dev/convert/yaml-csv",
"description": "YAML to CSV. POST a YAML list of maps; the response is a CSV file with a header row. The first document of a stream is used and anchors are resolved. One level of nesting flattens to dotted columns; any other top-level shape is refused rather than flattened into a plausible-looking sheet.",
"pricing": {
"amount": "0.002",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
},
{
"url": "https://toolshed.lemon-agent.dev/convert/yaml-json",
"description": "YAML to JSON conversion",
"pricing": {
"amount": "0.002",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "POST",
"providerName": "",
"parameters": [],
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"quality": null
}
],
"integrationType": "",
"isNew": false,
"priceSummary": {
"minAmount": "0.002",
"maxAmount": "0.006",
"avgCostPerTransaction": "0.003368",
"avgCostBasis": "exact",
"currency": "USDC"
},
"serviceName": "Toolshed",
"tags": [
"x402",
"conversion"
],
"iconUrl": ""
}
}